From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 15 Oct 2006 17:25:07 +0000 (+0000)
Subject: add support for wds vifs for broadcom wl
X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/4fadf9bf8c02f80cda5c936925888b913aefe469

add support for wds vifs for broadcom wl

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5122 3c298f89-4303-0410-b956-a3cf2f4a3e73
---

diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh
index 2250ba879..4f96b251b 100644
--- a/package/broadcom-wl/files/lib/wifi/broadcom.sh
+++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh
@@ -32,6 +32,7 @@ bridge_interface() {(
 
 scan_broadcom() {
 	local device="$1"
+	local wds=
 
 	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"
 			;;
+			wds)
+				config_get addr "$vif" bssid
+				[ -z "$addr" ] || append wds "$addr"
+			;;
 			*) echo "$device($vif): Invalid mode";;
 		esac
 	done
+	config_set "$device" wds "$wds"
 
 	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 wds "$device" wds
 
 	_c=0
 	nas="$(which nas)"
@@ -199,7 +206,7 @@ ${wet:+wet 1}
 radio ${radio:-1}
 macfilter 0
 maclist none
-wds none
+wds ${wds:-none}
 channel ${channel:-0}
 country ${country:-IL0}
 maxassoc ${maxassoc:-128}