64b87c
From 10e5b14705e5bb732e66e8f08317529aa7bc8017 Mon Sep 17 00:00:00 2001
64b87c
From: Harald Hoyer <harald@redhat.com>
64b87c
Date: Thu, 7 May 2015 14:42:10 +0200
64b87c
Subject: [PATCH] network:dhcp:wait_for_ipv6_dad() in PREINIT6
64b87c
64b87c
---
64b87c
 modules.d/40network/dhclient-script.sh | 3 ++-
64b87c
 modules.d/40network/net-lib.sh         | 2 +-
64b87c
 2 files changed, 3 insertions(+), 2 deletions(-)
64b87c
64b87c
diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh
1755ca
index 885303a2..aef94d6c 100755
64b87c
--- a/modules.d/40network/dhclient-script.sh
64b87c
+++ b/modules.d/40network/dhclient-script.sh
64b87c
@@ -95,8 +95,9 @@ case $reason in
64b87c
         ;;
64b87c
 
64b87c
     PREINIT6)
64b87c
-        echo "dhcp: PREINIT $netif up"
64b87c
+        echo "dhcp: PREINIT6 $netif up"
64b87c
         linkup $netif
64b87c
+        wait_for_ipv6_dad $netif
64b87c
         ;;
64b87c
 
64b87c
     BOUND)
64b87c
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
1755ca
index 89b1101d..220480b2 100755
64b87c
--- a/modules.d/40network/net-lib.sh
64b87c
+++ b/modules.d/40network/net-lib.sh
64b87c
@@ -522,7 +522,7 @@ wait_for_ipv6_dad() {
64b87c
     local cnt=0
64b87c
     local li
64b87c
     while [ $cnt -lt 500 ]; do
64b87c
-        li=$(ip -6 addr show dev $1)
64b87c
+        li=$(ip -6 addr show dev $1 scope link)
64b87c
         strstr "$li" "tentative" || return 0
64b87c
         sleep 0.1
64b87c
         cnt=$(($cnt+1))