#!/bin/sh /etc/rc.common

#### by mzc 2008.12.03

START=99
STOP=99

disable_interface(){
    local cfg="$1"

    config_get ifname "$cfg" ifname
  
    for n in $ifname; do
        brctl delif $cfg $n
        ifconfig $n down
        ifctl -i $n -SPd    
    done
}

apply_lease() {
	local cfg="$1"

    config_get ifname "$cfg" ifname
   
    brctl addbr $cfg
    for n in $ifname; do
        brctl addif $cfg $n            
        ifconfig $n up
        ifctl -i $n -SPe    
    done
    ifconfig $cfg up
}

delete_lease() {

    config_foreach disable_interface

	brctl show > /tmp/getbridge

    local briface=`sed  -n  -e  '1n;p'  -e  's/[\t  ]\{1,\}/  /g' /tmp/getbridge  | awk '{ if (NF > 1) print $1;}'`
    for n in $briface; do
        ifconfig $n down
        brctl delbr $n
    done        
}

start() {
	config_load bridge
	config_foreach apply_lease
	
	return 0
}

restart() {
    stop
    start
    return 0
}

stop() {
	config_load bridge
	delete_lease
	return 0
}

