From da75ff37f1081e91082e812a54f044a526e6f097 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 7 Nov 2015 12:52:01 +0000 Subject: 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47408 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'package/kernel/mac80211/files/lib') 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 -- cgit v1.2.3