Bug#1056350: systemd: network int is stuck in "configuring" state if IPv6 RA msg deprecates a short-lived prefix
Martin Tonusoo
martin at tonusoo.ee
Tue Nov 21 14:10:36 GMT 2023
Package: systemd
Version: 252.17-1~deb12u1
Severity: normal
X-Debbugs-Cc: martin at tonusoo.ee
A network interface is stuck in "configuring" state in the output of
"networkctl" if a prefix advertised by IPv6 router advertisement
message is shortly(~1 second) deprecated by another IPv6 RA message.
Interface will stay in "configuring" state as long as the
systemd-networkd is restarted.
One can replicate this issue by executing the script below in IPv6
router:
---
#!/usr/bin/env bash
cat <<-EOF > /etc/radvd.conf
interface br0
{
AdvSendAdvert on;
MinRtrAdvInterval 60;
MaxRtrAdvInterval 180;
prefix 2001:db8:1234:1234::/64 { DecrementLifetimes on; AdvValidLifetime 60; AdvPreferredLifetime 60; };
};
EOF
systemctl reload radvd.service
sleep 1
cat <<-EOF > /etc/radvd.conf
interface br0
{
AdvSendAdvert on;
MinRtrAdvInterval 60;
MaxRtrAdvInterval 180;
prefix 2001:db8:1234:1234::/64 { DecrementLifetimes off; AdvValidLifetime 0; AdvPreferredLifetime 0; };
};
EOF
systemctl reload radvd.service
---
It often takes multiple tries to evoke the described behavior. The host network interface configuration is following:
---
[Match]
Name=ens7
[Network]
DHCP=yes
---
"IPv6AcceptRA=" is "enabled". The network interface stuck in "configuring"
state logs(systemd-networkd has debug logging enabled) following when
receiving the RA messages from the router:
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: NDISC: Received Router Advertisement: flags none preference medium lifetime 540 sec
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: NDISC: Invoking callback for 'router' event.
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: Requesting NDisc route (configuring,configured): dst: n/a, src: n/a, gw: fe80::a7:29ff:fea6:ec61, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: link_check_ready(): address 2001:db8:1234:1234:5054:ff:fe34:429d/64 is not ready.
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: Setting SLAAC addresses and router.
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: link_check_ready(): address 2001:db8:1234:1234:5054:ff:fe34:429d/64 is not ready.
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: Configuring NDisc route (requesting,configuring,configured): dst: n/a, src: n/a, gw: fe80::a7:29ff:fea6:ec61, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
Nov 21 14:27:39 hr-d1 systemd-networkd[272]: ens7: ndisc_check_ready(): no SLAAC address is ready.
2001:db8:1234:1234:5054:ff:fe34:429d/64 is the address which was
configured on ens7 for a second. fe80::a7:29ff:fea6:ec61
is the link-local address of the router sending the RA message.
The issue seems to be fixed in version 254.5-1~bpo12+2 from
bookworm-backports.
-- Package-specific info:
-- System Information:
Debian Release: 12.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-13-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages systemd depends on:
ii libacl1 2.3.1-3
ii libaudit1 1:3.0.9-1
ii libblkid1 2.38.1-5+b1
ii libc6 2.36-9+deb12u3
ii libcap2 1:2.66-4
ii libcryptsetup12 2:2.6.1-4~deb12u1
ii libfdisk1 2.38.1-5+b1
ii libgcrypt20 1.10.1-3
ii libkmod2 30+20221128-1
ii liblz4-1 1.9.4-1
ii liblzma5 5.4.1-0.2
ii libmount1 2.38.1-5+b1
ii libp11-kit0 0.24.1-2
ii libseccomp2 2.5.4-1+b3
ii libselinux1 3.4-1+b6
ii libssl3 3.0.11-1~deb12u2
ii libsystemd-shared 252.17-1~deb12u1
ii libsystemd0 252.17-1~deb12u1
ii libzstd1 1.5.4+dfsg2-5
ii mount 2.38.1-5+b1
Versions of packages systemd recommends:
ii dbus [default-dbus-system-bus] 1.14.10-1~deb12u1
ii systemd-timesyncd [time-daemon] 252.17-1~deb12u1
Versions of packages systemd suggests:
ii libfido2-1 1.12.0-2+b1
pn libqrencode4 <none>
pn libtss2-esys-3.0.2-0 <none>
pn libtss2-mu0 <none>
pn libtss2-rc0 <none>
pn polkitd | policykit-1 <none>
pn systemd-boot <none>
pn systemd-container <none>
pn systemd-homed <none>
pn systemd-resolved <none>
pn systemd-userdbd <none>
Versions of packages systemd is related to:
ii dbus-user-session 1.14.10-1~deb12u1
pn dracut <none>
ii initramfs-tools 0.142
ii libnss-systemd 252.17-1~deb12u1
ii libpam-systemd 252.17-1~deb12u1
ii udev 252.17-1~deb12u1
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list