9a10ad688d
Backport of r47591 and r48427
48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
From: Nils Schneider <nils@nilsschneider.net>
|
|
Date: Fri, 24 Jul 2015 21:52:12 +0200
|
|
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 <nils@nilsschneider.net>
|
|
|
|
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
|
|
index 2a8d2f9..8d31a80 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
|