We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 97b6ed3 commit 9e86dbaCopy full SHA for 9e86dba
src/network/networkd-address.c
@@ -895,8 +895,11 @@ int link_drop_addresses(Link *link) {
895
if (!address_exists(address))
896
continue;
897
898
- /* We consider IPv6LL addresses to be managed by the kernel, or dropped in link_drop_ipv6ll_addresses() */
899
- if (address->family == AF_INET6 && in6_addr_is_link_local(&address->in_addr.in6))
+ /* Do not drop IPv6LL addresses assigned by the kernel here. They will be dropped in
+ * link_drop_ipv6ll_addresses() if IPv6LL addressing is disabled. */
900
+ if (address->source == NETWORK_CONFIG_SOURCE_FOREIGN &&
901
+ address->family == AF_INET6 &&
902
+ in6_addr_is_link_local(&address->in_addr.in6))
903
904
905
k = address_remove(address);
0 commit comments