From dc5361ea16bf5bffab43823eb128f4081f0a5097 Mon Sep 17 00:00:00 2001 From: Colin Percival Date: Wed, 17 May 2023 20:17:24 -0700 Subject: [PATCH] rc.d/netif: Don't DAD if lo0 is the only IPv6 IF The code in rc.d/netif waiting for IPv6 Duplicate Address Detection if any network interfaces support IPv6. Unfortunately, since lo0 *always* has IPv6 enabled, this means unconditionally sleeping, even on systems which have no external IPv6 interfaces. Since we presume that there is little risk of a duplicate address being assigned on lo0, amend the test to wait only if there is an interface *other than lo0* which supports IPv6. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D40141 --- libexec/rc/rc.d/netif | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/netif b/libexec/rc/rc.d/netif index 1a2fe0b7358..ba6b4391737 100755 --- a/libexec/rc/rc.d/netif +++ b/libexec/rc/rc.d/netif @@ -215,7 +215,7 @@ netif_common() esac if ${_func} ${ifn} $2; then _ok="${_ok} ${ifn}" - if ipv6if ${ifn}; then + if ipv6if ${ifn} && [ "${ifn}" != "lo0" ]; then _dadwait=1 fi else