Public bug reported: A customer reported network disconnections on their storage servers when running 'netplan apply'. The culprit was that they have link-local addresses configured and the Duplicate Address Detection (DAD) mechanism was delaying the interfaces from coming back up.
As a workaround we tried to disable DAD for the interfaces but that's not working in Ubuntu 22.04: I've noticed that setting DuplicateAddressDetection=none for an interface with a link-local address (e.g., 169.254.*) via a .network file added to /etc/systemd/network/ doesn't really disable Duplicate Address Detection. OS and package versions: ------------------------ - Description: Ubuntu Jammy Jellyfish (development branch). Release: 22.04 - systemd 249.5-2ubuntu4 Reproducer: ----------- 1- Set up Ubuntu 22.04 VM 2- Increase systemlog level: mkdir -p /etc/systemd/system/systemd-networkd.service.d/ cat > /etc/systemd/system/systemd-networkd.service.d/10-debug.conf <<EOF [Service] Environment=SYSTEMD_LOG_LEVEL=debug EOF systemctl daemon-reload && systemctl restart systemd-networkd 3- Configure a link-local address to a network interface on the VM: vi /etc/systemd/network/10-netplan-enp7s0.network # add [Match] Name=enp7s0 [Address] Address=169.254.240.10/24 DuplicateAddressDetection=ipv4 4- Restart services and apply systemctl daemon-reload && systemctl restart systemd-networkd && systemctl restart networkd-dispatcher.service netplan apply 5- Check if DAD is running (it should): journalctl -b -u systemd-networkd --no-pager -o short-precise | grep -i ACD 6- Set DuplicateAddressDetection=none in /etc/systemd/network/10-netplan-enp7s0.network 7- Restart services and apply as in step 4 8- Check if DAD is running as in step 5 (it shouldn't, but it's there) After step 7 DAD should be disabled as expected and it shouldn't be executed when running 'netplan apply' but it is actually executed. I think this commit [1] may be related (landed in systemd v249). I've also tested the out-of-the-box systemd versions for Focal and Impish but there I can effectively disable DAD. If the IPs are set to non-link local addresses then the problem is not observed anymore. [1] https://github.com/systemd/systemd/commit/1cf4ed142d6c1e2b9dc6a0bc74b6a83ae30b0f8e ** Affects: systemd (Ubuntu) Importance: Undecided Status: New ** Tags: duplicateaddressdetection systemd ** Attachment added: "Tests results on Focal and Jammy chowing DAD running despite the value of DuplicateAddressDetection" https://bugs.launchpad.net/bugs/1964494/+attachment/5567746/+files/tests-jammy-and-focal ** Summary changed: - Setting DuplicateAddressDetection=none doesn't do anything + Setting DuplicateAddressDetection=none doesn't disable DAD ** Summary changed: - Setting DuplicateAddressDetection=none doesn't disable DAD + Setting DuplicateAddressDetection=none doesn't disable DAD for link-local IPs -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1964494 Title: Setting DuplicateAddressDetection=none doesn't disable DAD for link- local IPs To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1964494/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs