diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-11-07 12:52:01 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-11-07 12:52:01 +0000 |
commit | 08f1e1b3ac42a1128c7854886e9962fac87eac4b (patch) | |
tree | 10a3f368622390e527749716faec3d848d23ae13 /package/kernel | |
parent | b95aed986a130d3e51f96a7c0b81e4843a33edcf (diff) | |
download | upstream-08f1e1b3ac42a1128c7854886e9962fac87eac4b.tar.gz upstream-08f1e1b3ac42a1128c7854886e9962fac87eac4b.tar.bz2 upstream-08f1e1b3ac42a1128c7854886e9962fac87eac4b.zip |
mac80211: set mcast-rate for mesh point interfaces
In order to set the multicast rate for mesh point interfaces the "mesh join"
was made explicit and moved to mac80211_setup_vif(), similar to how it is
done for IBSS interfaces.
Previously, the mesh join was made implicit in case authentication (i.e.
$key) was not used when creating the interface in mac80211_prepare_vif(),
while using authentication would create the interface first, then join
later in mac80211_setup_vif() by starting authsae.
Signed-off-by: Nils Schneider <nils@nilsschneider.net>
SVN-Revision: 47408
Diffstat (limited to 'package/kernel')
-rw-r--r-- | package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index 2a8d2f9430..8d31a80a2c 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -455,12 +455,7 @@ mac80211_prepare_vif() { } ;; mesh) - json_get_vars key mesh_id - if [ -n "$key" ]; then - iw phy "$phy" interface add "$ifname" type mp - else - iw phy "$phy" interface add "$ifname" type mp mesh_id "$mesh_id" - fi + iw phy "$phy" interface add "$ifname" type mp ;; monitor) iw phy "$phy" interface add "$ifname" type monitor @@ -603,6 +598,13 @@ mac80211_setup_vif() { wireless_vif_parse_encryption mac80211_setup_supplicant || failed=1 fi + else + json_get_vars mesh_id mcast_rate + + mcval= + [ -n "$mcast_rate" ] && wpa_supplicant_add_rate mcval "$mcast_rate" + + iw dev "$ifname" mesh join "$mesh_id" ${mcval:+mcast-rate $mcval} fi for var in $MP_CONFIG_INT $MP_CONFIG_BOOL $MP_CONFIG_STRING; do |