Thank you for reporting this. I've forwarded it to the upstream developers, as I think at very least this new behavior should be documented in https://systemd.network/systemd.network.html#DuplicateAddressDetection=
https://github.com/systemd/systemd/issues/22763 ** Bug watch added: github.com/systemd/systemd/issues #22763 https://github.com/systemd/systemd/issues/22763 ** Changed in: systemd (Ubuntu) Status: Confirmed => Triaged ** Changed in: systemd (Ubuntu) Importance: Undecided => Medium ** Also affects: systemd via https://github.com/systemd/systemd/issues/22763 Importance: Unknown Status: Unknown -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1964494 Title: Setting DuplicateAddressDetection=none doesn't disable DAD for link- local IPs Status in systemd: Unknown Status in systemd package in Ubuntu: Triaged Bug description: 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 To manage notifications about this bug go to: https://bugs.launchpad.net/systemd/+bug/1964494/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp