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
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 package in Ubuntu:
  New

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/ubuntu/+source/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

Reply via email to