aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-06-01 18:09:05 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-06-01 18:09:05 +0000
commitb4f89cab4bb614c7f68fade3067fe351a4ae4318 (patch)
tree761562a1967f82148fddf7b04778ad8c841651f9 /package
parente5692576c1de80726b5ce4fe936b06e560c4b718 (diff)
downloadmaster-187ad058-b4f89cab4bb614c7f68fade3067fe351a4ae4318.tar.gz
master-187ad058-b4f89cab4bb614c7f68fade3067fe351a4ae4318.tar.bz2
master-187ad058-b4f89cab4bb614c7f68fade3067fe351a4ae4318.zip
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 808463df52..cefd559567 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"