base-files: allow failsafe to configure vlans
In preparation of properly setting up vlans and switches, add support for configuring failsafe on a vlan tagged interface. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
This commit is contained in:
parent
c18edcec45
commit
072cf26729
1 changed files with 29 additions and 3 deletions
|
@ -3,9 +3,22 @@
|
|||
# Copyright (C) 2010 Vertical Communications
|
||||
|
||||
preinit_ip_config() {
|
||||
grep -q "$1" /proc/net/dev || return
|
||||
local netdev vid
|
||||
|
||||
ip link set dev $1 up
|
||||
netdev=${1%\.*}
|
||||
vid=${1#*\.}
|
||||
|
||||
if [ "$vid" = "$netdev" ]; then
|
||||
vid=
|
||||
fi
|
||||
|
||||
grep -q "$netdev" /proc/net/dev || return
|
||||
|
||||
if [ -n "$vid" ]; then
|
||||
ip link add link $netdev name $1 type vlan id $vid
|
||||
fi
|
||||
|
||||
ip link set dev $netdev up
|
||||
ip -4 address add $pi_ip/$pi_netmask broadcast $pi_broadcast dev $1
|
||||
}
|
||||
|
||||
|
@ -52,8 +65,21 @@ preinit_ip() {
|
|||
|
||||
preinit_ip_deconfig() {
|
||||
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
|
||||
local netdev vid
|
||||
|
||||
netdev=${pi_ifname%\.*}
|
||||
vid=${pi_ifname#*\.}
|
||||
|
||||
if [ "$vid" = "$netdev" ]; then
|
||||
vid=
|
||||
fi
|
||||
|
||||
ip -4 address flush dev $pi_ifname
|
||||
ip link set dev $pi_ifname down
|
||||
ip link set dev $netdev down
|
||||
|
||||
if [ -n "$vid" ]; then
|
||||
ip link delete $pi_ifname
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue