debcrafters-packages team mailing list archive
-
debcrafters-packages team
-
Mailing list archive
-
Message #01281
[Bug 2098183] Re: Preserve IPv6 configurations when `KeepConfiguration=dhcp-on-stop` is set
The proposed packages for Noble and Oracular have been tested, and all
results are as expected.
[Noble]
> apt policy systemd
systemd:
Installed: 255.4-1ubuntu8.7
Candidate: 255.4-1ubuntu8.7
Version table:
*** 255.4-1ubuntu8.7 100
100 http://archive.ubuntu.com/ubuntu noble-proposed/main amd64 Packages
100 /var/lib/dpkg/status
255.4-1ubuntu8.6 500
500 http://iad-ad-3.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
255.4-1ubuntu8 500
500 http://iad-ad-3.clouds.archive.ubuntu.com/ubuntu noble/main amd64 Packages
<Verify the functionality of KeepConfiguration in preserving IPv6 configurations>
> iscsiadm -m session
tcp: [1] [fd00:00c1:0000:0000:0000:0000:a9fe:0002]:3260,1 iqn.2015-02.oracle.boot:uefi (non-flash)
<Verify the serialization and deserialization functionality in the systemd-networkd service>
2025-05-31T04:11:43.169341+00:00 chengen-noble systemd-networkd[1325]: Serializing...
2025-05-31T04:11:43.169377+00:00 chengen-noble systemd-networkd[1325]: enp0s5: Serializing DHCPv4 address (configured): 10.0.2.86/24 broadcast 10.0.2.255 (valid forever, preferred forever), flags: permanent, scope: global, label: n/a
2025-05-31T04:11:43.169400+00:00 chengen-noble systemd-networkd[1325]: enp0s5: Serializing NDisc route (configured): dst: n/a, src: n/a, gw: fe80::200:17ff:fed4:8801, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.169424+00:00 chengen-noble systemd-networkd[1325]: enp0s5: Serializing DHCPv4 route (configured): dst: 169.254.169.254/32, src: n/a, gw: n/a, prefsrc: 10.0.2.86, scope: link, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.169443+00:00 chengen-noble systemd-networkd[1325]: enp0s5: Serializing DHCPv4 route (configured): dst: 169.254.0.0/16, src: n/a, gw: n/a, prefsrc: 10.0.2.86, scope: link, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.169465+00:00 chengen-noble systemd-networkd[1325]: enp0s5: Serializing DHCPv4 route (configured): dst: 10.0.2.1/32, src: n/a, gw: n/a, prefsrc: 10.0.2.86, scope: link, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.169487+00:00 chengen-noble systemd-networkd[1325]: enp0s5: Serializing DHCPv4 route (configured): dst: n/a, src: n/a, gw: 10.0.2.1, prefsrc: 10.0.2.86, scope: global, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.169510+00:00 chengen-noble systemd-networkd[1325]: enp0s5: Serializing NDisc route (configured): dst: 2603:c020:4016:8201::/64, src: n/a, gw: n/a, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.169581+00:00 chengen-noble systemd-networkd[1325]: Serialization completed.
...
2025-05-31T04:11:43.214024+00:00 chengen-noble systemd-networkd[1333]: Deserializing...
2025-05-31T04:11:43.214050+00:00 chengen-noble systemd-networkd[1333]: enp0s5: Deserialized DHCPv4 address (configured): 10.0.2.86/24 broadcast 10.0.2.255 (valid forever, preferred forever), flags: permanent, scope: global, label: n/a
2025-05-31T04:11:43.214075+00:00 chengen-noble systemd-networkd[1333]: enp0s5: Deserialized NDisc route (configured): dst: n/a, src: n/a, gw: fe80::200:17ff:fed4:8801, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.214121+00:00 chengen-noble systemd-networkd[1333]: enp0s5: Deserialized DHCPv4 route (configured): dst: 169.254.169.254/32, src: n/a, gw: n/a, prefsrc: 10.0.2.86, scope: link, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.214141+00:00 chengen-noble systemd-networkd[1333]: enp0s5: Deserialized DHCPv4 route (configured): dst: 169.254.0.0/16, src: n/a, gw: n/a, prefsrc: 10.0.2.86, scope: link, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.214160+00:00 chengen-noble systemd-networkd[1333]: enp0s5: Deserialized DHCPv4 route (configured): dst: 10.0.2.1/32, src: n/a, gw: n/a, prefsrc: 10.0.2.86, scope: link, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.214181+00:00 chengen-noble systemd-networkd[1333]: enp0s5: Deserialized DHCPv4 route (configured): dst: n/a, src: n/a, gw: 10.0.2.1, prefsrc: 10.0.2.86, scope: global, table: main(254), proto: dhcp, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.214201+00:00 chengen-noble systemd-networkd[1333]: enp0s5: Deserialized NDisc route (configured): dst: 2603:c020:4016:8201::/64, src: n/a, gw: n/a, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 100, flags: n/a
2025-05-31T04:11:43.214219+00:00 chengen-noble systemd-networkd[1333]: Deserialization completed.
<Verify that the IP address is removed when KeepConfiguration=no is set>
> ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether 02:00:17:09:d1:42 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.86/24 metric 100 brd 10.0.2.255 scope global dynamic enp0s5
valid_lft 86395sec preferred_lft 86395sec
inet6 fe80::17ff:fe09:d142/64 scope link
valid_lft forever preferred_lft forever
> systemctl stop systemd-networkd.socket
> systemctl stop systemd-networkd
> ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether 02:00:17:09:d1:42 brd ff:ff:ff:ff:ff:ff
inet6 fe80::17ff:fe09:d142/64 scope link
valid_lft forever preferred_lft forever
[Oracular]
> apt policy systemd
systemd:
Installed: 256.5-2ubuntu3.2
Candidate: 256.5-2ubuntu3.2
Version table:
*** 256.5-2ubuntu3.2 100
100 http://archive.ubuntu.com/ubuntu oracular-proposed/main amd64 Packages
100 /var/lib/dpkg/status
255.4-1ubuntu8.6 500
500 http://iad-ad-3.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
255.4-1ubuntu8 500
500 http://iad-ad-3.clouds.archive.ubuntu.com/ubuntu noble/main amd64 Packages
<Verify the functionality of KeepConfiguration in preserving IPv6 configurations>
> iscsiadm -m session
tcp: [1] [fd00:00c1:0000:0000:0000:0000:a9fe:0002]:3260,1 iqn.2015-02.oracle.boot:uefi (non-flash)
<Verify the serialization and deserialization functionality in the systemd-networkd service>
2025-05-31T04:11:44.553253+00:00 chengen-oracular systemd-networkd[1343]: Serializing...
2025-05-31T04:11:44.553273+00:00 chengen-oracular systemd-networkd[1343]: enp0s5: Serializing DHCPv4 address (configured): 10.0.2.146/24 broadcast 10.0.2.255 (valid forever, preferred forever), flags: permanent,no-prefixroute, scope: global, label: n/a
2025-05-31T04:11:44.553295+00:00 chengen-oracular systemd-networkd[1343]: enp0s5: Serializing DHCPv4 route (configuring,configured): dst: 169.254.0.0/16, src: n/a, gw: n/a, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: link, type: unicast, flags: n/a
2025-05-31T04:11:44.553319+00:00 chengen-oracular systemd-networkd[1343]: enp0s5: Serializing DHCPv4 route (configuring,configured): dst: 10.0.2.1/32, src: n/a, gw: n/a, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: link, type: unicast, flags: n/a
2025-05-31T04:11:44.553338+00:00 chengen-oracular systemd-networkd[1343]: enp0s5: Serializing DHCPv4 route (configuring,configured): dst: n/a, src: n/a, gw: 10.0.2.1, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: global, type: unicast, flags: n/a
2025-05-31T04:11:44.553357+00:00 chengen-oracular systemd-networkd[1343]: enp0s5: Serializing DHCPv4 route (configuring,configured): dst: 169.254.169.254/32, src: n/a, gw: n/a, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: link, type: unicast, flags: n/a
2025-05-31T04:11:44.553376+00:00 chengen-oracular systemd-networkd[1343]: Serialization completed.
...
2025-05-31T04:11:44.608519+00:00 chengen-oracular systemd-networkd[1357]: Deserializing...
2025-05-31T04:11:44.608546+00:00 chengen-oracular systemd-networkd[1357]: enp0s5: Deserialized DHCPv4 address (configured): 10.0.2.146/24 broadcast 10.0.2.255 (valid forever, preferred forever), flags: permanent,no-prefixroute, scope: global, label: n/a
2025-05-31T04:11:44.608577+00:00 chengen-oracular systemd-networkd[1357]: enp0s5: Deserialized DHCPv4 route (configured): dst: 169.254.0.0/16, src: n/a, gw: n/a, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: link, type: unicast, flags: n/a
2025-05-31T04:11:44.608604+00:00 chengen-oracular systemd-networkd[1357]: enp0s5: Deserialized DHCPv4 route (configured): dst: 10.0.2.1/32, src: n/a, gw: n/a, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: link, type: unicast, flags: n/a
2025-05-31T04:11:44.608630+00:00 chengen-oracular systemd-networkd[1357]: enp0s5: Deserialized DHCPv4 route (configured): dst: n/a, src: n/a, gw: 10.0.2.1, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: global, type: unicast, flags: n/a
2025-05-31T04:11:44.608657+00:00 chengen-oracular systemd-networkd[1357]: enp0s5: Deserialized DHCPv4 route (configured): dst: 169.254.169.254/32, src: n/a, gw: n/a, prefsrc: 10.0.2.146, table: main(254), priority: 100, proto: dhcp, scope: link, type: unicast, flags: n/a
2025-05-31T04:11:44.608683+00:00 chengen-oracular systemd-networkd[1357]: Deserialization completed.
<Verify that the IP address is removed when KeepConfiguration=no is set>
> ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether 02:00:17:14:58:b4 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.146/24 metric 100 brd 10.0.2.255 scope global dynamic enp0s5
valid_lft 86398sec preferred_lft 86398sec
inet6 fe80::17ff:fe14:58b4/64 scope link
valid_lft forever preferred_lft forever
> systemctl stop systemd-networkd.socket
> systemctl stop systemd-networkd
> ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether 02:00:17:14:58:b4 brd ff:ff:ff:ff:ff:ff
inet6 fe80::17ff:fe14:58b4/64 scope link
valid_lft forever preferred_lft forever
** Tags removed: verification-needed verification-needed-noble verification-needed-oracular
** Tags added: verification-done verification-done-noble verification-done-oracular
--
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:
Fix Committed
Status in systemd source package in Oracular:
Fix Committed
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