commit:     5496033be61f97755627ba1da45421a2a635c09e
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 14 20:41:27 2017 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Tue Nov 14 20:41:27 2017 +0000
URL:        https://gitweb.gentoo.org/proj/netifrc.git/commit/?id=5496033b

net/iproute2: clarify "waiting for IPv6 addresses"

Per bug 636846, a user thought that "waiting for IPv6 addresses" was
SLAAC (Stateless Autoconfiguration). In Linux, SLAAC is entirely
kernel-side, and the waiting is actually for DAD (duplicate address
detection) on link-local IPv6 addresses.

- Improve the message to include both DAD & tentative.
- If --verbose is used, print the tentative addresses.

If either of the accept_dad sysctls are set to zero, then the kernel
should NOT mark any addresses as tentative.
- net.ipv6.conf.all.accept_dad=0
- net.ipv6.conf.$IFACE.accept_dad=0

Bug: https://bugs.gentoo.org/636846
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 net/iproute2.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/net/iproute2.sh b/net/iproute2.sh
index 6d7a3b5..d33ee11 100644
--- a/net/iproute2.sh
+++ b/net/iproute2.sh
@@ -463,7 +463,11 @@ iproute2_post_start()
        # This block must be non-fatal, otherwise the interface will not be
        # recorded as starting, and later services may be blocked.
        if _iproute2_ipv6_tentative; then
-               einfon "Waiting for IPv6 addresses (${_dad_timeout} seconds) "
+               if [ "$EINFO_VERBOSE" = "yes" ]; then
+                       veinfo "Found tentative addresses:"
+                       LC_ALL=C ip -family inet6 addr show dev ${IFACE} 
tentative
+               fi
+               einfon "Waiting for tentative IPv6 addresses to complete DAD 
(${_dad_timeout} seconds) "
                while [ $_dad_timeout -gt 0 ]; do
                        _iproute2_ipv6_tentative || break
                        sleep 1

Reply via email to