b7ed5384ab55cd4d7b8d7d1ec7f5d5e145f0a2b1
When we are receiving address lifetime valid and lifetime preferred '0' we set them via ndisc. That makes is shows as depricated and we treat this as not ready. In link_check_ready we look for whether address is depricated and since this is depricated we never configure this link. Thanks to Marc Haber <mh+github@zugschlus.de> lifetime 0 a valid, and common, use case. It enables an installation to autoconfigure systems in a way that they become immediately reachable without needing local configuration after they have been turned on (for example, for remote configuration). The local admin can then configure additional, static IP addresses to be used for the server's service (and the IP adress _only_, while the rest of network configuration still comes from autoconfiguration), while _KEEPING_ the possibiltiy to reach the system over the autoconfigured address in the case that static configuration fails. The correct way is to handle the announcement exactly as it is correctly handled in the released software: It configures the address as "deprecated", causing the kernel to accept packets addresses to it, and not to use it for outgoing packets/connections _UNLESS_ there is no other way to send the packet out. The only change that is needed is that systemd-networkd should not wedge itself in that case, it should just continue working (with two IP addresses configured on the interface). An IPv6 address with a remamining lifetime of zero is _NOT_ like an expired IPv4 DHCP lease, it's still a valid and useable IP address. It is just that the network advises the host not to use the address any more for outgoing traffic _UNLESS_ there is no other way to send the traffic. Fixes #6359
…
…
…
…
…
…
…
…
systemd - System and Service Manager
Details
General information about systemd can be found in the systemd Wiki.
Information about build requirements are provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the HACKING file for information how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list or join our IRC channel.
Languages
C
88.5%
Shell
5.7%
Python
4.6%
Meson
1.1%