--- src/package/base-files/files/lib/network/config.sh	(revision 20118)
+++ src/package/base-files/files/lib/network/config.sh	(working copy)
@@ -125,6 +125,7 @@
 					done
 					uci_set_state network "$config" device "$newdevs"
 					$DEBUG brctl addif "br-$config" "$iface"
+					interface_settings "br-$config" "$config"
 					# Bridge existed already. No further processing necesary
 				} || {
 					$DEBUG brctl addbr "br-$config"
@@ -220,12 +221,27 @@
 	esac
 }
 
+
+interface_settings() {
+    local iface="$1"
+    local config="$2"
+    local macaddr
+    local mtu
+
+    config_get mtu "$config" mtu
+    config_get macaddr "$config" macaddr
+    grep "$iface:" /proc/net/dev > /dev/null && {
+	[ -n "$macaddr" ] && $DEBUG ifconfig "$iface" down
+	$DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up
+    }
+}
+
+
 setup_interface() {
 	local iface="$1"
 	local config="$2"
 	local vifmac="$4"
 	local proto
-	local macaddr
 
 	[ -n "$config" ] || {
 		config=$(find_config "$iface")
@@ -243,13 +259,7 @@
 		sleep 1
 	}
 
-	# Interface settings
-	config_get mtu "$config" mtu
-	config_get macaddr "$config" macaddr
-	grep "$iface:" /proc/net/dev > /dev/null && {
-		[ -n "$macaddr" ] && $DEBUG ifconfig "$iface" down
-		$DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up
-	}
+	interface_settings "$iface" "$config"
 	set_interface_ifname "$config" "$iface"
 
 	pidfile="/var/run/$iface.pid"
