[Bug 1964494] Re: Setting DuplicateAddressDetection=none doesn't disable DAD for link-local IPs

Steve Langasek 1964494 at bugs.launchpad.net
Fri Jun 10 16:53:54 UTC 2022


Hello Alejandro, or anyone else affected,

Accepted systemd into jammy-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/systemd/249.11-0ubuntu3.3 in a few
hours, and then in the -proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, what testing has been
performed on the package and change the tag from verification-needed-
jammy to verification-done-jammy. If it does not fix the bug for you,
please add a comment stating that, and change the tag to verification-
failed-jammy. In either case, without details of your testing we will
not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Changed in: systemd (Ubuntu Jammy)
       Status: In Progress => Fix Committed

** Tags added: verification-needed verification-needed-jammy

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, 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:
  Fix Released
Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Jammy:
  Fix Committed
Status in systemd source package in Kinetic:
  Fix Released

Bug description:
  [impact]

  manual disabling of ipv4 DAD (IACD) for static link-local address does
  not work in jammy

  [test case]

  see 'Reproducer' in original description below

  [regression potential]

  failure to disable DAD, or incorrect disabling of DAD, or networkd
  issues around parsing of DAD config parsing

  [scope]

  this is needed for j and k

  introduced upstream by commit
  1cf4ed142d6c1e2b9dc6a0bc74b6a83ae30b0f8e, first included in v249, so
  this bug does not affect impish or earlier

  fixed upstream by commit 2859932bd64d61a89f85fa027762bc16961fcf53

  [original 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




More information about the foundations-bugs mailing list