summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-05-27 14:04:28 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-05-27 14:04:28 +0000
commit347c600521d2864d728e192cff1c1124d54b23ea (patch)
tree82a1008c22fc20302db8d29a4ee73fbc5d84e7b7
parent56b8addd9e07efe1f74ba51d9c9c0f8e33db7d6b (diff)
when changing the mac address of a bridge interface, keep member interface addresses in sync (patch from #7111)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21577 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xpackage/base-files/files/lib/network/config.sh4
1 files changed, 3 insertions, 1 deletions
diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh
index 1a77145f5..32170bb27 100755
--- a/package/base-files/files/lib/network/config.sh
+++ b/package/base-files/files/lib/network/config.sh
@@ -144,6 +144,8 @@ prepare_interface() {
config_get iftype "$config" type
case "$iftype" in
bridge)
+ local macaddr
+ config_get macaddr "$config" macaddr
[ -x /usr/sbin/brctl ] && {
ifconfig "br-$config" 2>/dev/null >/dev/null && {
local newdevs devices
@@ -168,7 +170,7 @@ prepare_interface() {
# result in another setup_interface() call, so we simply stop processing
# the current event at this point.
}
- ifconfig "$iface" up 2>/dev/null >/dev/null
+ ifconfig "$iface" ${macaddr:+hw ether "${macaddr}"} up 2>/dev/null >/dev/null
return 1
}
;;