]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: do not drop IPv6LL address in link_drop_addresses() 20701/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 8 Sep 2021 07:18:52 +0000 (16:18 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 11 Sep 2021 01:49:11 +0000 (10:49 +0900)
src/network/networkd-address.c

index 1b8f52fcbfd8061d559ed9d24790ecd5cb9e2cd4..a885697969210d41873fa0889dde16f856aa8d4b 100644 (file)
@@ -882,7 +882,7 @@ int link_drop_foreign_addresses(Link *link) {
 
         SET_FOREACH(address, link->addresses_foreign) {
                 /* We consider IPv6LL addresses to be managed by the kernel, or dropped in link_drop_ipv6ll_addresses() */
-                if (address->family == AF_INET6 && in6_addr_is_link_local(&address->in_addr.in6) == 1)
+                if (address->family == AF_INET6 && in6_addr_is_link_local(&address->in_addr.in6))
                         continue;
 
                 if (link_address_is_dynamic(link, address)) {
@@ -915,8 +915,8 @@ int link_drop_addresses(Link *link) {
         assert(link);
 
         SET_FOREACH(address, link->addresses) {
-                /* we consider IPv6LL addresses to be managed by the kernel */
-                if (address->family == AF_INET6 && in6_addr_is_link_local(&address->in_addr.in6) == 1 && link_ipv6ll_enabled(link))
+                /* We consider IPv6LL addresses to be managed by the kernel, or dropped in link_drop_ipv6ll_addresses() */
+                if (address->family == AF_INET6 && in6_addr_is_link_local(&address->in_addr.in6))
                         continue;
 
                 k = address_remove(address, link);