debcrafters-packages team mailing list archive
-
debcrafters-packages team
-
Mailing list archive
-
Message #00864
[Bug 2098183] Re: Preserve IPv6 configurations when `KeepConfiguration=dhcp-on-stop` is set
This looks pretty much ready to go. I have only two questions -
debian/patches/lp2098183/0006-json-extend-JsonDispatch-flags-with-nullable-and-ref.patch
- this is an ABI break in libsystemd-shared. I don't *think* that's an issue because I don't think this can be used outside of systemd, and it seems all the users have strict version dependencies. Are there any interactions during the upgrade process we should be considering?
0003-network-process-queued-remove-requests-before-networ.patch - This
is in the oracular patch but not the noble patch; just checking that the
bug it fixes is not in the Noble package?
With answers to those I'm happy to accept.
--
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2098183
Title:
Preserve IPv6 configurations when `KeepConfiguration=dhcp-on-stop` is
set
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Focal:
Won't Fix
Status in systemd source package in Jammy:
Won't Fix
Status in systemd source package in Noble:
In Progress
Status in systemd source package in Oracular:
In Progress
Status in systemd source package in Plucky:
Fix Released
Bug description:
[Impact]
The IPv6 configuration is being cleared even though `KeepConfiguration` is set to `yes`, causing the iSCSI backend system to hang during shutdown.
[Fix]
Systemd upstream has addressed this issue.
https://github.com/systemd/systemd/pull/34989
[Test Plan]
<Verify the functionality of KeepConfiguration in preserving IPv6 configurations>
1. Set up a machine with an iSCSI backend in an IPv6-only environment.
2. Configure the `KeepConfiguration` option for each network device individually using drop-in configuration files (e.g., `/etc/systemd/network/*.network.d/*.conf`) or set the `"critical"` option to `true` in the Netplan configuration.
3. Power off the machine and verify that the system does not hang.
<Verify the serialization and deserialization functionality in the systemd-networkd service>
1. Enable debugging for systemd-networkd
> mkdir -p /etc/systemd/system/systemd-networkd.service.d/
> vim /etc/systemd/system/systemd-networkd.service.d/10-debug.conf
===
[Service]
Environment=SYSTEMD_LOG_LEVEL=debug
===
systemctl daemon-reload
2. Restart the systemd-networkd service twice using the `systemctl restart systemd-networkd` command.
3. Confirm that serialization and deserialization are functioning correctly by checking `/var/log/syslog`
2025-03-13T00:35:01.540134+00:00 oracular systemd-networkd[2998]: Serializing...
2025-03-13T00:35:01.540165+00:00 oracular systemd-networkd[2998]: enp0s9: Serializing DHCPv4 address (configured): 10.0.2.100/24 broadcast 10.0.2.255 (valid forever, preferred forever), flags: permanent, scope: global, label: n/a
2025-03-13T00:35:01.540193+00:00 oracular systemd-networkd[2998]: enp0s9: Serializing DHCPv6 address (configured): 2603:c020:4016:8201:48ee:6b22:d3e4:2e8/128 (valid for 1d 56min 49s, preferred for 23h 56min 49s), flags: no-prefixroute, scope: global
2025-03-13T00:35:01.540218+00:00 oracular systemd-networkd[2998]: Serialization completed.
...
2025-03-13T00:35:01.596591+00:00 oracular systemd-networkd[3029]: Deserializing...
2025-03-13T00:35:01.596612+00:00 oracular systemd-networkd[3029]: enp0s9: Deserialized DHCPv4 address (configured): 10.0.2.100/24 broadcast 10.0.2.255 (valid forever, preferred forever), flags: permanent, scope: global, label: n/a
2025-03-13T00:35:01.596635+00:00 oracular systemd-networkd[3029]: enp0s9: Deserialized DHCPv6 address (configured): 2603:c020:4016:8201:48ee:6b22:d3e4:2e8/128 (valid for 1d 56min 49s, preferred for 23h 56min 49s), flags: no-prefixroute, scope: global
2025-03-13T00:35:01.596662+00:00 oracular systemd-networkd[3029]: Deserialization completed.
<Verify that the IP address is removed when KeepConfiguration=no is set>
1. Check the name of the current network configuration file:
> ls /run/systemd/network/
10-netplan-enp0s9.link 10-netplan-enp0s9.network
2. Create a drop-in directory and override the KeepConfiguration setting:
> mkdir -p /etc/systemd/network/10-netplan-enp0s9.network.d
> vim /etc/systemd/network/10-netplan-enp0s9.network.d/10-netplan-enp0s9.network.conf
===
[Network]
KeepConfiguration=no
===
3. Restart the systemd-networkd service to apply the changes:
> systemctl restart systemd-networkd
4. Stop the systemd-networkd service and verify the IP address is dropped:
> systemctl stop systemd-networkd
> ip a
[Where problems could occur]
The patches introduce network serialization and deserialization behavior, ensuring that DHCPv6 addresses are preserved when `KeepConfiguration=yes` is set. If any regressions occur, error messages may appear when restarting `systemd-networkd`, but they will be ignored. Both IPv4/IPv6 configuration and the IPv6 connection may be affected.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2098183/+subscriptions