diff options
Diffstat (limited to 'package/base-files/files')
| -rwxr-xr-x | package/base-files/files/lib/network/config.sh | 30 | 
1 files changed, 16 insertions, 14 deletions
diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index ffce9f6aa..e68223e27 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -88,21 +88,23 @@ setup_interface() {  	# Setup bridging  	case "$iftype" in  		bridge) -			ifconfig "$iface" up 2>/dev/null >/dev/null -			ifconfig "br-$config" 2>/dev/null >/dev/null && { -				$DEBUG brctl addif "br-$config" "$iface" -				return 0 -			} || { -				$DEBUG brctl addbr "br-$config" -				$DEBUG brctl setfd "br-$config" 0 -				$DEBUG brctl addif "br-$config" "$iface" -				iface="br-$config" +			[ -x /usr/sbin/brctl ] && { +				ifconfig "$iface" up 2>/dev/null >/dev/null +				ifconfig "br-$config" 2>/dev/null >/dev/null && { +					$DEBUG brctl addif "br-$config" "$iface" +					return 0 +				} || { +					$DEBUG brctl addbr "br-$config" +					$DEBUG brctl setfd "br-$config" 0 +					$DEBUG brctl addif "br-$config" "$iface" +					iface="br-$config" -				# need to bring up the bridge and wait a second for  -				# it to switch to the 'forwarding' state, otherwise -				# it will lose its routes... -				ifconfig "$iface" up -				sleep 1 +					# need to bring up the bridge and wait a second for  +					# it to switch to the 'forwarding' state, otherwise +					# it will lose its routes... +					ifconfig "$iface" up +					sleep 1 +				}  			}  		;;  	esac  | 
