]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
local-addresses: ignore tentative addresses
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 19 Jan 2024 10:44:49 +0000 (19:44 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 20 Jan 2024 07:07:19 +0000 (16:07 +0900)
As tentative addresses may be dropped soon if DAD failed.

src/shared/local-addresses.c
test/units/testsuite-13.nss-mymachines.sh

index 48777e4c478673a339f5af7a3bbb783d33b2f42a..43f0a2d89a4e33499fee0d58e03574cbba47edb2 100644 (file)
@@ -123,7 +123,7 @@ int local_addresses(
                 r = sd_rtnl_message_addr_get_flags(m, &flags);
                 if (r < 0)
                         return r;
-                if (flags & IFA_F_DEPRECATED)
+                if ((flags & (IFA_F_DEPRECATED|IFA_F_TENTATIVE)) != 0)
                         continue;
 
                 if (!GREEDY_REALLOC0(list, n_list+1))
index b566c7343d0707fe36aebd8425c883282ef27603..931b93f953fd1166635ea720ac67350183a7e108 100755 (executable)
@@ -56,7 +56,7 @@ ip addr add 10.2.0.2/24 dev ve-manyips
 for i in {100..120}; do
     ip addr add 10.2.0.$i/24 dev ve-manyips
 done
-ip addr add fd00:dead:beef:cafe::2/64 dev ve-manyips
+ip addr add fd00:dead:beef:cafe::2/64 dev ve-manyips nodad
 ip addr show dev ve-manyips
 touch /initialized
 sleep infinity
@@ -90,7 +90,7 @@ done
 # getaddrinfo() return EAI_NONAME without ever asking nss-mymachines.
 ip addr add 10.1.0.1/24 dev ve-singleip
 ip addr add 10.2.0.1/24 dev ve-manyips
-ip addr add fd00:dead:beef:cafe::1/64 dev ve-manyips
+ip addr add fd00:dead:beef:cafe::1/64 dev ve-manyips nodad
 
 getent hosts -s mymachines
 getent ahosts -s mymachines