summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-01 18:09:05 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-01 18:09:05 +0000
commit5d422a4b0e275d6c2554d7394df161e602c57184 (patch)
tree761562a1967f82148fddf7b04778ad8c841651f9 /package
parent1cff96ccf010d7ba0217b6a97f397347ec647186 (diff)
network: prevent unnecessary interface down/up cycles if no mac address change is requested
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16269 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rwxr-xr-xpackage/base-files/files/lib/network/config.sh5
1 files changed, 3 insertions, 2 deletions
diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh
index 808463df5..cefd55956 100755
--- a/package/base-files/files/lib/network/config.sh
+++ b/package/base-files/files/lib/network/config.sh
@@ -246,9 +246,10 @@ setup_interface() {
# Interface settings
config_get mtu "$config" mtu
config_get macaddr "$config" macaddr
- grep "$iface:" /proc/net/dev > /dev/null && \
- $DEBUG ifconfig "$iface" down && \
+ grep "$iface:" /proc/net/dev > /dev/null && {
+ [ -n "$macaddr" ] && $DEBUG ifconfig "$iface" down
$DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up
+ }
set_interface_ifname "$config" "$iface"
pidfile="/var/run/$iface.pid"