Bug 80031 - systemd-networkd: master link is not brought up in vlan/bridge configuration
Summary: systemd-networkd: master link is not brought up in vlan/bridge configuration
Status: RESOLVED WORKSFORME
Alias: None
Product: systemd
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: Tom Gundersen
QA Contact: systemd-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-14 18:43 UTC by James Kyle
Modified: 2014-07-01 11:32 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description James Kyle 2014-06-14 18:43:06 UTC
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
Comment 1 James Kyle 2014-06-17 16:29:45 UTC
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.
Comment 2 Eugene Yakubovich 2014-06-19 22:54:21 UTC
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).
Comment 3 Tom Gundersen 2014-07-01 11:32:10 UTC
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.