b26fa1a2fbcfee7d03b0c8fd15ec3aa64ae70b9f |
|
10-Feb-2016 |
Daniel Mack <daniel@zonque.org> |
tree-wide: remove Emacs lines from all files
This should be handled fine now by .dir-locals.el, so need to carry that
stuff in every file. |
71d35b6b5563817dfbe757ab9e3b9f018b2db491 |
|
18-Nov-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
tree-wide: sort includes in *.h
This is a continuation of the previous include sort patch, which
only sorted for .c files. |
1c8e710c2b479129c3ad06a0e8e2d21ae4aefd38 |
|
30-Oct-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: route - track routes |
84de38c56915e14c148f558c6acc489a00755696 |
|
21-Oct-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: manager/link - only serialize once per event-loop iteration
Every time the state is written out we may trigger third-party apps, so
let's be a bit more careful about writing this out unnecessarily. |
200a0868fcdf7b95f3d8d1fda3aa2aef48d84fdd |
|
11-Oct-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: address - process in manager.c rather than link.c |
4f5f911e81ae6377ab925c1dd133013c640ab32e |
|
27-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: propagate DNS/NTP server from uplink to dhcp server
When handing out DHCP leases, try to propagate DNS/NTP server
information from "uplink". The "uplink" is automatically determined as
the network interface with the highest priority default route on it. |
fc2f9534d07db2b185c02b1961428b53daf1986e |
|
27-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: split up networkd.h into per-object header files
No functional changes, just moving definitions into separate header
files. |
586ac6f711e2eccceb12421df22fca4f117226c4 |
|
27-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: make DHCP lease timeouts configurable |
8eb9058dc1f99a5eb9b8726a978fcc0720837a10 |
|
26-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
dhcp,network: implement RFC 4833 (DHCP Timezone option)
This one is simply to add: encode the tzdata timezone in the DHCP
options and optionally make use of it. |
a7e5da6e33de9ad9b5bc594fdc74e3e4098a5751 |
|
25-Aug-2015 |
Daniel Mack <daniel@zonque.org> |
sd-network: make LLMNR specific config parser generic
Rename the enum, the lookup functions and the parser for LLMNRSupport so
the type can be reused for mDNS. |
23da66bb402cc6d9bca2eb34e090ccc24dfbf3f5 |
|
25-Jul-2015 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
networkd: rename RootBlock to AllowPortToBeRoot
Justification is similar to BPDUGuard rename. "Positive" values
are easier. This is a rather uncommon option, so using a slightly
longer name should not be a problem, and may in fact may make it
easier to guess what the option does without reading the
documentation. |
84c3409631f48869dcb59c0a74eba6d4ac40ad93 |
|
25-Jul-2015 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
networkd: rename BPDUGuard to UseBPDU
Rename to follow the follow the style of other options.
In general "positive" options are preferred to "negative" ones,
because they are easier to describe and easier for humans to
parse (c.f. the shortening on the man page entry). |
eb7ff4dd5f89bd5f811176be499bbdf9b0da6ec9 |
|
23-Jul-2015 |
Susant Sahani <susant@redhat.com> |
networkd: add bridge link properties
new bridge properties
br.network
[Match]
Name=enp0s25
[Network]
Bridge=br-test
[Bridge]
Cost=332
BPDUGuard = true
HairPin = true
FastLeave = true
RootBlock = true
UnicastFlood = true |
3b50bf800e60a88f6680a3664c9e280b8ba1f64a |
|
16-Jul-2015 |
Susant Sahani <susant@redhat.com> |
networkd: move config_parse_tunnel_address
move config_parse_tunnel_address from networkd.h to
tunnel specific file networkd-netdev-tunnel.h |
a94d64d256d1a2b73c578116f341824eb5d0fab1 |
|
16-Jul-2015 |
Susant Sahani <susant@redhat.com> |
networkd: move config_parse_vxlan_group_address
move config_parse_vxlan_group_address from
networkd.h to networkd-netdev-vxlan.h |
a7d0ef446e5f28b37688743de22052abc8136a94 |
|
10-Jul-2015 |
Susant Sahani <susant@redhat.com> |
networkd: DHCP override hostname
This patch enhances the DHCP client to send the hostname
reference
http://lists.freedesktop.org/archives/systemd-devel/2014-July/021550.html
Tested with
Example conf:
[Match]
Name=eth1
[Network]
DHCP=v4
[DHCP]
SendHostname=true
Hostname=test |
1f0d9695125bf8e66d0e53e37d454755a84899bb |
|
06-Jul-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: various fixes for the IPv6 privacy extensions support
- Make sure that the IPv6PrivacyExtensions=yes results in
prefer-temporary, not prefer-public.
- Introduce special enum value "kernel" to leave setting unset, similar
how we have it for the IP forwarding settings.
- Bring the enum values in sync with the the strings we parse for them,
to the level this makes sense (specifically, rename "disabled" to
"no", and "prefer-temporary" to "yes").
- Make sure we really set the value to to "no" by default, the way it is
already documented in the man page.
- Fix whitespace error.
- Make sure link_ipv6_privacy_extensions() actually returns the correct
enum type, rather than implicitly casting it to "bool".
- properly size formatting buffer for ipv6 sysctl value
- Don't complain if /proc/sys isn't writable
- Document that the enum follows the kernel's own values (0 = off, 1 =
prefer-public, 2 = prefer-temporary)
- Drop redundant negating of error code passed to log_syntax()
- Manpage fixes
This fixes a number of issues from PR #417 |
aa6b0ac449228545618e026e95beb9cc0e32a19d |
|
06-Jul-2015 |
Torstein Husebø <torstein@huseboe.net> |
treewide: fix typos |
49092e22c2893118304bac1b3b706cd88f90590d |
|
05-Jul-2015 |
Susant Sahani <susant@redhat.com> |
networkd: Add support for ipv6 privacy extension
This patch add support for ipv6 privacy extensions.
The variable /proc/sys/net/ipv6/conf/<if>/use_tempaddr
can be changed via the boolean
IPv6PrivacyExtensions=[yes/no/prefer-temporary]
When true enables privacy extensions, but prefer public addresses over
temporary addresses.
prefer-temporary prefers temporary adresses over public addresses.
Defaults to false.
[Match]
Name=enp0s25
[Network]
IPv6PrivacyExtensions=prefer-temporary |
1c4baffc1895809bae9ac36b670af90a4cb9cd7d |
|
13-Jun-2015 |
Tom Gundersen <teg@jklm.no> |
sd-netlink: rename from sd-rtnl |
8add5f79709f323f1b077dde8a4a1aa7f560886f |
|
11-Jun-2015 |
Nick Owens <nick.owens@coreos.com> |
networkd: create "kernel" setting for IPForwarding
In 5a8bcb674f71a20e95df55319b34c556638378ce, IPForwarding was introduced
to set forwarding flags on interfaces in .network files. networkd sets
forwarding options regardless of the previous setting, even if it was
set by e.g. sysctl. This commit creates a new option for IPForwarding,
"kernel", that preserves the sysctl settings rather than always setting
them.
See https://bugs.freedesktop.org/show_bug.cgi?id=89509 for the initial
bug report. |
ee0eb1d891eb0a41fb63368bff264f59cb2bb851 |
|
08-Jun-2015 |
Lennart Poettering <lennart@poettering.net> |
Revert "networkd: create "kernel" setting for IPForwarding" |
a70ec7f19f3375c9eeda9f9a2f4181ca008239fc |
|
03-Jun-2015 |
Nick Owens <nick.owens@coreos.com> |
networkd: create "kernel" setting for IPForwarding
In 5a8bcb674f71a20e95df55319b34c556638378ce, IPForwarding was introduced
to set forwarding flags on interfaces in .network files. networkd sets
forwarding options regardless of the previous setting, even if it was
set by e.g. sysctl. This commit creates a new option for IPForwarding,
"kernel", that preserves the sysctl settings rather than always setting
them.
See https://bugs.freedesktop.org/show_bug.cgi?id=89509 for the initial
bug report. |
6a7a4e4d0a057febab787a2d5d3e0b52d2db2268 |
|
21-Apr-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: improve how networkd logs things
This makes adds a couple of fixes:
- Introduces log_netdev_error_errno() and friends, which takes an error
number, and matches what log_link_error_errno() and friends do.
- Replaces a lof ot strerror() usage with log_netdev_error_errno(),
log_link_error_errno() and log_erro_errno()
- Uppercases the first character of many log messages, after all this is
supposed to be english language
- Drops manual negating of error codes before passing them to log
functions, the log functions all do that internally anyway.
Some other minor fixes.
Behaviour should not change really. |
851c9f82736c89d423b244a292e153ec7124d309 |
|
27-Mar-2015 |
Patrik Flykt <patrik.flykt@linux.intel.com> |
systemd-networkd: Use IFA_F_NOPREFIXROUTE with IPv6 addresses
The IFA_F_NOPREFIXROUTE flag prevents the kernel from creating new onlink
prefixes when a DHCPv6 IPv6 address with a prefix length is set from user
space. IPv6 routing will follow the onlink status from Router Advertisment
Prefix Information options or any manually set route, which is the correct
thing to do.
As this flag has a larger value than what fits into an unsigned char, update
the flag attribute to an uint32_t and set it with an IFA_FLAGS attribute
when writing netlink messages to the kernel. |
3e43b2cd97bd82efe6a09e8b9b2e6b5f33f578a0 |
|
04-Mar-2015 |
Jan Janssen <medhefgo@web.de> |
networkd: Make DHCP client ID creation configurable |
0d4ad91dd4fc831c31a9775b0eadf97fea6cd7f6 |
|
27-Feb-2015 |
Alin Rauta <alin.rauta@intel.com> |
networkd: add support for Uplink Failure Detection
Introduce BindCarrier= to indicate the set of links that determine if
the current link should be brought UP or DOWN.
[tomegun: add a bit to commit message] |
60c35566600f45350c37f152c1093018972bd9a5 |
|
14-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: network - rename ipv6token parser
Too generic name. |
a245ced0d7b0af9ae5438d978e24183672a0a4d9 |
|
11-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: fdb - fix const warning |
5256e00e8b9015dd1a976d647fc71dc7efbd8cf8 |
|
10-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
net: support globbing and disjunction in Match logic
Match{Name,OrginalName,Type,Driver,Path} can now take a space-separated glob of matches. |
ea6ec096db5f9f3562b9bbf438da7fe21411c74d |
|
10-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: fdb - refactor a bit
Pass around Link objcets rather than FdbEntry objects. The link objects have an up-to-date
ifname we can use for logging. match_name sholud _never_ be used for anything except
matching. Firstly, it may be unset (usually is), and secondly it may not be up-to-date. |
769b56a308c3f3d3952eda87fd4fb004207f4f49 |
|
09-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: support route scopes
For now we only support the hardcoded values RT_SCOPE_{UNIVERSE,LOCAL,HOST},
and not numerical values or values from /etc/iproute2/rt_scopes.
This addresses https://bugs.freedesktop.org/show_bug.cgi?id=88508. |
7f77697a1744f8df2089848b9d718faf7ba6c665 |
|
09-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: add support for IPv6 tokens
This allows the admin to set the host-specific part of IPv6 addresses, but still
receive the prefix via SLAAC.
.network file snippet:
[Network]
IPv6Token=::12
gives:
$ ip token
token ::12 dev eth0
This closes https://bugs.freedesktop.org/show_bug.cgi?id=81177. |
d0d6a4cd70477970812bff0a37e70f66208d7c14 |
|
09-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: generalize IPv4LL to LinkLocal
This allows both IPv4 and IPv6 link-local addresses to be enabled or disabled. By default
we still enable IPv6LL and disable IPv4LL. The old config option is kept for backwards
compatibility, but removed from the documentation. |
3175fcdec5d748e8db85a3e7fe1cb67f5f6a865d |
|
08-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: add basic org.freedesktop.network1.Network interface |
dbffab87f1504abc9f189dd253111693c99fbd9a |
|
08-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: add network_get_by_name |
8f203c166ecb24f904a068f2d8f0c636c1511a8f |
|
05-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: move the connection to the bus out of manager_new (again)
This would otherwise make the tests fail as we cannot grab the bus name. |
a97dcc12e486ecff531809802930a26c4da827f2 |
|
05-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: exit on idle
We will be woken up on rtnl or dbus activity, so let's just quit if some time has passed and that is the only thing that can happen.
Note that we will always stay around if we expect network activity (e.g. DHCP is enabled), as we are not restarted on that. |
e331e24649213f2e093e16e4d3d64ee823dfc375 |
|
05-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: add basic dbus API
Only the very basics, more to come.
For now:
$ busctl tree org.freedesktop.network1
└─/org/freedesktop/network1
└─/org/freedesktop/network1/link
├─/org/freedesktop/network1/link/1
├─/org/freedesktop/network1/link/2
├─/org/freedesktop/network1/link/3
├─/org/freedesktop/network1/link/4
├─/org/freedesktop/network1/link/5
├─/org/freedesktop/network1/link/6
├─/org/freedesktop/network1/link/7
├─/org/freedesktop/network1/link/8
└─/org/freedesktop/network1/link/9
$ busctl introspect org.freedesktop.network1 /org/freedesktop/network1
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.network1.Manager interface - - -
.OperationalState property s "carrier" emits-change
$ busctl introspect org.freedesktop.network1 /org/freedesktop/network1/link/1
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.network1.Link interface - - -
.AdministrativeState property s "unmanaged" emits-change
.OperationalState property s "carrier" emits-change |
6a24f1484fcc1f59f89617afbe4282667a358eab |
|
05-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: don't warn about missing links unnecessarily
If we get a NEWLINK + NEWADDR between enumerating the links and enumerating the addresses, we
would get a warning that the link corresponding to the address does not exist. This is a false
warning as both the NEWLINK and NEWADDR would be processed after enumerating completed, so drop
it. |
5fae368bda9419d9d378ea32077c8fd183dd4b81 |
|
03-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: refactor socket activation a bit |
9c0a72f961e00b0447767973e7117e131bea5b5d |
|
03-Feb-2015 |
Tom Gundersen <teg@jklm.no> |
networkd: handle suspend events |
769d324c99aab129148bd25f5f663ef441287d86 |
|
13-Jan-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: make IP forwarding for IPv4 and IPv6 individually configurable |
fd6d906cf46ecef45ebbb5a361e1dc436f031d7a |
|
13-Jan-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: rename misnamed boolean |
cb9fc36a1211967e8c58b0502a26c42552ac8060 |
|
13-Jan-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: introduce an AddressFamilyBoolean enum type
This introduces am AddressFamilyBoolean type that works more or less
like a booleaan, but can optionally turn on/off things for ipv4 and ipv6
independently. THis also ports the DHCP field over to it. |
5a8bcb674f71a20e95df55319b34c556638378ce |
|
13-Jan-2015 |
Lennart Poettering <lennart@poettering.net> |
networkd: add minimal IP forwarding and masquerading support to .network files
This adds two new settings to networkd's .network files:
IPForwarding=yes and IPMasquerade=yes. The former controls the
"forwarding" sysctl setting of the interface, thus controlling whether
IP forwarding shall be enabled on the specific interface. The latter
controls whether a firewall rule shall be installed that exposes traffic
coming from the interface as coming from the local host to all other
interfaces.
This also enables both options by default for container network
interfaces, thus making "systemd-nspawn --network-veth" have network
connectivity out of the box. |
ce43e484465050c619ea9a1991d49b3d6215028b |
|
19-Dec-2014 |
Susant Sahani <susant@redhat.com> |
networkd: integrate LLDP
This patch integrates LLDP with networkd.
Example conf:
file : lldp.network
[Match]
Name=em1
[Network]
LLDP=yes |
b98b483bac585af754e8a22ea890db8486905d8a |
|
18-Dec-2014 |
Alin Rauta <alin.rauta@intel.com> |
networkd: add FDB support |
45af44d47da6933b260c734ad9ff721f63f80a4d |
|
08-Dec-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: manager - enumerate addresses globally, rather than per-link
The kernel always returns all addresses, rather than only for the given link, so let's only enumerate once. |
c106cc36b9b8e8998eb95299b02f1db9c1209122 |
|
05-Dec-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add basic [Link] settings to .network files
This allows the default link settings (set in .link files) to be overridden per Network. Only MTU and MACAddress is supported for now. |
9e7e440835c43d81ffdbc299d2c07daaa641ed50 |
|
04-Dec-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add support for source routing |
e1853b00ef7cb56cafd908327dd44b3ab48b402c |
|
04-Dec-2014 |
Susant Sahani <susant@redhat.com> |
networkd: Add bridge port path cost
This patch add support to specify path cost of the
bridge port to be configured via conf file.
Exampe: conf
file: br.netdev
[NetDev]
Name=br-test
Kind=bridge
file: br.network
[Match]
Name=em1
[Network]
Bridge=br-test
[BridgePort]
Cost=332
bridge link
2: em1 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master
br-test state disabled priority 32 cost 332 |
85a8eeee36b57c1ab382b0225fa9a87525bbeee9 |
|
04-Dec-2014 |
Susant Sahani <susant@redhat.com> |
networkd: support vxlan parameters
V3: fix copy paste error
V4: Make manual and config more readable
Add vxlan paramertes to config. |
ac3ab439f022766b264b0b8af0789df9cd12a18e |
|
28-Nov-2014 |
Lennart Poettering <lennart@poettering.net> |
networkd: remove duplicate macro definitions |
79008bddf679a5e0900369950eb346c9fa687107 |
|
27-Nov-2014 |
Lennart Poettering <lennart@poettering.net> |
log: rearrange log function naming
- Rename log_meta() → log_internal(), to follow naming scheme of most
other log functions that are usually invoked through macros, but never
directly.
- Rename log_info_object() to log_object_info(), simply because the
object should be before any other parameters, to follow OO-style
programming style. |
086891e5c119abb9854237fc32e736fe2d67234c |
|
27-Nov-2014 |
Lennart Poettering <lennart@poettering.net> |
log: add an "error" parameter to all low-level logging calls and intrdouce log_error_errno() as log calls that take error numbers
This change has two benefits:
- The format string %m will now resolve to the specified error (or to
errno if the specified error is 0. This allows getting rid of a ton of
strerror() invocations, a function that is not thread-safe.
- The specified error can be passed to the journal in the ERRNO= field.
Now of course, we just need somebody to convert all cases of this:
log_error("Something happened: %s", strerror(-r));
into thus:
log_error_errno(-r, "Something happened: %m"); |
134e56dcc53970a20a858283650bb92cd5da1d17 |
|
06-Nov-2014 |
Lennart Poettering <lennart@poettering.net> |
shared: rename condition-util.[ch] to condition.[ch]
Now that we only have one file with condition implementations around, we
can drop the -util suffix and simplify things a bit. |
124f09e8125e1eae5b058b1f287e72c85a46d557 |
|
13-Sep-2014 |
Dave Reisner <dreisner@archlinux.org> |
networkd: remove vestigial event sources
187fe1db took advantage of floating events, but didn't remove pointers
it made superfluous. |
84b5b79a8f7b423c5b7cad4170eb68d57fe5e26c |
|
08-Sep-2014 |
Angus Gibson <angus@agibson.me> |
networkd: allow specification of DHCP route metric
This lets the routing metric for links to be specified per-network,
still defaulting to DHCP_ROUTE_METRIC (1024) if unspecified. Hopefully
this helps with multiple interfaces configured via DHCP. |
46b0c76e2c355c0d0cc4792abb98cde07b28bc53 |
|
08-Sep-2014 |
Emil Renner Berthing <systemd@esmil.dk> |
networkd: add preferred source to dhcp4 gateway route
This makes DHCPv4 and IPv4LL coexist peacefully.
[tomegun: apply to both the dhcp routes, use in_addr_is_null() rather than a
separate variable to indicate when prefsrc should be applied] |
81163121e649523b4071f67ddc03c2db649036c5 |
|
19-Aug-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: don't consider deprecated or tentative addresses when determining operstate
https://bugs.freedesktop.org/show_bug.cgi?id=81287 |
67272d157a35e5cda4e5c904eafdcc23d20541d1 |
|
15-Aug-2014 |
Tom Gundersen <teg@jklm.no> |
sd-network: add support for wildcard domains |
6192b846ca0d15602e94ddb5da4420b7c60d64a5 |
|
15-Aug-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add support for Domains= to .network files
This allows the search/routing domanis to be specified per link/network and be passed
on to resolved. |
ad0734e890b25751ef8229e47210ff11ae8fa3f3 |
|
15-Aug-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: rename UseDomainName to UseDomains
This option will also apply to the search domains, so make it plural. |
0b1831c20c4d30077b6560b2b7d88bdb220d5cef |
|
12-Aug-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: split out networkd-link.h |
bd8f65387673e29f46136a4ed172097035002c23 |
|
04-Aug-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add and expose per-link LLMNR config option |
afe7fd56f5b5b81294dcb794214f97fc5e39dfea |
|
01-Aug-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: track the MTU of each link
And inform the DHCPv4 clients about it. |
16aa63a00b5b1db23a9c0b8de350ebf482d90cd0 |
|
28-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: route/address - use trivial hash functions |
6a0a2f860f1ca4a10932da3b41dbc3c0139757cc |
|
28-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: unify handling of stacked netdevs |
ae06ab1014641feb83ffd0d08f0957e69bbbae08 |
|
28-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: store ifindex as int |
bfa695b5cc37aeb78737c57c84e9e69ea08152c0 |
|
25-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: ipv4ll - default to setting up ipv4ll routes
This is necessary for non-ipv4ll hosts to communicate with ipv4ll-only hosts on the same link. Defaults
to being enabled, but can be opted out.
See: <http://avahi.org/wiki/AvahiAutoipd#Routes> |
b0e39c8284b5195850a58e4efcce2f059bdcc6ad |
|
23-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: merge DNS and NTP entries when exporting
In the state files, do not distinguish where the various entries came from
(static or DHCP), but include them all in the same list. |
28cc555d8504c9429776aedbbe1fee7101258578 |
|
23-Jul-2014 |
Dan Williams <dcbw@redhat.com> |
networkd: set route protocol
All routes added by networkd are currently set RTPROT_BOOT, which according
to the kernel means "Route installed during boot" (rtnetlink.h). But this
is not always the case as networkd changes routing after boot too. Since
the kernel gives more detailed protocols, use them.
With this patch, user-configured static routes now use RTPROT_STATIC (which
they are) and DHCP routes use RTPROT_DHCP. There is no define for IPv4LL
yet, so those are installed as RTPROT_STATIC (though perhaps RTPROT_RA is
better?).
[tomegun: fixup
src/network/networkd-link.c:972:33: error: too few arguments to function 'route_new_dynamic'] |
0dd25fb9f005d8ab7ac4bc10a609d00569f8c56a |
|
18-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
change type for address family to "int"
Let's settle on a single type for all address family values, even if
UNIX is very inconsitent on the precise type otherwise. Given that
socket() is the primary entrypoint for the sockets API, and that uses
"int", and "int" is relatively simple and generic, we settle on "int"
for this. |
f5de5b00204f041aaec828d336c8afd9e860a5c3 |
|
15-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
sd-dhcp-client: make request broadcasts opt-in
It appears there is no good way to decide whether or not broadcasts should be enabled,
there is hardware that must have broadcast, and there are networks that only allow
unicast. So we give up and make this configurable.
By default, unicast is used, but if the kernel were to inform us abotu certain
interfaces requiring broadcast, we could change this to opt-in by default in
those cases. |
3be1d7e0c5bf60658d34eb6311d4e77c6803578c |
|
14-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - introduce vtable for netdev kinds
Split each netdev kind into its own .h/.c. |
6235b3def8f58afe5777f1f5b4e7951f9396c32c |
|
14-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - split out bridge creation |
3f2650377631aed3bc26fdbc3a2eef6e33cdf7e7 |
|
14-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - rename 'enslave' to 'join'
Enslave only really makes sense when referring to bridges and bonds, so try to be
a bit more neutral. |
edb85f0d8d0a84f27308a3728f3fde3c52b9dce2 |
|
14-Jul-2014 |
Susant Sahani <susant@redhat.com> |
networkd: dhcp add vendor class indentifier option 60
Vendor Class Identifier be used by DHCP clients to identify
their vendor type and configuration. When using this option,
vendors can define their own specific identifier values, such
as to convey a particular hardware or operating system
configuration or other identifying information.
Vendor-specified DHCP options—features that let administrators assign
separate options to clients with similar configuration requirements.
For example, if DHCP-aware clients for example we want to separate
different gateway and option for different set of people
(dev/test/hr/finance) in a org or devices for example web/database
servers or let's say in a embedded device etc and require a different
default gateway or DNS server than the rest of clients. |
5d8e593dce074bff966fc0a46579c61b4f3bc33a |
|
14-Jul-2014 |
Susant Sahani <susant@redhat.com> |
networkd: make metric of routes configurable
Now route metric can be configuted via conf file:
example conf:
[Match]
Name=em1
[Route]
Gateway=192.168.1.12
Metric=10
Test:
ip route output
default via 192.168.1.12 dev em1 metric 10
[tomegun: squash TODO update and reword man page a bit] |
4faefc7ff884eae65a80e82313fd9f4bb859d6db |
|
10-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
networkd: always prefer dhcp routes over ipv4ll routes |
3b653205cf7bd3851befd0a9f6a3ded6e267c173 |
|
10-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
shared: split out in_addr related calls from socket-util.[ch] into its private in-addr-util.[ch]
These are enough calls for a new file, and they are sufficiently
different from the sockaddr-related calls, hence let's split this out. |
fe8ac65b683ec7408b26ba40040134e6d66b1c5c |
|
07-Jul-2014 |
Susant Sahani <susant@redhat.com> |
networkd: add support for mode
This patch adds supports networkd to configure bond mode
during creation via persistent conf. Mode can be configured
with conf param 'Mode'. A new section Bond is added to the
conf to support bond mode.
These modes can be configured now.
balance-rr
active-backup
balance-xor
broadcast
802.3ad
balance-tlb
balance-alb
Example conf file: test-bond.conf
[NetDev]
Name=bond1
Kind=bond
[Bond]
Mode=balance-xor
Test case:
1. start networkd service:
12: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc
noqueue state UNKNOWN mode DEFAULT group default
link/ether 22:89:6c:47:23:d2 brd ff:ff:ff:ff:ff:ff
2. find bond mode:
cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: load balancing (xor)
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Changes:
1. Added file networkd-bond.c
2. Bond mode enum BondMode
3. conf section [Bond]
[tomegun: whitespace] |
c081882f07617e56bcbce54105068137e4e0bb52 |
|
07-Jul-2014 |
Susant Sahani <susant@redhat.com> |
networkd: add support for peer address
This patch adds peer address support for
networkd . In the [Address] a new configurable
param is Peer.
[Match]
Name=ipip-tun
[Address]
Address=10.0.0.1/32
Peer=10.0.0.2/32 |
4826dd6850478ddec604787756db26c1ab2c106f |
|
03-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: tunnels - make tunnel address parsing generic
It had a bug in the typing, fix that and also make it save the address family so we
can print proper error messages. |
30ae9dfda3788cdfaf1b84d124dbc7feb638c77b |
|
03-Jul-2014 |
Susant Sahani <susant@redhat.com> |
networkd: Introduce tun/tap device
This patch introduces TUN/TAP device creation support
to networkd.
Example conf to create a tap device:
file: tap.netdev
------------------
[NetDev]
Name=tap-test
Kind=tap
[Tap]
OneQueue=true
MultiQueue=true
PacketInfo=true
User=sus
Group=sus
------------------
Test:
1. output of ip link
tap-test: tap pi one_queue UNKNOWN_FLAGS:900 user 1000 group 1000
id:
uid=1000(sus) gid=10(wheel) groups=10(wheel),1000(sus)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Modifications:
Added:
1. file networkd-tuntap.c
3. netdev kind NETDEV_KIND_TUN and NETDEV_KIND_TAP
2. Tun and Tap Sections and config params to parse
conf and gperf conf parameters
[tomegun: tweak the 'kind' checking for received ifindex] |
0372cb2bd2342fa5c5585c666f79159a8341f4a6 |
|
03-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: split out vlan and macvlan handling |
9e358851b470a1994287c8cb1d9eb78837faaf60 |
|
01-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - add dummy support |
4cc7a82c9490a3c5ae03b1d6d168ce40ba499e23 |
|
01-Jul-2014 |
Eugene Yakubovich <eugene.yakubovich@coreos.com> |
networkd: send hostname to dhcp server
Send hostname (option 12) in DISCOVER and REQUEST messages so the
DHCP server could use it to register with dynamic DNS and such.
To opt-out of this behaviour set SendHostname to false in [DHCP]
section of .network file
[tomegun: rebased, made sure a failing set_hostname is a noop and moved
config from DHCPv4 to DHCP] |
d5b3d845f013f7f332c76e83bb8e867de7d3caee |
|
01-Jul-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: tunnel - ensure that enslave callback is always invoked
The Link statemachine relies on this, as it would otherwise wait forever. Hook up the tunnels in the
same way as the other NetDev's. |
e1ea665edac17d75fce01b72dadfa3211b60df2c |
|
29-Jun-2014 |
Eugene Yakubovich <eyakubovich@gmail.com> |
Add support for DHCP static route options
This adds support for DHCP options 33 and 121: Static Route and
Classless Static Route. To enable this feature, set UseRoutes=true
in .network file. Returned routes are added to the routing table. |
ed942a9eb22d50f667909ad6184b45015d28d054 |
|
29-Jun-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: merge DHCPv4 and DHCPv6 config
If there are v4 or v6 specific options we can keep those in separate sections,
but for the common options, we will use only one.
Moreovere only use DHCP=[yes/both|no/none|v4|v6] to enable or disable the clients. |
4138fb2c7936758da709eaed3f6b4f3df1d04eff |
|
19-Jun-2014 |
Patrik Flykt <patrik.flykt@linux.intel.com> |
networkd: Add initial DHCPv6 support
Enable DHCPv6 support by creating a DHCPv6 boolean in the Network
section. Add necessary DHCPv6 structures and initial function calls. |
11bf3cced13c885ca215c108cb0bdb7a148520d6 |
|
18-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
networkd: add address pool support
When an address is configured to be all zeroes, networkd will now
automatically find a locally unused network of the right size from a
list of pre-configured pools. Currently those pools are 10.0.0.0/8,
172.16.0.0/12, 192.168.0.0/16 and fc00::/7, i.e. the network ranges for
private networks. They are compiled in, but should be configurable
eventually.
This allows applying the same configuration to a large number of
interfaces with each time a different IP range block, and management of
these IP ranges is fully automatic.
When allocating an address range from the pool it is made sure the range
is not used otherwise. |
5d3de3fe9cc452f1bfe3c2dcafecbd7f904da4dc |
|
18-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
socket-util: introduce in_addr_union similar to sockaddr_union and make use of it everywhere |
326cb4061a7d6ec4107f298b6f947d645512ad76 |
|
16-Jun-2014 |
Susant Sahani <susant@redhat.com> |
networkd: introduce vxlan
This patch enables netwokd to create vxlan
Changes:
Added:
1. File networkd networkd-vxlan.c
2. to netdev
bool learning
struct in_addr group
uint64_t vxlanid;
3. VXLAN subsection and config
parameters |
1324e3ae515719a93a94a8d8316644af6c780909 |
|
16-Jun-2014 |
Susant Sahani <susant@redhat.com> |
networkd: rename netdev variables
Rename the netdev variables. Remove tunnel_
so that it can be reused . |
96c907429e3224289fd360b8d9c8fdc573f4363b |
|
14-Jun-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - allow setting MACAddress in .netdev files
It may sometimes be necessary to specify the MAC address of a netdev.
Let us set the correct one from the get-go, rather than having the
kernel generate a random one, and then change it after. |
97578344f3bd03c8ea651d8888622e82c599eadf |
|
13-Jun-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: link - left-align debug messages
Still add some whitespace betwen ifname and the message to get the
messages aligned (as I find it easier to spot specific messages this way). |
dd43110f781a9245ec00531456fee68ed763a179 |
|
13-Jun-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add dhcp server support
When enabled in [Network] it will set up a dhcp server on the interface, listening
on one of its statically configured IPv4 addresses and with a fixed size pool of
leases determined from it.
Example:
[Match]
Name=ve-arch-tree
[Network]
Address=192.168.12.5/24
DHCPServer=yes
[Route]
Gateway=192.168.12.5
Destination=192.168.12.0/24
In this case we will configure ve-arch-tree with the address 192.168.12.5 and
hand out addresses in the range 192.168.12.6 - 192.168.12.38.
In the future, we should (as suggested by Lennart) introduce a syntax to pick the
server address automatically. |
bddfc8afd329ac68a23f66a3512d4e249af25191 |
|
03-Jun-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: drop CAP_SYS_MODULE
Rely on modules being built-in or autoloaded on-demand.
As networkd is a network facing service, we want to limits its capabilities,
as much as possible. Also, we may not have CAP_SYS_MODULE in a container,
and we want networkd to work the same there.
Module autoloading does not always work, but should be fixed by the kernel
patch f98f89a0104454f35a: 'net: tunnels - enable module autoloading', which
is currently in net-next and which people may consider backporting if they
want tunneling support without compiling in the modules.
Early adopters may also use a module-load.d snippet and order
systemd-modules-load.service before networkd to force the module
loading of tunneling modules.
This sholud fix the various build issues people have reported. |
a613382bbf4357ce13f17c988713b80172e091fb |
|
02-Jun-2014 |
Susant Sahani <susant@redhat.com> |
networkd: introduce vti tunnel
This patch enables vti tunnel support.
example conf:
file : vti.netdev
[NetDev]
Name=vti-tun
Kind=vti
MTUBytes=1480
[Tunnel]
Local=X.X.X.X
Remote=X.X.X.X
file: vti.network
[Match]
Name=em1
[Network]
Tunnel=vti-tun
TODO:
Add more attributes for vti tunnel
IFLA_VTI_IKEY
IFLA_VTI_OKEY |
a9f434cf00d1d36d9a013b9739efe69653dd7279 |
|
02-Jun-2014 |
Susant Sahani <susant@redhat.com> |
networkd: sit-tunnel add support for pmtudisc
This patch adds path of mtu discovery for sit tunnel.
To enable/disable DiscoverPathMTU is introduced.
Example configuration
file: sit.netdev
[NetDev]
Name=sit-tun
Kind=sit
MTUBytes=1480
[Tunnel]
DiscoverPathMTU=1
Local=X.X.X.X
Remote=X.X.X.X
By default pmtudisc is turned on , if DiscoverPathMTU
is missing from the config. To turn it off
DiscoverPathMTU=0 needs to be set. |
10142d75cce10a92889cc11b7b1af07fecc78c5d |
|
02-Jun-2014 |
Susant Sahani <susant@redhat.com> |
networkd: introduce veth device support
This patch adds veth device support to networkd.
Example conf:
File: veth.netdev
[NetDev]
Name=veth-test
Kind=veth
[Peer]
Name=veth-peer |
e375dcde7202d5df4e29f5258e0f8c2bcea4535c |
|
19-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd/sd-network: extend operational states
Expose states 'degraded' or 'routable' if a link has a site/link-local or a routable address, respectively. |
bcb7a07e0a785bda1eed658e984ff6b4a11cba9a |
|
19-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd/sd-network: expose statically configured NTP servers |
091a364c802e34a58f3260c9cb5db9b75c62215c |
|
19-May-2014 |
Tom Gundersen <teg@jklm.no> |
resolved: add daemon to manage resolv.conf
Also remove the equivalent functionality from networkd. |
428fd0a75873d63b9d567f9db7871551d1ee0d62 |
|
17-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: keep list of active addresses |
9505d3c6deda0452c22ab2ed47bca74b98d87a17 |
|
17-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: IP address equality |
2dcf7ec6ec0c28297311108acba119cd6e055e64 |
|
16-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: manager - read fallback DNS servers from config file
We will still use the compiled-in defaults if no DNS entry exists in the config file. |
d4920165fe753751aaa274fdc568927d26284eea |
|
16-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: network - store DNS servers in List rather than Set
This way we preserve the order of preference. |
e16cb2e4efaba83f47da8355adc65fd83bbe8327 |
|
16-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: hardcode a set of default dns servers
Similarly to NTP servers, this can be set at compile-time. |
3d3d425547a3f38473fcf8737b85dfebb630479d |
|
16-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: rename Address and Route list fields |
987efa17dd5c9be156d8f49ddd942df20a72dcb1 |
|
15-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: logging - align messages |
af4e9e2c563047d524b207e0e3d6816385693a16 |
|
15-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: rename NetDev variable for consistency with Link |
0b44d8c3d7dfadb60b30c9339b18c4cc1617b51b |
|
12-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: manager - don't leak kmod context
Also, keep the kmod_new internal to networkd-manager.c |
7951dea20911969287878e6897b3eca348721ade |
|
12-May-2014 |
Susant Sahani <susant@redhat.com> |
networkd: introduce ipip tunnel
This patch enables basic ipip tunnel support.
It works with kernel module ipip
example conf:
file: ipip.netdev
[NetDev]
Name=ipip-tun
Kind=ipip
MTUBytes=1480
[Tunnel]
Local=192.168.223.238
Remote=192.169.224.239
TTL=64
file: ipip.network
[Match]
Name=em1
[Network]
Tunnel=ipip-tun
[tomegun:
- drop unused variable
- take ref when enslaving] |
fbbeb65a93e2f90f6576001b69def877cd98722d |
|
11-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: get preexiting addresses when a link is added |
370e9930c3260cc58984ec70e44b1e2ab7676496 |
|
09-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: link - introduce LINGER state and link_drop()
We need the LINGER state in case we still have references to the link after it has been dropped. |
2cc7e981af27b12a6a3d4f08728281febeb450c9 |
|
09-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - introduce LINGER state and netdev_drop()
We need the LINGER state in case we still have references to the netdev after it has been dropped. |
69a93e7db47addc4495a6ec9dc0fc74092a6ebee |
|
09-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: network - merge all netdev parsing into one function |
14b746f72132324e637c4e39694bd474f85e19f7 |
|
09-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: introduce refcounting for Links and NetDevs |
68a8723c8592c06b2c978f391cb47db266d9d6de |
|
09-May-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: link - clean up state files
Also keep the path to the lease file around rather than regenarating it all the time. |
bbf7c04821a71fec67eaf0e7a34d17afc5913c13 |
|
08-May-2014 |
Tom Gundersen <teg@jklm.no> |
sd-network: expose global operational state |
1e9be60bbabe179f5233217384f1daec757c17c7 |
|
22-Apr-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: link - support IFLA_OPERSTATE
This properly detects the state of the link based on both the link flags and the
operstate.
Moreover, always log state-changes even if we are not yet managing the link. |
57bd6899b35b84d1f23809133ae45d29a87b2eaa |
|
20-Apr-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: link - add explicit unmanaged state |
505f8da7325591defe5f751f328bd26915267602 |
|
19-Apr-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: tie links to rtnl rather than udev
This essentially swaps the roles of rtnl and udev in networkd. After this
change libudev is only used for waiting for udev to initialize devices and
to get udev-specific information needed for some [Match] attributes.
This in particular simplifies the code in containers where udev is not really
useful, but also simplifies things and reduces round-trips in the non-container
case. |
aba496a58acf9d9c61314de71353550e579f85ee |
|
03-Apr-2014 |
Umut Tezduyar Lindskog <umut.tezduyar@axis.com> |
networkd: smooth transition from ipv4ll to dhcp address
Currently when both ipv4ll and dhcp are enabled, ipv4ll
address (if one has been claimed) is removed when dhcp
address is aquired. This is not the best thing to do
since there might be clients unaware of the removal
trying to communicate.
This patch provides a smooth transition between ipv4ll
and dhcp. If ipv4ll address was claimed [1] before dhcp,
address is marked as deprecated. Deprecated address is still
a valid address and packets can be received on it but address
cannot be selected as a source address. If dhcp lease cannot
be extended, then ipv4ll address is marked as valid again.
[1] If there is no collision, claiming IPv4LL takes between 4 to
7 seconds. |
d39edfc72f9296078a18014627bf0a2543b60627 |
|
24-Mar-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - verify that newlink messages has the expected kind
We match 'newlink' messages with expected netdev's based on their names. Now also
make sure that the receieved link has the expected kind. |
b5db00e52ee2e20578839e4e4488f7b9af9abc38 |
|
21-Mar-2014 |
Umut Tezduyar Lindskog <umut.tezduyar@axis.com> |
sd-ipv4ll/networkd: generate predictable addresses
Increase the chance of using the same link local address between reboots. The
pseudo random sequence of addresses we attempt is now seeded with data that is
very likely to stay the same between reboots, but at the same time be unique
to the specific machine/nic.
First we try to use the ID_NET_NAME_* data from the udev db combined with the
machin-id, which is guaranteed to be unique and persistent, if available. If
that is not possible (e.g., in containers where we don't have access to the
udev db) we fallback to using the MAC address of the interface, which is
guaranteed to be unique, and likely to be persistent.
[tomegun: three minor changes:
- don't expose HASH_KEY in the siphash24 header
- get rid of some compile-warnings (and some casts at the same time),
by using uint8_t[8] rather than uint64_t in the api
- added commit message] |
06f021a8048583d66202e3ac5cd0a12386d33ac2 |
|
14-Mar-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: allow more than one static DNS server |
a748b692dd1e436ca1ff56b8d567c065c2539e5a |
|
09-Mar-2014 |
Tom Gundersen <teg@jklm.no> |
network: link - simplify code a bit and remove some debug logging |
5c1d3fc93d91384bbac29adf01074fa4375317ea |
|
03-Mar-2014 |
Umut Tezduyar Lindskog <umut.tezduyar@axis.com> |
sd-network: IPv4 link-local support [v2]
Implements IPv4LL with respect to RFC 3927
(http://tools.ietf.org/rfc/rfc3927.txt) and integrates it
with networkd. Majority of the IPv4LL state machine is
taken from avahi (http://avahi.org/) project's autoip.
IPv4LL can be enabled by IPv4LL=yes under [Network]
section of .network file.
IPv4LL works independent of DHCP but if DHCP lease is
aquired, then LL address will be dropped.
[tomegun: removed a trailing newline and a compiler warning] |
fe8db0c5ee3365a2fc80ee7ebffa238f9a0a2ae2 |
|
28-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
sd-network: add new library
This is similar to sd-login, but exposes the state of networkd rather than logind.
Include it in libsystemd-dhcp and rename it to libsystemd-network. |
fe6b2d55bcb379d01664ed28cea40634cb6b52e3 |
|
25-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add basic support for MACVLANs |
0c2f9b84698b25e6065b9febd21486669a13870f |
|
22-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: handle SIGINT and SIGTERM |
edbb03e95a3c31bf719d5c6c46eec14d0bcb9c8f |
|
21-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
.network/.netdev/.link: allow to match on architecture |
c0dda18697e0994272c0c9616d36f6777b60e2c7 |
|
20-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - allow filtering on kernel cmdline, host and virt |
2cc412b59353576cece2d5b30c6a39c70552f0a0 |
|
20-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
network/link: Match - filter on kernel cmdline, host and virt |
11a7f22939d21558df919cab44b8fbe36ab5dae0 |
|
18-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: refactor link_add() :(
Don't set set **ret when returning r < 0, as matching on the errno may easily
give false positives in the future leading to null pointer dereference.
Reported-by: David Herrmann <dh.herrmann@gmail.com> |
818dc5e72af8a3eb772997188e2bd8ea616de844 |
|
15-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
sd-rtnl: always include linux/rtnetlink.h |
672682a6b9d6fb6a3722c3fea1a93b4831747b54 |
|
10-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: VLAN - allow multiple vlans to be created on a link
Also limit the range of vlan ids. Other implementations and
documentation use the ranges {0,1}-{4094,4095}, but we use
the one accepted by the kernel: 0-4094.
Reported-by: Oleksii Shevchuk <alxchk@gmail.com> |
1a436809498faf6486815baa0338fb6b8e5def07 |
|
07-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - rename Netdev to NetDev
Both in the configuration file format and everywhere else in the code. |
a6cc569e33a05b07550c6c7b4d67d83d868f8bc1 |
|
07-Feb-2014 |
Tom Gundersen <teg@jklm.no> |
sd-dhcp-client: split sd_dhcp_lease from sd_dhcp_client
This allows us users of the library to keep copies of old leases. This is
used by networkd to know what addresses to drop (if any) when the lease
expires.
In the future this may be used by DNAv4 and sd-dhcp-server. |
50add2909c2e4b13a04d285b058b1c2270137656 |
|
30-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: netdev - reduce chance of race when receiving netdev's ifindex
When creating a new link, the kernel will not inform us about the new ifindex
in its ack. We have to listen for newly created devices and deduce the new
ifindex by matching on the ifname.
We used to do this by waiting for a new device from libudev, but that is asking
for trouble, as udev will happily rename the device before handing it to us.
Listen on rtnl instead, the chance of the name being changed before reaching us
is much smaller (if not nil).
Kernel patch in the works to make this unneccessary. |
eb0ea358b688a6f83ff305c6b825c61f12b6dcb8 |
|
30-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: address - add support for broadcast |
801bd9e859d7f3f127617172910786929776472b |
|
30-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
net-util: verify the address family
Error out if the address family is already set to something incompatible with the
address being parsed. |
eb27aeca247a4cf8816fffc4c0dbcab55ead3864 |
|
30-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: dhcpv4 - add notion of 'CriticalConnection'
These connections are never torn down, even when the DHCP specifications say that
they should be. This is useful/necessary when the rootfs (or another critical fs)
is mounted over this network connection, and dataloss would result if the connection
is lost.
This option defaults to off, but our initrd generator (TBD) will enable it when
applicable. |
54abf461d6b10dc270c4bb2aeac65f240ff1c5cd |
|
25-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add basic VLAN support |
52433f6b65eccd1c54606dde999610640f3458ac |
|
22-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add basic bonding support
Refactor bridging support to be generic netdev support and extend it to
cover bonding as well. |
039ebe6aebaebcaa18375b33caf1db5fe2551621 |
|
18-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
sd-dhcp-client/networkd: add domainname support |
1346b1f0388f4100bb3c2a2bb23bc881769c020c |
|
16-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
sd-dhcp-client/networkd: add transient hostname support |
4f882b2a5007e51032459e29d15a86df6b5ea9f4 |
|
16-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
sd-dhcp-client/networkd: add interface MTU support |
5be4d38e31281727b6f45ae869136bb01a1f7790 |
|
13-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: DHCPv4 - allow opting out of using DNS servers
Setting UseDNS=no will ignore any received DNS servers. |
3bef724f7e7f7eaca69881548b06e221b77d7031 |
|
12-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: generate resolv.conf
This adds support to generate a basic resolv.conf in /run/systemd/network.
This file will not take any effect unless a symlink is created from
/etc/resolv.conf.
Nameservers received over DHCP takes precedence over statically configured ones.
Note: /etc/resolv.conf is severely limited, so in the future we will likely
rather provide a much more powerfull nss plugin (or something to that effect),
but this should allow current users to function without any loss of
functionality. |
924fe4304af981ffd849346b4a1d415f11e9dd79 |
|
12-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: bridge - remove redundant state
We will not insist on getting the reply from rtnl that the bridge
was created before considering the bridge ready, as we will be
notified about that via udev. We will listen for the rtnl response
however, in case the creation of the bridge failed. |
39032b87779323a244dd89f4832949d462b2ac68 |
|
11-Jan-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
network: use GNU-ism to simplify macros
Thanks David! |
628706137efbca8aaf753ccd063e5abf7e31aed5 |
|
09-Jan-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
networkd: print the received DHCPv4 address and gateway
It seems that networkd stores in_addr.s_addr contents in reverse
order (little-endian, not network order). This is a bit confusing,
but sd_rtnl evidently likes this order. |
3333d748facc15f49935b6b793490ba0824976e6 |
|
09-Jan-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
networkd: use structured logging for links and bridges |
2ad8416dd057e7e3185169609ca3006e7649f576 |
|
09-Jan-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
No need to canonicalize fixed paths |
b3070dc0258831c7e2b13624f75fa3dbd80d9833 |
|
05-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: refuse to use .network files with missing Address/Gateway key
These keys are mandatory in [Address]/[Route] sections. Otherwise, we
hit an assert:
ens3: setting addresses
Assertion 'address->family == 2 || address->family == 10' failed at /build/amd64-generic/tmp/portage/sys-apps/systemd-9999-r1/work/systemd-9999/src/network/networkd-address.c:137, function address_configure(). Aborting.
Reported-by: Alex Polvi <alex.polvi@coreos.com>
At the same time make sure Route's Destination and Gateway uses the same address family. |
aa3437a573ed2a2b2a03c9649fe11d27b40a772b |
|
03-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: print the ifindex of added links
This debug information may be useful when comapring to dropped rtnetlink messages. |
f5be560181d092c5f52a2b819aedcd48220f36ab |
|
01-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: add DHCPv4 support
This adds basic DHCPv4 support. Link-sense is enabled unconditionally,
but the plan is to make that configurable.
I tested this in a VM with lots of NICs and over wifi in the various
coffee shops I found this Christmas, but more testing would definitely
be appreciated. |
f048a16b464295a4e0a4f4c1210f06343ad31231 |
|
01-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
networkd: distinguish between static and dynamic addresses/routes
Static addresses/routes are associated with a network. Dynamic
addresses/routes are associtade with links (as the corresponding network
may be shared by several links). |
407fe036a24834203aca6c1eec7d74d9ad3e9ee0 |
|
01-Jan-2014 |
Tom Gundersen <teg@jklm.no> |
network: add support for dropping address |
ef1ba6065c6ccea94d4ee867f36df7bbc53a5224 |
|
17-Dec-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: link - remove useless states
Rework the state-machine a bit. |
22936833e177d9e477e059ec2b4f4fa9213b4e19 |
|
17-Dec-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: rename link_update_flags to link_update
We are likely to track more than the flags in the future. |
dd3efc0993b6e95ff04775e9125e2fc9d30fe261 |
|
04-Dec-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: add link-sense and simplify state-machine a bit
This listens to rtnetlink for changes to IFF_UP and IFF_LOWER_UP (link sense). The latter
is simply logged at the moment, but will be useful once we add dhcp support. |
02b59d57e0c08231645120077f651151f5bb2bab |
|
26-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: add bridge support
A bridge is specified in a .netdev file with a section [Bridge]
and at least the entry Name=.
A link may be joined to a bridge if the .network applied to it has
a Bridge= entry giving the name of the bridge in its [Network] section.
We eagerly create all bridges on startup, and links are added to
bridges as soon as they both appear. |
c166a070553511e402de5ad216d3fb62b49bdacb |
|
26-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: minor fixes
In particular, store the ifname, though we should only use it carefully, as
it is not guaranteed to be stable. Using it for logging is fine though. |
6ae115c1fe95611b39d2f20cfcea3d385429f59e |
|
25-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: add support for [Address] sections
This will allow specifying more options per address than the
simple Address= entry in the [Network] section.
Preliminary support for the same functionality for [Route] sections
are added, but not yet hooked up, as more testing is needed. |
71a6151083d842b2f5bf04e50239f0bf85d34d2e |
|
25-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
conf-parser: distinguish between multiple sections with the same name
Pass on the line on which a section was decleared to the parsers, so they
can distinguish between multiple sections (if they chose to). Currently
no parsers take advantage of this, but a follow-up patch will do that
to distinguish
[Address]
Address=192.168.0.1/24
Label=one
[Address]
Address=192.168.0.2/24
Label=two
from
[Address]
Address=192.168.0.1/24
Label=one
Address=192.168.0.2/24
Label=two |
0617ffabe86a6d366252477eafbe59a888b149d4 |
|
19-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: make sure Links and Networks are freed |
f882c247ad59776c3a7753bb963c1f8e2386cb79 |
|
17-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: make all calls async |
8cd11a0f0f4ca05199e1166f6a07472b296f7455 |
|
17-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: store netmask and mac address explicitly |
f579559b3a14c1f1ef96c372e7626c4733e6ef7d |
|
09-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
networkd: add a basic network daemon
This daemon listens for and configures network devices tagged with
'systemd-networkd'. By default, no devices are tagged so this daemon
can safely run in parallel with existing network daemons/scripts.
Networks are configured in /etc/systemd/network/*.network. The first .network
file that matches a given link is applied. The matching logic is similar to
the one for .link files, but additionally supports matching on interface name.
The mid-term aim is to provide an alternative to ad-hoc scripts currently used
in initrd's and for wired setups that don't change much (e.g., as seen on
servers/and some embedded systems).
Currently, static addresses and a gateway can be configured.
Example .network file:
[Match]
Name=wlp2s0
[Network]
Description=My Network
Gateway=192.168.1.1
Address=192.168.1.23/24
Address=fe80::9aee:94ff:fe3f:c618/64 |