hostapd: introduce mbo option
[openwrt/staging/stintel.git] / package / network / services / hostapd / files / hostapd.sh
index e5f816a55b2f71da8ec06b75dbe390a22135ddcb..be3993d4bd1a2888b4a44f2052c874ea9485efa0 100644 (file)
@@ -304,7 +304,7 @@ hostapd_common_add_bss_config() {
        config_add_string wps_device_type wps_device_name wps_manufacturer wps_pin
        config_add_string multi_ap_backhaul_ssid multi_ap_backhaul_key
 
-       config_add_boolean wnm_sleep_mode wnm_sleep_mode_no_keys bss_transition
+       config_add_boolean wnm_sleep_mode wnm_sleep_mode_no_keys bss_transition mbo
        config_add_int time_advertisement
        config_add_string time_zone
        config_add_string vendor_elements
@@ -335,6 +335,7 @@ hostapd_common_add_bss_config() {
        config_add_int sae_pwe
 
        config_add_string 'owe_transition_bssid:macaddr' 'owe_transition_ssid:string'
+       config_add_string owe_transition_ifname
 
        config_add_boolean iw_enabled iw_internet iw_asra iw_esr iw_uesa
        config_add_int iw_access_network_type iw_venue_group iw_venue_type
@@ -635,10 +636,11 @@ hostapd_set_bss_options() {
 
        case "$auth_type" in
                none|owe)
-                       json_get_vars owe_transition_bssid owe_transition_ssid
+                       json_get_vars owe_transition_bssid owe_transition_ssid owe_transition_ifname
 
                        [ -n "$owe_transition_ssid" ] && append bss_conf "owe_transition_ssid=\"$owe_transition_ssid\"" "$N"
                        [ -n "$owe_transition_bssid" ] && append bss_conf "owe_transition_bssid=$owe_transition_bssid" "$N"
+                       [ -n "$owe_transition_ifname" ] && append bss_conf "owe_transition_ifname=$owe_transition_ifname" "$N"
 
                        wps_possible=1
                        # Here we make the assumption that if we're in open mode
@@ -823,11 +825,17 @@ hostapd_set_bss_options() {
                append bss_conf "iapp_interface=$ifname" "$N"
        }
 
-       json_get_vars time_advertisement time_zone wnm_sleep_mode wnm_sleep_mode_no_keys bss_transition
+       json_get_vars time_advertisement time_zone wnm_sleep_mode wnm_sleep_mode_no_keys bss_transition mbo
        set_default bss_transition 0
        set_default wnm_sleep_mode 0
        set_default wnm_sleep_mode_no_keys 0
 
+       if [ "$enable_ax" -eq 1 ]; then
+               set_default mbo 1
+       else
+               set_default mbo 0
+       fi
+
        [ -n "$time_advertisement" ] && append bss_conf "time_advertisement=$time_advertisement" "$N"
        [ -n "$time_zone" ] && append bss_conf "time_zone=$time_zone" "$N"
        if [ "$wnm_sleep_mode" -eq "1" ]; then
@@ -835,6 +843,7 @@ hostapd_set_bss_options() {
                [ "$wnm_sleep_mode_no_keys" -eq "1" ] && append bss_conf "wnm_sleep_mode_no_keys=1" "$N"
        fi
        [ "$bss_transition" -eq "1" ] && append bss_conf "bss_transition=1" "$N"
+       [ "$mbo" -eq 1 ] && append bss_conf "mbo=1" "$N"
 
        json_get_vars ieee80211k rrm_neighbor_report rrm_beacon_report
        set_default ieee80211k 0