bond interfaces stop working after restart of systemd-networkd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd |
Unknown
|
Unknown
|
|||
systemd (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Dan Streetman |
Bug Description
[impact]
restarting systemd-networkd drops carrier on all bond slaves, temporarily interrupting networking over the bond.
[test case]
on a bionic system with 2 interfaces that can be put into a bond, create config files such as:
root@lp1833671:~# cat /etc/systemd/
[NetDev]
Name=bond0
Kind=bond
root@lp1833671:~# cat /etc/systemd/
[Match]
Name=ens8
[Network]
Bond=bond0
root@lp1833671:~# cat /etc/systemd/
[Match]
Name=ens9
[Network]
Bond=bond0
root@lp1833671:~# cat /etc/systemd/
[Match]
Name=bond0
[Network]
Address=1.2.3.4/32
restart networkd, or reboot, and verify the bond is up:
root@lp1833671:~# ip a
3: ens8: <BROADCAST,
link/ether 42:30:62:cc:36:2b brd ff:ff:ff:ff:ff:ff
4: ens9: <BROADCAST,
link/ether 42:30:62:cc:36:2b brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,
link/ether 42:30:62:cc:36:2b brd ff:ff:ff:ff:ff:ff
inet 1.2.3.4/32 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::4030:
valid_lft forever preferred_lft forever
restart networkd and check /var/log/syslog:
root@lp1833671:~# systemctl restart systemd-networkd
root@lp1833671:~# cat /var/log/syslog
...
Jul 23 21:08:07 lp1833671 systemd-
Jul 23 21:08:07 lp1833671 systemd-
Jul 23 21:08:07 lp1833671 systemd-
Jul 23 21:08:07 lp1833671 systemd-
[regression potential]
this changes how bond slaves are managed, so regressions could affect any configurations using bonding.
[other info]
the patch is already included in d, and ifupdown manages networking in x, so this is needed only for b.
[original description]
Running systemd-networkd from systemd 237-3ubuntu10.23 on Ubuntu 18.04.2 I have one machine where, every time systemd-networkd restarts (ie every time there is an update to systemd) the bond0 interface stops working.
I see both physical interfaces go soft down and then come back again:
Jun 21 07:28:24 odin.openstreet
Jun 21 07:28:24 odin.openstreet
Jun 21 07:28:24 odin.openstreet
Jun 21 07:28:24 odin.openstreet
Jun 21 07:28:24 odin.openstreet
Jun 21 07:28:25 odin.openstreet
Jun 21 07:28:25 odin.openstreet
Jun 21 07:28:25 odin.openstreet
and after that nothing until I stop systemd-networkd, delete the bond interface, and then start systemd-networkd again.
On most machines the cycle seems to take a bit longer and the interfaces reach a hard down start before coming back and in that case there seems to be no problem.
I think this is likely an instance of this upstream bug:
https:/
which has a fix here:
Related branches
- Robert Ancell (community): Approve
- Shih-Yuan Lee (community): Needs Resubmitting
- Dimitri John Ledkov: Pending requested
-
Diff: 432 lines (+392/-0)6 files modifieddebian/changelog (+33/-0)
debian/patches/hwdb-revert-airplane-mode-keys-handling-on-Dell.patch (+33/-0)
debian/patches/lp1668771-resolved-switch-cache-option-to-a-tri-state-option-s.patch (+229/-0)
debian/patches/lp1833671-networkd-keep-bond-slave-up-if-already-attached.patch (+50/-0)
debian/patches/lp1835581-src-network-networkd-dhcp4.c-set-prefsrc-for-classle.patch (+43/-0)
debian/patches/series (+4/-0)
Changed in systemd (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in systemd (Ubuntu Bionic): | |
assignee: | nobody → Dan Streetman (ddstreet) |
importance: | Undecided → Medium |
status: | New → In Progress |
tags: | added: ddstreet-next systemd |
description: | updated |
Changed in systemd (Ubuntu): | |
importance: | Undecided → Medium |
tags: | removed: ddstreet-next |
Status changed to 'Confirmed' because the bug affects multiple users.