authsae: Use kbit/s as mcast_rate unit like wpad
authorJohn Crispin <john@openwrt.org>
Tue, 24 Nov 2015 18:28:35 +0000 (18:28 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 24 Nov 2015 18:28:35 +0000 (18:28 +0000)
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

package/network/services/authsae/files/lib/wifi/authsae.sh

index 6582a35..75be48e 100644 (file)
@@ -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