@ -152,7 +152,7 @@ sort_list() {
prepare_interface( ) {
local iface = " $1 "
local config = " $2 "
local vif mac= " $3 "
local macaddr = " $3 "
# if we're called for the bridge interface itself, don't bother trying
# to create any interfaces here. The scripts have already done that, otherwise
@ -166,13 +166,15 @@ prepare_interface() {
# make sure the interface is removed from any existing bridge and deconfigured,
# (deconfigured only if the interface is not set to proto=none)
unbridge " $iface "
[ " $proto " = none ] || ifconfig " $iface " 0.0.0.0
# Change interface MAC address if requested
[ -n " $vifmac " ] && {
ifconfig " $iface " down
ifconfig " $iface " hw ether " $vifmac " up
}
local mtu macaddr txqueuelen
config_get mtu " $config " mtu
[ -n " $macaddr " ] || config_get macaddr " $config " macaddr
config_get txqueuelen " $config " txqueuelen
[ -n " $macaddr " ] && $DEBUG ifconfig " $iface " down
$DEBUG ifconfig " $iface " ${ macaddr : +hw ether " $macaddr " } ${ mtu : +mtu $mtu } ${ txqueuelen : +txqueuelen $txqueuelen } up
[ " $proto " = none ] || ifconfig " $iface " 0.0.0.0
# Apply sysctl settings
map_sysctls " $config " " $iface "
@ -350,14 +352,6 @@ setup_interface() {
}
# Interface settings
grep -qE " ^ * $iface : " /proc/net/dev && {
local mtu macaddr txqueuelen
config_get mtu " $config " mtu
config_get macaddr " $config " macaddr
config_get txqueuelen " $config " txqueuelen
[ -n " $macaddr " ] && $DEBUG ifconfig " $iface " down
$DEBUG ifconfig " $iface " ${ macaddr : +hw ether " $macaddr " } ${ mtu : +mtu $mtu } ${ txqueuelen : +txqueuelen $txqueuelen } up
}
set_interface_ifname " $config " " $iface "
[ -n " $proto " ] || config_get proto " $config " proto