Browse Source

network:wait_for_ifup() handle "NO-CARRIER" output

if "NO-CARRIER" is one of the flags, we surely have no link yet.

(cherry picked from commit f059985b14)
master
Harald Hoyer 10 years ago
parent
commit
a49c1f049b
  1. 30
      modules.d/40network/net-lib.sh

30
modules.d/40network/net-lib.sh

@ -537,20 +537,22 @@ wait_for_if_up() { @@ -537,20 +537,22 @@ wait_for_if_up() {

while [ $cnt -lt $timeout ]; do
li=$(ip -o link show up dev $1)
if [ -n "$li" ]; then
case "$li" in
*\<UP*)
return 0;;
*\<*,UP\>*)
return 0;;
*\<*,UP,*\>*)
return 0;;
esac
fi
if strstr "$li" "LOWER_UP" \
&& strstr "$li" "state UNKNOWN" \
&& ! strstr "$li" "DORMANT"; then
return 0
if ! strstr "$li" "NO-CARRIER"; then
if [ -n "$li" ]; then
case "$li" in
*\<UP*)
return 0;;
*\<*,UP\>*)
return 0;;
*\<*,UP,*\>*)
return 0;;
esac
fi
if strstr "$li" "LOWER_UP" \
&& strstr "$li" "state UNKNOWN" \
&& ! strstr "$li" "DORMANT"; then
return 0
fi
fi
sleep 0.1
cnt=$(($cnt+1))

Loading…
Cancel
Save