|
|
@@ -66,6 +66,7 @@ setup_interface() {
|
|
|
local iface="$1"
|
|
|
local config="$2"
|
|
|
local proto
|
|
|
+ local macaddr
|
|
|
|
|
|
[ -n "$config" ] || {
|
|
|
config=$(find_config "$iface")
|
|
|
@@ -76,7 +77,8 @@ setup_interface() {
|
|
|
config_get iftype "$config" type
|
|
|
|
|
|
ifconfig "$iface" 2>/dev/null >/dev/null && {
|
|
|
- # make sure the interface is removed from any existing bridge
|
|
|
+ # make sure the interface is removed from any existing bridge and brought down
|
|
|
+ ifconfig "$iface" down
|
|
|
unbridge "$iface"
|
|
|
}
|
|
|
|
|
|
@@ -101,7 +103,8 @@ setup_interface() {
|
|
|
|
|
|
# Interface settings
|
|
|
config_get mtu "$config" mtu
|
|
|
- $DEBUG ifconfig "$iface" ${mtu:+mtu $mtu} up
|
|
|
+ config_get macddr "$config" macaddr
|
|
|
+ $DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up
|
|
|
|
|
|
pidfile="/var/run/$iface.pid"
|
|
|
case "$proto" in
|