@enr0n
First of all, I sincerely appreciate you taking the time to review these 
patches. I acknowledge that this patch set is quite large and resembles a 
feature backport. However, the reason for backporting it stems from a request 
by one of our customers. We have discussed the challenges of backporting with 
them, but it has been difficult to persuade them otherwise, given that Noble is 
an LTS release and the next LTS release is still a long way off.
I have been working on this backport for quite some time, making every effort 
to minimize changes beyond the essential fixes. I have outlined the purpose of 
each patch above, and a significant portion of them is required for network 
configuration serialization/deserialization. These patches do not impact 
existing logic but are still necessary, as the actual fixes depend on them. In 
both Noble and Oracular, only three commits directly address bugs and modify 
the process flow.
I understand that backporting such a large patch set for an SRU is challenging, 
but I have done my best to limit the scope of changes. I would truly appreciate 
it if you could take some time to review the patches. Please let me know if 
there is anything I can do to assist.

-- 
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/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:
  New
Status in systemd source package in Jammy:
  New
Status in systemd source package in Noble:
  Incomplete
Status in systemd source package in Oracular:
  Incomplete
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.

  [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


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