You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a server environment, I want to be able to restart networkd and (assuming the network configuration is already set up), have networkd not change anything which would break IP connectivity. Particularly, if an IP address is configured on an interface, and that's the expected IP, it should be left intact rather than deleting and re-adding it. For static IPs I've used KeepConfiguration = static to achieve this, and I can restart networkd with no impact.
I need this to work for SLAAC addrs as well; upon restart of networkd, if a valid SLAAC addr is already configured on the link, it should be left intact and not deleted and re-added.
Unexpected behaviour you saw
During restart of systemd-networkd, particularly during start, I can see that already-configured, not-expired SLAAC addrs are deleted off of the interface (observable via ip monitor). With debug enabled the logs indicate the addr is considered foreign:
eth6: Removing foreign address (configured,marked): REDACTED/64 (valid for 4w 1d 23h 59min 58s, preferred for 6d 23h 59min 58s), flags: manage-temporary-address,no-prefixroute, scope: global
...
eth6: Forgetting foreign address (n/a): REDACTED/64 (valid for 4w 1d 23h 59min 58s, preferred for 6d 23h 59min 58s), flags: manage-temporary-address,no-prefixroute, scope: global
After the RA results in the interface getting a SLAAC addr, systemctl restart systemd-networkd and either via ip monitor or the debug logs, observe that networkd (temporarily) removes the addr.
Additional program output to the terminal or log subsystem illustrating the issue
No response
The text was updated successfully, but these errors were encountered:
@yuwata How do you suggest implementing this? I assume we can extend KeepConfiguration to cover SLAAC as well?
Yes, currently, KeepConfiguration= does not cover dynamic IPv6 addresses, SLAAC and DHCPv6.
To implement that, we need to dump internal configs to somewhere before stop, and parse it on start. Otherwise, some internal information e.g. router address or so, will be lost.
systemd version the issue has been seen with
255
Used distribution
CentOS9
Linux kernel version used
5.19
CPU architectures issue was seen on
x86_64
Component
systemd-networkd
Expected behaviour you didn't see
In a server environment, I want to be able to restart networkd and (assuming the network configuration is already set up), have networkd not change anything which would break IP connectivity. Particularly, if an IP address is configured on an interface, and that's the expected IP, it should be left intact rather than deleting and re-adding it. For static IPs I've used
KeepConfiguration = static
to achieve this, and I can restart networkd with no impact.I need this to work for SLAAC addrs as well; upon restart of networkd, if a valid SLAAC addr is already configured on the link, it should be left intact and not deleted and re-added.
Unexpected behaviour you saw
During restart of systemd-networkd, particularly during start, I can see that already-configured, not-expired SLAAC addrs are deleted off of the interface (observable via
ip monitor
). With debug enabled the logs indicate the addr is considered foreign:Steps to reproduce the problem
Configure a SLAAC interface:
After the RA results in the interface getting a SLAAC addr,
systemctl restart systemd-networkd
and either viaip monitor
or the debug logs, observe that networkd (temporarily) removes the addr.Additional program output to the terminal or log subsystem illustrating the issue
No response
The text was updated successfully, but these errors were encountered: