From: Yu Watanabe Date: Sun, 15 Sep 2019 21:07:38 +0000 (+0900) Subject: network: drop IPv6LL address when LinkLocalAddressing=no|ipv4 X-Git-Tag: v244~330^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5539fc0f73402add1f60298e75c91a454aa3a05c;p=platform%2Fupstream%2Fsystemd.git network: drop IPv6LL address when LinkLocalAddressing=no|ipv4 C.f. disscussion in #13533. Hopefully fixes #12886. --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index a05971c..f1aeb72 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -2389,7 +2389,7 @@ static int link_drop_foreign_config(Link *link) { SET_FOREACH(address, link->addresses_foreign, i) { /* we consider IPv6LL addresses to be managed by the kernel */ - if (address->family == AF_INET6 && in_addr_is_link_local(AF_INET6, &address->in_addr) == 1) + if (address->family == AF_INET6 && in_addr_is_link_local(AF_INET6, &address->in_addr) == 1 && link_ipv6ll_enabled(link)) continue; if (link_address_is_dynamic(link, address)) { @@ -2466,7 +2466,7 @@ static int link_drop_config(Link *link) { SET_FOREACH(address, link->addresses, i) { /* we consider IPv6LL addresses to be managed by the kernel */ - if (address->family == AF_INET6 && in_addr_is_link_local(AF_INET6, &address->in_addr) == 1) + if (address->family == AF_INET6 && in_addr_is_link_local(AF_INET6, &address->in_addr) == 1 && link_ipv6ll_enabled(link)) continue; r = address_remove(address, link, NULL);