aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-12-03 18:02:57 +0000
committerRoy Marples <roy@marples.name>2007-12-03 18:02:57 +0000
commit6ce3bf096bb3e397371e38ee2625092d2470a5e8 (patch)
tree33c151838830aca1b3508d29ddb3a629a9bcde44
parentbf8d8a9be7e45120e11fb68c493f61b58e87a537 (diff)
Wait for IPv6 addresses to complete, Gentoo bug #169442.
-rw-r--r--net.BSD/ifconfig.sh8
-rw-r--r--net.Linux/iproute2.sh6
2 files changed, 14 insertions, 0 deletions
diff --git a/net.BSD/ifconfig.sh b/net.BSD/ifconfig.sh
index 6967bf45..404d1dee 100644
--- a/net.BSD/ifconfig.sh
+++ b/net.BSD/ifconfig.sh
@@ -222,4 +222,12 @@ ifconfig_pre_start() {
return 0
}
+ifconfig_post_start() {
+ vebegin "Waiting for IPv6 addresses"
+ while true; do
+ LC_ALL=C ifconfig "${IFACE}" | grep -q "^[[:space:]]*inet6 .* tentative" || break
+ done
+ veend 0
+}
+
# vim: set ts=4 :
diff --git a/net.Linux/iproute2.sh b/net.Linux/iproute2.sh
index d3f3e76a..d11cbccb 100644
--- a/net.Linux/iproute2.sh
+++ b/net.Linux/iproute2.sh
@@ -216,6 +216,12 @@ iproute2_post_start() {
if [ -e /proc/net/route ]; then
ip route flush table cache dev "${IFACE}"
fi
+
+ vebegin "Waiting for IPv6 addresses"
+ while true; do
+ LC_ALL=C ip addr show dev "${IFACE}" | grep -q "^[[:space:]]*inet6 .* tentative" || break
+ done
+ veend 0
}
iproute2_post_stop() {