From 939175e9f253959fa3d68c1bc85cd985680183ba Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Tue, 24 Nov 2015 18:28:35 +0000
Subject: [PATCH] authsae: Use kbit/s as mcast_rate unit like wpad

The OpenWrt wireless configuration for mcast_rate is defined as Kbit/s when
using wpa_supplicant for IBSS/802.11s and iw for unencrypted IBSS/802.11s.
But when using authsae, the unit for the same option is redefined as
Mbit/s. Better use the same unit for this option independent of the backend
which is used.

Old values for mcast_rate (< 1000) are still interpreted Mbit/s to avoid
problems during upgrades from older versions.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 47614
---
 .../services/authsae/files/lib/wifi/authsae.sh       | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/package/network/services/authsae/files/lib/wifi/authsae.sh b/package/network/services/authsae/files/lib/wifi/authsae.sh
index 6582a354de4..75be48e4739 100644
--- a/package/network/services/authsae/files/lib/wifi/authsae.sh
+++ b/package/network/services/authsae/files/lib/wifi/authsae.sh
@@ -6,7 +6,7 @@ authsae_start_interface() {
 	local ret=1
 
 	json_get_vars mcast_rate mesh_id
-	set_default mcast_rate "12"
+	set_default mcast_rate "12000"
 
 	case "$htmode" in
 		HT20|HT40+|HT40-) mesh_htmode="$htmode";;
@@ -18,6 +18,14 @@ authsae_start_interface() {
 		*a*) mesh_band=11a;;
 	esac
 
+	if [ "$mcast_rate" -gt 1000 ]; then
+		# authsae only allows integers as rates and not things like 5.5
+		mcval=$(($mcast_rate / 1000))
+	else
+		# compat: to still support mbit/s rates
+		mcval="$mcast_rate"
+	fi
+
 	cat > "$authsae_conf_file" <<EOF
 authsae:
 {
@@ -40,7 +48,7 @@ authsae:
     band = "$mesh_band";
     channel = $channel;
     htmode = "$mesh_htmode";
-    mcast-rate = $mcast_rate;
+    mcast-rate = $mcval;
   };
 };
 EOF
-- 
GitLab