The configuration that triggers this state for me is eth0 -> vlan100, vlan101 vlan100 -> br100 vlan101 -> br101 The eth0 link is never put into an UP state on reboot. If manually put into an UP state with ip link set eth0 up, the other interfaces self configure and networking works again. ===== Full systemd-networkd Log From Reboot to Manual ip link UP ============== -- Reboot -- Jun 14 17:36:20 core1 systemd[1]: Starting Network Service... Jun 14 17:36:21 core1 systemd[1]: Stopping Network Service... Jun 14 17:36:22 core1 systemd-networkd[3417]: Received SIGTERM from PID 1 (systemd). Jun 14 17:36:22 core1 systemd[1]: Starting Network Service... Jun 14 17:36:22 core1 systemd-networkd[3587]: enp1s0f0: could not enslave: File exists Jun 14 17:36:22 core1 systemd-networkd[3587]: enp1s0f0: failed Jun 14 17:36:22 core1 systemd-networkd[3587]: enp1s0f1: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: enp1s0f2: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: enp1s0f3: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: enp67s0f0: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: enp67s0f0: carrier on Jun 14 17:36:22 core1 systemd[1]: Started Network Service. Jun 14 17:36:22 core1 systemd-networkd[3587]: enp67s0f1: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: enp67s0f1: carrier on Jun 14 17:36:22 core1 systemd-networkd[3587]: enp68s0f0: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: enp68s0f1: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: br100: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: br100: carrier on Jun 14 17:36:22 core1 systemd-networkd[3587]: br100: link configured Jun 14 17:36:22 core1 systemd-networkd[3587]: br101: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: br101: carrier on Jun 14 17:36:22 core1 systemd-networkd[3587]: lo: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: lo: carrier on Jun 14 17:36:22 core1 systemd-networkd[3587]: br101: netdev ready Jun 14 17:36:22 core1 systemd-networkd[3587]: br100: netdev ready Jun 14 17:36:22 core1 systemd-networkd[3587]: br101: link configured Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan101: netdev ready Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan101: Could not get LINKINFO Jun 14 17:36:22 core1 systemd-networkd[3587]: br101: carrier off Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan101: link configured Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan100: netdev ready Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan100: Could not get LINKINFO Jun 14 17:36:22 core1 systemd-networkd[3587]: br100: carrier off Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan100: link configured Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan101: could not bring up interface: Network is down Jun 14 17:36:22 core1 systemd-networkd[3587]: vlan100: could not bring up interface: Network is down Jun 14 17:36:22 core1 systemd-networkd[3587]: docker0: link configured Jun 14 17:36:22 core1 systemd-networkd[3587]: docker0: link is up Jun 14 17:36:22 core1 systemd-networkd[3587]: enp67s0f0: carrier off Jun 14 17:36:22 core1 systemd-networkd[3587]: enp67s0f1: carrier off Jun 14 17:36:23 core1 systemd-networkd[3587]: enp67s0f0: carrier on Jun 14 17:36:23 core1 systemd-networkd[3587]: enp67s0f1: carrier on Jun 14 17:43:05 core1 systemd-networkd[3587]: vlan100: link is up Jun 14 17:43:05 core1 systemd-networkd[3587]: vlan100: Could not get LINKINFO Jun 14 17:43:05 core1 systemd-networkd[3587]: vlan101: link is up Jun 14 17:43:05 core1 systemd-networkd[3587]: vlan101: Could not get LINKINFO Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan100: Could not get LINKINFO Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan100: carrier on Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan100: Could not get LINKINFO Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan100: Could not get LINKINFO Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan101: Could not get LINKINFO Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan101: carrier on Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan101: Could not get LINKINFO Jun 14 17:43:08 core1 systemd-networkd[3587]: vlan101: Could not get LINKINFO Jun 14 17:43:08 core1 systemd-networkd[3587]: br100: carrier on Jun 14 17:43:08 core1 systemd-networkd[3587]: br101: carrier on Jun 14 17:43:23 core1 systemd-networkd[3587]: vlan100: Could not get LINKINFO Jun 14 17:43:23 core1 systemd-networkd[3587]: vlan101: Could not get LINKINFO ================== Systemd-Networkd Configuration ==================== ======================= 80-vlan.network ======================= [Match] Name=vlan100 [Network] Description=Management Network Bridge=br100 ======================= 81-vlan.network ======================= [Match] Name=vlan101 [Network] Description=Public Network Bridge=br101 ======================= 90-bridge.network ======================= [Match] Name=br100 [Network] Description=Management Bridge Address=xxx.xxx.xxx.xxx/24 ======================= 91-bridge.network ======================= [Match] Name=br101 [Network] Description=Public Bridge Address=xxx.xxx.xxx.xxx/24 Gateway=xxx.xxx.xxx.xxx DNS=8.8.8.8 ======================= br100.netdev ======================= [NetDev] Name=br100 Kind=bridge ======================= br101.netdev ======================= [NetDev] Name=br101 Kind=bridge ======================= ethernet1.network ======================= [Match] MACAddress=xx:xx:xx:xx:xx:xx [Network] VLAN=vlan100 VLAN=vlan101 ======================= vlan100.netdev ======================= [NetDev] Name=vlan100 Kind=vlan [VLAN] Id=100 ======================= vlan101.netdev ======================= [NetDev] Name=vlan101 Kind=vlan [VLAN] Id=101
The work around I implemented was to create another service that runs after network configuration that manually brings up the link using the iproute2 tool.
This may be because of networkd being restarted for some reason 2 seconds after start (see log line with SIGTERM). networkd added one or both vlans and then gets killed. On restart it fails to add them again, resulting in the kernel returning EEXIST (File exists).
This works for me with current git. Please reopen if you can still reproduce.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.