229-4ubuntu20 added ARP option breaks existing bonding interfaces
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd |
Fix Released
|
Unknown
|
|||
systemd (Ubuntu) |
Invalid
|
Critical
|
Unassigned | ||
Xenial |
Fix Released
|
Critical
|
Dimitri John Ledkov | ||
Zesty |
Invalid
|
Critical
|
Unassigned | ||
Artful |
Invalid
|
Critical
|
Unassigned | ||
Bionic |
Invalid
|
Critical
|
Unassigned |
Bug Description
[Impact]
* Setting [Link] MTUBytes= in .network file has a side-effect of overflowing and setting NOARP flag. This is not intended behaviour / regression.
* Trying to fix above by setting ARP=on fails to work as tristate is incorrectly acted upon by unconditionally adding NOARP flag
* This is a regression in -updates.
[Affected Users]
* Those who use networkd
* Do not use netplan (as that sets mtubytes in the .link files, not in the .network)
* Specify MTUBytes in .network file (not in the .link file)
[Test Case]
* Configure an ethernet device with a .network file alone
* e.g. Match by mac address and perform DHCP
* Add [Link] section to the .network file which changes MTUBytes
* Device brought up using this configuration should not have NOAPR flag in the output of iproute link output
* Further add ARP=off to that .network file, the link should have NOARP flag
* Further add ARP=on to that .network file, the link should not have NOARP flag
A test script is attached, that given an interface can abuse it to validate all of the above.
[Regression Potential]
* These are upstream fixes for ARP= key that are part of zesty and up
[Other Info]
* Upstream fixes
https:/
https:/
* Original bug report
this breaks existing configurations with bonding on upgrading from 229-4ubuntu19 to 229-4ubuntu20 on xenial
as bond interfaces are now by default configured without ARP. Hence you suddenly lose network connectivity on upgrade. Very bad for a SRU.
Plus adding "ARP=yes" to the Link section of a .network file does not work.
Before this update, bond interfaces (specifically 802.3ad) were defaulting to ARP enabled. After the upgrade, they are created with NOARP set on the link.
pre-upgrade:
eth0: <BROADCAST,
eth1: <BROADCAST,
bond0: <BROADCAST,
post-upgrade:
eth0: <BROADCAST,
eth1: <BROADCAST,
bond0: <BROADCAST,
Linux cnode11 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
description: | updated |
description: | updated |
Changed in systemd (Ubuntu): | |
importance: | Undecided → Critical |
Changed in systemd (Ubuntu Xenial): | |
status: | New → In Progress |
importance: | Undecided → Critical |
Changed in systemd (Ubuntu Zesty): | |
status: | New → Fix Released |
Changed in systemd (Ubuntu Artful): | |
status: | New → Fix Released |
Changed in systemd (Ubuntu Bionic): | |
status: | Confirmed → Fix Released |
Changed in systemd (Ubuntu Xenial): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → xenial-updates |
Changed in systemd: | |
status: | Unknown → Fix Released |
Changed in systemd (Ubuntu Zesty): | |
status: | Fix Released → Confirmed |
Changed in systemd (Ubuntu Bionic): | |
status: | Fix Released → Confirmed |
Changed in systemd (Ubuntu Zesty): | |
importance: | Undecided → Critical |
Changed in systemd (Ubuntu Artful): | |
status: | Fix Released → Confirmed |
importance: | Undecided → Critical |
Changed in systemd (Ubuntu Zesty): | |
status: | Confirmed → Invalid |
Changed in systemd (Ubuntu Bionic): | |
status: | Confirmed → Invalid |
Changed in systemd (Ubuntu Artful): | |
status: | Confirmed → Invalid |
description: | updated |
tags: |
added: regression-update removed: regression-updates |
How are eth0/eth1/bond0 configured?
Do you use netplan and networkd?
Do you use ifupdown?
Can you paste the output of $ networkctl?
Copies of the configuration e.g.:
/etc/network/ interfaces interfaces. d/* network/ * network/ *
/etc/network/
/etc/netplan/*
/run/systemd/
/etc/systemd/