Re: removing device from bridge when stopped
nivwiz@xxxxxxxxx
Fri Mar 12 12:25:08 2010
better:
predown() {
local brif="$(_which_bridge)"
if [ ${brif} != "" ]; then
einfo "removing ${IFACE} from bridge"
/sbin/brctl delif ${brif} ${IFACE} || return 1
fi
return 0
}
On Fri, Mar 12, 2010 at 12:26 AM, nivwiz@xxxxxxxxx <nivwiz@xxxxxxxxx> wrote:
> Hi all, here is some more bridge fun:
>
> /etc/init.d/net.eth1 --verbose start
> * Caching service dependencies ... [
> ok ]
> * Bringing up interface eth1
> * Loaded modules: apipa arping bonding tuntap bridge ccwgroup macchanger
> macnet wpa_supplicant ssidnet iproute2 autoipd system dhcpcd ip6to4
> * Running preup ...
> * Adding ports to br0
> * eth1 ... [
> ok ]
> * Configuring eth1 for MAC address 00:02:B3:12:34:56 ... [
> ok ]
> * null ... [
> ok ]
> * Waiting for IPv6 addresses ... [
> ok ]
> * Running postup ...
> # /etc/init.d/net.eth1 --verbose stop
> * Bringing down interface eth1
> * Loaded modules: ip6to4 dhcpcd udhcpc dhclient system br2684ctl autoipd
> iproute2 ifconfig ssidnet wpa_supplicant iwconfig ipppd ifplugd netplugd
> macnet macchanger ccwgroup bridge tuntap bonding arping apipa
> # brctl show
> bridge name bridge id STP enabled interfaces
> br0 8000.0002b3123456 yes eth1
>
> here is my /etc/conf.d/net :
> config_eth0=( "dhcp" )
> config_eth1=( "null" )
> config_tap0=( "null" )
> config_ra0=( "null" )
> channel_ra0="5"
> essid_ra0=( "test" )
> mode_ra0="master"
> bridge_add_eth1="br0"
> bridge_add_tap0="br0"
> config_br0="192.168.14.2/24"
> brctl_br0="stp on"
> depend_br0() {
> use net.eth1 hostapd
> }
> tuntap_tap0="tap"
> preup() {
> if [ "${IFACE}" == "ra0" ] ; then
> einfo "adding ${IFACE} to bridge"
> /sbin/brctl addbr br0
> /sbin/brctl show >>/tmp/debug.br0.ra0.log
> /sbin/brctl addif br0 ${IFACE}
> /sbin/brctl show >>/tmp/debug.br0.ra0.log
> fi
> return 0
> }
>
> To fix this I want to use functions that are in /lib/rc/net/bridge.sh as :
>
> predown() {
> if [ _is_bridge -a "${IFACE}" == "eth1" ]; then
> einfo "removing ${IFACE} from bridge"
> /sbin/brctl delif br0 ${IFACE} || return 1
> fi
> return 0
> }
>
> so eth1 is only removed if bridge exist. later I will check if eth1 is part
> of the bridge.
>
Archive administrator: postmaster@marples.name