add support for wds vifs for broadcom wl
authorFelix Fietkau <nbd@openwrt.org>
Sun, 15 Oct 2006 17:25:07 +0000 (17:25 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 15 Oct 2006 17:25:07 +0000 (17:25 +0000)
SVN-Revision: 5122

package/broadcom-wl/files/lib/wifi/broadcom.sh

index 2250ba8799e013bd0473a904f420f88757eff571..4f96b251bebb6fbb43dcf278fdde0d020651ebb7 100644 (file)
@@ -32,6 +32,7 @@ bridge_interface() {(
 
 scan_broadcom() {
        local device="$1"
 
 scan_broadcom() {
        local device="$1"
+       local wds=
 
        config_get vifs "$device" vifs
        for vif in $vifs; do
 
        config_get vifs "$device" vifs
        for vif in $vifs; do
@@ -49,9 +50,14 @@ scan_broadcom() {
                                ap=1
                                ap_if="${ap_if:+$ap_if }$vif"
                        ;;
                                ap=1
                                ap_if="${ap_if:+$ap_if }$vif"
                        ;;
+                       wds)
+                               config_get addr "$vif" bssid
+                               [ -z "$addr" ] || append wds "$addr"
+                       ;;
                        *) echo "$device($vif): Invalid mode";;
                esac
        done
                        *) echo "$device($vif): Invalid mode";;
                esac
        done
+       config_set "$device" wds "$wds"
 
        local _c=
        for vif in ${adhoc_if:-$sta_if $ap_if}; do
 
        local _c=
        for vif in ${adhoc_if:-$sta_if $ap_if}; do
@@ -111,6 +117,7 @@ enable_broadcom() {
        config_get channel "$device" channel
        config_get country "$device" country
        config_get maxassoc "$device" maxassoc
        config_get channel "$device" channel
        config_get country "$device" country
        config_get maxassoc "$device" maxassoc
+       config_get wds "$device" wds
 
        _c=0
        nas="$(which nas)"
 
        _c=0
        nas="$(which nas)"
@@ -199,7 +206,7 @@ ${wet:+wet 1}
 radio ${radio:-1}
 macfilter 0
 maclist none
 radio ${radio:-1}
 macfilter 0
 maclist none
-wds none
+wds ${wds:-none}
 channel ${channel:-0}
 country ${country:-IL0}
 maxassoc ${maxassoc:-128}
 channel ${channel:-0}
 country ${country:-IL0}
 maxassoc ${maxassoc:-128}