]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
more ipv6 improvements
authorpallotron <pallotron@fb.com>
Wed, 5 Apr 2017 07:15:16 +0000 (00:15 -0700)
committerpallotron <pallotron@fb.com>
Wed, 5 Apr 2017 07:15:16 +0000 (00:15 -0700)
modules.d/40network/net-lib.sh

index b74fdbdd1bb0cc6ef2124cecc2268a7345bdde81..e0f761f3fe4622cc2593b3856e63c1fe3a7245a3 100755 (executable)
@@ -653,7 +653,9 @@ wait_for_ipv6_dad_link() {
     timeout=$(($timeout*10))
 
     while [ $cnt -lt $timeout ]; do
+        echo "wait_for_ipv6_dad_link..." 1>&2
         [ -z "$(ip -6 addr show dev "$1" scope link tentative)" ] \
+            && [ -n "$(ip -6 route list proto ra dev "$1" | grep default)" ] \
             && return 0
         [ -n "$(ip -6 addr show dev "$1" scope link dadfailed)" ] \
             && return 1
@@ -670,8 +672,9 @@ wait_for_ipv6_dad() {
     timeout=$(($timeout*10))
 
     while [ $cnt -lt $timeout ]; do
+        echo "wait_for_ipv6_dad..." 1>&2
         [ -z "$(ip -6 addr show dev "$1" tentative)" ] \
-            && [ -n "$(ip -6 route list proto ra dev "$1")" ] \
+            && [ -n "$(ip -6 route list proto ra dev "$1" | grep default)" ] \
             && return 0
         [ -n "$(ip -6 addr show dev "$1" dadfailed)" ] \
             && return 1
@@ -688,8 +691,9 @@ wait_for_ipv6_auto() {
     timeout=$(($timeout*10))
 
     while [ $cnt -lt $timeout ]; do
+        echo "wait_for_ipv6_auto..." 1>&2
         [ -z "$(ip -6 addr show dev "$1" tentative)" ] \
-            && [ -n "$(ip -6 route list proto ra dev "$1")" ] \
+            && [ -n "$(ip -6 route list proto ra dev "$1" | grep default)" ] \
             && return 0
         sleep 0.1
         cnt=$(($cnt+1))