diff options
Diffstat (limited to 'package/broadcom-wl/files')
| -rw-r--r-- | package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds | 34 | 
1 files changed, 34 insertions, 0 deletions
diff --git a/package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds b/package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds new file mode 100644 index 000000000..3ca4cd2dc --- /dev/null +++ b/package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds @@ -0,0 +1,34 @@ +include /lib/wifi + +setup_broadcom_wds() { +	local iface="$1" +	local remote="$(wlc ifname "$iface" wdsmac)" + +	[ -z "$remote" ] && return +	 +	config_cb() { +		[ -z "$CONFIG_SECTION" ] && return +	 +		config_get type "$CONFIG_SECTION" TYPE +		[ "$type" = "wifi-iface" ] || return +		 +		config_get network "$CONFIG_SECTION" network +		[ -z "$network" ] && return +		 +		config_get addr "$CONFIG_SECTION" bssid +		[ "$addr" = "$remote" ] && { +			include /lib/network +			scan_interfaces + +			setup_interface "$iface" "$network" +		} +	} + +	config_load wireless +} + +case "$ACTION" in +	add|register) +		[ "${INTERFACE%%0.*}" = wds ] && setup_broadcom_wds "$INTERFACE" +	;; +esac  | 
