Ensure ip brings interface up when adding addresses.
Fixes Gentoo #288889
This commit is contained in:
parent
ac7af85813
commit
da08e3822f
@ -103,13 +103,21 @@ dumpargs()
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
intup=false
|
||||||
runip()
|
runip()
|
||||||
{
|
{
|
||||||
local int="$1" err=
|
local int="$1" err=
|
||||||
|
|
||||||
shift
|
shift
|
||||||
err=$(LC_ALL=C ip address add "$@" dev "$int" 2>&1)
|
err=$(LC_ALL=C ip address add "$@" dev "$int" 2>&1)
|
||||||
[ -z "$err" ] && return 0
|
if [ -z "$err" ]; then
|
||||||
|
# ip does not bring up the interface when adding addresses
|
||||||
|
if ! intup; then
|
||||||
|
ip set link up dev "$int"
|
||||||
|
intup=true
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
if [ "$err" = "RTNETLINK answers: File exists" ]; then
|
if [ "$err" = "RTNETLINK answers: File exists" ]; then
|
||||||
ip address del "$@" dev "$int" 2>/dev/null
|
ip address del "$@" dev "$int" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
@ -194,7 +202,7 @@ start()
|
|||||||
-f /etc/ifup."$int" -o -f "$cf" ] || continue
|
-f /etc/ifup."$int" -o -f "$cf" ] || continue
|
||||||
veinfo "$int"
|
veinfo "$int"
|
||||||
case "$func" in
|
case "$func" in
|
||||||
ip) func=runip;;
|
ip) func=runip; intup=false;;
|
||||||
esac
|
esac
|
||||||
eindent
|
eindent
|
||||||
runargs /etc/ifup."$int" "$upcmd"
|
runargs /etc/ifup."$int" "$upcmd"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user