From 6c31fed8cdc759863da65252da9ca55feb03faac Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Fri, 8 Sep 2023 11:45:58 +0200 Subject: [PATCH] device: check DAD result for manual method even without carrier IPv4 and IPv6 DAD work slightly differently: for IPv4 the presence or absence of carrier doesn't have any effect on the duration of the probe; for IPv6, DAD never completes without carrier because kernel never removes the tentative flag. In both cases, we shouldn't ignore the DAD result because that would mean that we complete the ipmanual method without addresses actually configured. --- src/core/devices/nm-device.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c index d8b6202626..d8908a103a 100644 --- a/src/core/devices/nm-device.c +++ b/src/core/devices/nm-device.c @@ -10392,11 +10392,8 @@ _dev_ipmanual_check_ready(NMDevice *self) } } - flags = NM_L3CFG_CHECK_READY_FLAGS_NONE; - if (has_carrier) { - flags |= NM_L3CFG_CHECK_READY_FLAGS_IP4_ACD_READY; - flags |= NM_L3CFG_CHECK_READY_FLAGS_IP6_DAD_READY; - } + flags = NM_L3CFG_CHECK_READY_FLAGS_IP4_ACD_READY; + flags |= NM_L3CFG_CHECK_READY_FLAGS_IP6_DAD_READY; for (IS_IPv4 = 0; IS_IPv4 < 2; IS_IPv4++) { const int addr_family = IS_IPv4 ? AF_INET : AF_INET6;