diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-10-15 17:52:31 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-10-15 17:52:31 +0000 |
commit | 052dece811fc6f676805bf7625c24ff34d36d23e (patch) | |
tree | b1fde166deb3cfc699aa9020a9902268e53f9be9 /package/broadcom-wl/files/etc | |
parent | aac03860ffa805274add494b4bddcb3a6845c298 (diff) |
add hotplug script for setting up networking on wds interfaces
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5125 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/broadcom-wl/files/etc')
-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 0000000000..3ca4cd2dc6 --- /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 |