From af9383c6d20173dbfbbf24fcaba1f65f3d23cce3 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 17 Sep 2015 09:55:23 -0500 Subject: [PATCH] device: increase IPv6LL DAD timeout (rh #1101809) Depending on the network and the values of the 'dad_transmits' and 'retrans_timeout_ms' sysctls, DAD for the IPv6LL address can take quite a while. Obviously there must be some upper bound on the timeout, but 5 seconds seems a bit low. In this case it was observed to be ~12 seconds but the sysctl values are unknown. In any case, we can't predict the network/config so being a bit more lenient here makes sense. https://bugzilla.redhat.com/show_bug.cgi?id=1101809 (cherry picked from commit 5b374a4a9fc01e8da70659bf7de7ab50a7486c13) --- src/devices/nm-device.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 9a6f1186f6..29a6cd3924 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -4536,7 +4536,12 @@ linklocal6_start (NMDevice *self) check_and_add_ipv6ll_addr (self); - priv->linklocal6_timeout_id = g_timeout_add_seconds (5, linklocal6_timeout_cb, self); + /* Depending on the network and what the 'dad_transmits' and 'retrans_time_ms' + * sysctl values are, DAD for the IPv6LL address may take quite a while. + * FIXME: use dad/retrans sysctl values if they are higher than a minimum time. + * (rh #1101809) + */ + priv->linklocal6_timeout_id = g_timeout_add_seconds (15, linklocal6_timeout_cb, self); return NM_ACT_STAGE_RETURN_POSTPONE; }