From e635e1646466d632250ac2ed9e0d3d3b86dfb4cf Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Tue, 17 Apr 2007 11:27:47 +0000 Subject: Fix bridge, vlan and bonding modules to work together, #174792. --- ChangeLog | 1 + net.Linux/bonding.sh | 2 +- net.Linux/bridge.sh | 6 +++++- net.Linux/vlan.sh | 3 ++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 68728bae..2a5a43b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ 17 Apr 2007; Roy Marples : + Fix bridge, vlan and bonding modules to work together, #174792. env vars ECOLOR_GOOD and friends now override our hardcoded builtins. 16 Apr 2007; Mike Frysinger : diff --git a/net.Linux/bonding.sh b/net.Linux/bonding.sh index 36be943f..1f8b6377 100644 --- a/net.Linux/bonding.sh +++ b/net.Linux/bonding.sh @@ -15,7 +15,7 @@ _is_bond() { bonding_pre_start() { local s= slaves= - eval $(_get_array "slaves_${IFACE}") + eval $(_get_array "slaves_${IFVAR}") [ $# = "0" ] && return 0 # Load the kernel module if required diff --git a/net.Linux/bridge.sh b/net.Linux/bridge.sh index 89d5687e..a97e525a 100644 --- a/net.Linux/bridge.sh +++ b/net.Linux/bridge.sh @@ -56,7 +56,8 @@ bridge_pre_start() { eval set -- ${ports} for x in "$@" ; do ebegin "${x}" - if ! ifconfig "${x}" promisc up && brctl addif "${IFACE}" "${x}" ; then + ifconfig "${x}" promisc up + if ! brctl addif "${IFACE}" "${x}" ; then ifconfig "${x}" -promisc 2>/dev/null eend 1 return 1 @@ -66,6 +67,9 @@ bridge_pre_start() { eoutdent fi ) + + # Bring up the bridge + _up } bridge_post_stop() { diff --git a/net.Linux/vlan.sh b/net.Linux/vlan.sh index 00a402bd..1542d4c0 100644 --- a/net.Linux/vlan.sh +++ b/net.Linux/vlan.sh @@ -11,7 +11,8 @@ _config_vars="$_config_vars vlans" _is_vlan() { [ ! -d /proc/net/vlan ] && return 1 - grep -q "^${IFACE}[[:space:]]+" /proc/net/vlan/config + [ -e /proc/net/vlan/"${IFACE}" ] && return 0 + grep -Eq "^${IFACE}[[:space:]]+" /proc/net/vlan/config } _get_vlans() { -- cgit v1.2.3