diff --git a/package/base-files/files/etc/config/network b/package/base-files/files/etc/config/network index a35fd2ef9a..5d380d1e8b 100644 --- a/package/base-files/files/etc/config/network +++ b/package/base-files/files/etc/config/network @@ -12,3 +12,4 @@ config interface lan option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0 + option stp on diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index 81b60f7470..e750c8a415 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -88,6 +88,7 @@ prepare_interface() { # Setup bridging config_get iftype "$config" type + config_get stp "$config" stp case "$iftype" in bridge) [ -x /usr/sbin/brctl ] && { @@ -99,6 +100,7 @@ prepare_interface() { $DEBUG brctl setfd "br-$config" 0 $DEBUG ifconfig "br-$config" up $DEBUG brctl addif "br-$config" "$iface" + $DEBUG brctl stp "br-$config" ${stp:-on} # Creating the bridge here will have triggered a hotplug event, which will # result in another setup_interface() call, so we simply stop processing # the current event at this point.