Systemd/src/network
Richard Maw c1835a427f networkd: Wait for link to get carrier before setting addresses
For containers the link is effectively always up,
but for virtual and physical machines networkd may have started
before the link has gained carrier.

Networkd will configure addresses when carrier is gained,
but should also configure addresses if the link is already up.
Without this patch the addresses are set unconditionally.

Normally this isn't a problem since addresses are either fixed,
set over DHCP, or is never without carrier.
But for machines that gain carrier and are configured to select
an address from the unallocated local address pool
this causes them to pick an address from the pool twice.

This change to skip address configuration when a link is added
before it has a carrier fixes having multiple addresses assigned
if the machine starts networkd before it has gained carrier
and is configured with an address from the pool.
2017-06-12 16:39:24 +01:00
..
netdev network: bridge vlan without PVID (#5899) 2017-05-29 17:20:01 +02:00
wait-online networkd: add symlinks to the Makefile for dir netdev and wait-online 2017-02-25 00:32:43 +05:30
.gitignore networkd: netdev - move to separate subdirectory 2016-11-13 05:16:49 +01:00
Makefile networkd: add a basic network daemon 2013-11-09 23:41:17 +01:00
meson.build meson: add rules for RA sources 2017-05-15 14:49:50 +03:00
networkctl.c systemctl,networkctl,busctl,backlight: use STRPTR_IN_SET 2016-09-24 20:22:05 -04:00
networkd-address-label.c socket-util: add parse_ip_prefix (#5867) 2017-05-05 20:04:07 -04:00
networkd-address-label.h socket-util: add parse_ip_prefix (#5867) 2017-05-05 20:04:07 -04:00
networkd-address-pool.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-address-pool.h networkd: rework headers to avoid circular includes 2016-04-29 19:01:28 -04:00
networkd-address.c networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-address.h networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-brvlan.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-brvlan.h networkd: apply bridge vlan configuration correct 2016-08-04 17:14:18 +02:00
networkd-conf.c tree-wide: fix wrong indent (#5757) 2017-04-19 08:48:29 +02:00
networkd-conf.h build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
networkd-dhcp4.c DHCP: Fail link_dhcp_set_routes promotely if no address is assigned from lease (#6009) 2017-05-24 14:05:49 +02:00
networkd-dhcp6.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-fdb.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-fdb.h networkd: drop weird "const" usage in function parameters 2016-06-03 19:20:46 +02:00
networkd-gperf.gperf networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-ipv4ll.c libsystemd-network: sd-ipv4ll: acquire new address after claimed address conflict 2017-03-31 15:40:18 -05:00
networkd-ipv6-proxy-ndp.c networkd: add IPv6ProxyNDP (#5913) 2017-05-09 20:04:55 +02:00
networkd-ipv6-proxy-ndp.h networkd: add IPv6ProxyNDPAddress support (#5174) 2017-02-11 00:47:55 +01:00
networkd-link-bus.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-link.c networkd: Wait for link to get carrier before setting addresses 2017-06-12 16:39:24 +01:00
networkd-link.h networkd-radv: Helper function for Router Advertisement initialization 2017-05-15 14:49:50 +03:00
networkd-lldp-tx.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-lldp-tx.h networkd: reworkd LLDP emission to allow control of propagation level 2016-05-09 15:45:31 +02:00
networkd-manager-bus.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-manager.c network: Implement DHCP Option 119 (Domain Search List) (#5932) 2017-05-13 10:19:32 -04:00
networkd-manager.h networkd: move event loop handling out of the manager (#4723) 2016-11-28 20:42:40 +01:00
networkd-ndisc.c networkd: RFC compliant autonomous prefix handling (#5636) 2017-03-31 15:10:59 +02:00
networkd-ndisc.h networkd: flush DNSSL/RDNSS lists when we lose carrier 2016-11-02 11:39:49 -06:00
networkd-network-bus.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
networkd-network-gperf.gperf networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-network.c networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-network.h networkd: Add Router Advertisement variables 2017-05-15 14:49:50 +03:00
networkd-radv.c networkd-radv: Helper function for Router Advertisement initialization 2017-05-15 14:49:50 +03:00
networkd-radv.h networkd-radv: Helper function for Router Advertisement initialization 2017-05-15 14:49:50 +03:00
networkd-route.c networkd: fix route table from unsigned char to uint32_t (#6083) 2017-06-06 12:02:31 -04:00
networkd-route.h networkd: fix route table from unsigned char to uint32_t (#6083) 2017-06-06 12:02:31 -04:00
networkd-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
networkd-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
networkd.c networkd: move event loop handling out of the manager (#4723) 2016-11-28 20:42:40 +01:00
org.freedesktop.network1.conf networkd: add basic dbus API 2015-02-05 11:50:34 +01:00
org.freedesktop.network1.service networkd: add basic dbus API 2015-02-05 11:50:34 +01:00
systemd-networkd.pkla networkd: allow networkd to set the timezone in timedated 2016-11-23 16:32:06 +01:00
systemd-networkd.rules networkd: allow networkd to set the timezone in timedated 2016-11-23 16:32:06 +01:00
test-network-tables.c networkd: clean up main header file a bit 2016-11-14 01:05:06 +01:00
test-network.c networkd: move event loop handling out of the manager (#4723) 2016-11-28 20:42:40 +01:00
test-networkd-conf.c network: test MAC address parsing 2016-05-17 16:55:20 -04:00