/*
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: This file contains centralized definitions of converged configuration.
*/
#ifndef __CFG_MLME_SAP_H
#define __CFG_MLME_SAP_H
#define CFG_BEACON_INTERVAL CFG_INI_UINT( \
"gBeaconInterval", \
0, \
65535, \
100, \
CFG_VALUE_OR_DEFAULT, \
"CFG_BEACON_INTERVAL")
#define CFG_DTIM_PERIOD CFG_UINT( \
"cfg_dtim_period", \
0, \
65535, \
1, \
CFG_VALUE_OR_DEFAULT, \
"CFG_DTIM_PERIOD")
#define CFG_LISTEN_INTERVAL CFG_UINT( \
"cfg_listen_interval", \
0, \
65535, \
1, \
CFG_VALUE_OR_DEFAULT, \
"CFG_LISTEN_INTERVAL")
#define CFG_11G_ONLY_POLICY CFG_UINT( \
"cfg_11g_only_policy", \
0, \
1, \
0, \
CFG_VALUE_OR_DEFAULT, \
"CFG_11G_ONLY_POLICY")
#define CFG_ASSOC_STA_LIMIT CFG_UINT( \
"cfg_assoc_sta_limit", \
1, \
64, \
10, \
CFG_VALUE_OR_DEFAULT, \
"CFG_ASSOC_STA_LIMIT")
/*
*
* cfg_enable_lte_coex - enable LTE COEX
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable LTE COEX
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_ENABLE_LTE_COEX CFG_INI_BOOL( \
"gEnableLTECoex", \
0, \
"enabled lte coex")
/*
*
* cfg_rate_for_tx_mgmt - Set rate for tx mgmt
* @Min: 0
* @Max: 0xFF
* @Default: 0xFF
*
* This ini is used to set rate for tx mgmt
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_RATE_FOR_TX_MGMT CFG_INI_UINT( \
"gRateForTxMgmt", \
0, \
0xFF, \
0xFF, \
CFG_VALUE_OR_DEFAULT, \
"set rate for mgmt tx")
/*
*
* cfg_rate_for_tx_mgmt_2g - Set rate for tx mgmt 2g
* @Min: 0
* @Max: 255
* @Default: 255
*
* This ini is used to set rate for tx mgmt 2g
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_RATE_FOR_TX_MGMT_2G CFG_INI_UINT( \
"gRateForTxMgmt2G", \
0, \
255, \
255, \
CFG_VALUE_OR_DEFAULT, \
"set rate for mgmt tx 2g")
/*
*
* cfg_rate_for_tx_mgmt_5g - Set rate for tx mgmt 5g
* @Min: 0
* @Max: 255
* @Default: 255
*
* This ini is used to set rate for tx mgmt 5g
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_RATE_FOR_TX_MGMT_5G CFG_INI_UINT( \
"gRateForTxMgmt5G", \
0, \
255, \
255, \
CFG_VALUE_OR_DEFAULT, \
"set rate for mgmt tx 5g")
/*
*
* gTelescopicBeaconWakeupEn - Set teles copic beacon wakeup
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to set default teles copic beacon wakeup
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_TELE_BCN_WAKEUP_EN CFG_INI_BOOL( \
"gTelescopicBeaconWakeupEn", \
0, \
"set tescopic beacon wakeup")
/*
*
* telescopicBeaconMaxListenInterval - Set teles scopic beacon max listen value
* @Min: 0
* @Max: 7
* @Default: 5
*
* This ini is used to set teles scopic beacon max listen interval value
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_TELE_BCN_MAX_LI CFG_INI_UINT( \
"telescopicBeaconMaxListenInterval", \
0, \
7, \
5, \
CFG_VALUE_OR_DEFAULT, \
"set telescopic beacon max listen")
/*
*
* gSapGetPeerInfo - Enable/Disable remote peer info query support
* @Min: 0 - Disable remote peer info query support
* @Max: 1 - Enable remote peer info query support
* @Default: 1
*
* This ini is used to enable/disable remote peer info query support
*
* Usage: External
*
*
*/
#define CFG_SAP_GET_PEER_INFO CFG_INI_BOOL( \
"gSapGetPeerInfo", \
1, \
"sap get peer info")
/*
*
* gSapAllowAllChannel - Sap allow all channels
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to allow all channels for SAP
*
* Related: None
*
* Supported Feature: SAP
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM CFG_INI_BOOL( \
"gSapAllowAllChannel", \
0, \
"sap allow all channel params")
/*
*
* gSoftApMaxPeers - Set Max peers connected for SAP
* @Min: 1
* @Max: 64
* @Default: 10
*
* This ini is used to set Max peers connected for SAP
*
* Related: None
*
* Supported Feature: SAP
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_MAX_NO_PEERS CFG_INI_UINT( \
"gSoftApMaxPeers", \
1, \
64, \
10, \
CFG_VALUE_OR_DEFAULT, \
"max no of peers")
/*
*
* gMaxOffloadPeers - Set max offload peers
* @Min: 2
* @Max: 5
* @Default: 2
*
* This ini is used to set default teles copic beacon wakeup
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_MAX_OFFLOAD_PEERS CFG_INI_UINT( \
"gMaxOffloadPeers", \
2, \
5, \
2, \
CFG_VALUE_OR_DEFAULT, \
"max offload peers")
/*
*
* gMaxOffloadReorderBuffs - Set max offload reorder buffs
* @Min: 0
* @Max: 3
* @Default: 2
*
* This ini is used to set max offload reorder buffs
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS CFG_INI_UINT( \
"gMaxOffloadReorderBuffs", \
0, \
3, \
2, \
CFG_VALUE_OR_DEFAULT, \
"sap max offload reorder buffs")
/*
*
* g_sap_chanswitch_beacon_cnt - Set channel switch beacon count
* @Min: 1
* @Max: 10
* @Default: 10
*
* This ini is used to set channel switch beacon count
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_CH_SWITCH_BEACON_CNT CFG_INI_UINT( \
"g_sap_chanswitch_beacon_cnt", \
1, \
10, \
10, \
CFG_VALUE_OR_DEFAULT, \
"set channel switch beacon count")
/*
*
* g_sap_chanswitch_mode - channel switch mode
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to configure the value of channel switch mode, which is
* contained in the Channel Switch Announcement(CSA) information element sent
* by an SAP.
*
* 0 - CSA receiving STA doesn't need to do anything
* 1 - CSA receiving STA shall not transmit any more frames on the channel
* until the scheduled channel switch occurs
*
* Related: none
*
* Supported Feature: SAP
*
* Usage: External
*
*
*/
#define CFG_SAP_CH_SWITCH_MODE CFG_INI_BOOL( \
"g_sap_chanswitch_mode", \
1, \
"sap channel switch mode")
/*
*
* gEnableSapInternalRestart - Sap internal restart name
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used for sap internal restart name
*
* Related: None
*
* Supported Feature: SAP
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_INTERNAL_RESTART CFG_INI_BOOL( \
"gEnableSapInternalRestart", \
1, \
"sap internal restart")
/*
*
* gChanSwitchHostapdRateEnabled - Enable channale switch hostapd rate
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable channale switch hostapd rate
*
* Related: None
*
* Supported Feature: SAP
*
* Usage: Internal/External
*
*
*/
#define CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME CFG_INI_BOOL( \
"gChanSwitchHostapdRateEnabled", \
0, \
"chan switch hostapd rate enabled")
/*
*
* gReducedBeaconInterval - beacon interval reduced
* @Min: 0
* @Max: 100
* @Default: 0
*
* This ini is used to reduce beacon interval before channel
* switch (when val great than 0, or the feature is disabled).
* It would reduce the downtime on the STA side which is
* waiting for beacons from the AP to resume back transmission.
* Switch back the beacon_interval to its original value after
* channel switch based on the timeout.
*
* Related: none
*
* Usage: External
*
*
*/
#define CFG_REDUCED_BEACON_INTERVAL CFG_INI_UINT( \
"gReducedBeaconInterval", \
0, \
100, \
0, \
CFG_VALUE_OR_DEFAULT, \
"reduced beacon interval")
/*
*
* gCountryCodePriority - Priority to set country code
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to set default gCountryCodePriority
*
* Related: None
*
* Supported Feature: SAP
*
* Usage: Internal
*
*
*/
#define CFG_COUNTRY_CODE_PRIORITY CFG_INI_BOOL( \
"gCountryCodePriority", \
1, \
"Country code priority")
/*
*
* gSapPreferredChanLocation - Restrict channel switches between ondoor and
* outdoor.
* @Min: 0
* @Max: 2
* @Default: 0
*
* This ini is used for restricting channel switches between Indoor and outdoor
* channels after radar detection.
* 0- No preferred channel location
* 1- Use indoor channels only
* 2- Use outdoor channels only
* Related: NA.
*
* Supported Feature: DFS
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_PREF_CHANNEL_LOCATION CFG_INI_UINT( \
"gSapPreferredChanLocation", \
0, \
2, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Sap preferred channel location")
/*
*
* gSapForce11NFor11AC - Restrict SAP to 11n if set 1 even though
* hostapd.conf request for 11ac.
* @Min: 0
* @Max: 1
* @Default: 0
*
* Restrict SAP to 11n if set 1 even though hostapd.conf request for 11ac.
*
* 0- Do not force 11n for 11ac.
* 1- Force 11n for 11ac.
*
* Supported Feature: SAP
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_FORCE_11N_FOR_11AC CFG_INI_BOOL( \
"gSapForce11NFor11AC", \
0, \
"Sap force 11n for 11ac")
/*
*
* gGoForce11NFor11AC - Restrict GO to 11n if set 1 even though
* hostapd.conf request for 11ac.
* @Min: 0
* @Max: 1
* @Default: 0
*
* Restrict GO to 11n if set 1 even though hostapd.conf request for 11ac.
*
* 0- Do not force 11n for 11ac.
* 1- Force 11n for 11ac.
*
* Supported Feature: GO
*
* Usage: Internal/External
*
*
*/
#define CFG_GO_FORCE_11N_FOR_11AC CFG_INI_BOOL( \
"gGoForce11NFor11AC", \
0, \
"GO force 11n for 11ac")
/*
*
* gEnableApRandomBssid - Create ramdom BSSID
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to create a random BSSID in SoftAP mode to meet
* the Android requirement.
*
* Related: None.
*
* Supported Feature: SAP
*
* Usage: Internal/External
*
*
*/
#define CFG_AP_ENABLE_RANDOM_BSSID CFG_INI_BOOL( \
"gEnableApRandomBssid", \
0, \
"Create ramdom BSSID")
/*
*
* gSapChannelAvoidance - SAP MCC channel avoidance.
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to sets sap mcc channel avoidance.
*
* Related: None.
*
* Supported Feature: Concurrency
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_MCC_CHANNEL_AVOIDANCE CFG_INI_UINT( \
"gSapChannelAvoidance", \
0, \
1, \
0, \
CFG_VALUE_OR_DEFAULT, \
"SAP MCC channel avoidance")
/*
*
* gSAP11ACOverride - Override bw to 11ac for SAP in driver even if supplicant
* or hostapd configures HT.
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable 11AC override for SAP.
* Android UI does not provide advanced configuration options
* for SoftAP for Android O and below.
* Default override disabled for android. Can be enabled from
* ini for Android O and below.
*
*
* Supported Feature: SAP
*
*
* Usage: Internal/External
*
*
*/
#define CFG_SAP_11AC_OVERRIDE CFG_INI_BOOL( \
"gSAP11ACOverride", \
0, \
"Override bw to 11ac for SAP")
/*
*
* gGO11ACOverride - Override bw to 11ac for P2P GO
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to enable/disable 11AC override for GO.
* P2P GO also follows start_bss and since P2P GO could not be
* configured to setup VHT channel width in wpa_supplicant, driver
* can override 11AC.
*
*
* Supported Feature: P2P
*
*
* Usage: Internal/External
*
*
*/
#define CFG_GO_11AC_OVERRIDE CFG_INI_BOOL( \
"gGO11ACOverride", \
1, \
"Override bw to 11ac for P2P GO")
/*
*
*
* enable_bcast_deauth_for_sap - Enable/Disable broadcast deauth support
* in driver for SAP
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable broadcast deauth support in driver
* for sap mode.
*
* Related: None
*
* Supported Feature: SAP
* Usage: External
*
*
*/
#define CFG_IS_SAP_BCAST_DEAUTH_ENABLED CFG_INI_BOOL( \
"enable_bcast_deauth_for_sap", \
0, \
"Enable/Disable bcast deauth for SAP")
#ifdef WLAN_FEATURE_SAE
/*
*
*
* enable_sae_for_sap - Enable/Disable SAE support in driver for SAP
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to enable/disable SAE support in driver for SAP mode
* Driver will process/drop the SAE authentication frames based on this config.
*
* Related: None
*
* Supported Feature: SAE
* Usage: External
*
*
*/
#define CFG_IS_SAP_SAE_ENABLED CFG_INI_BOOL( \
"enable_sae_for_sap", \
1, \
"Enable/Disable SAE support for SAP")
#define CFG_SAP_SAE CFG(CFG_IS_SAP_SAE_ENABLED)
#else
#define CFG_SAP_SAE
#endif /* WLAN_FEATURE_SAE */
/*
*
*
* enable_sap_fils_discovery - Enable/Disable fils discovery for 6Ghz SAP
* @Min: 0
* @Max: 1
* @Default: 1
*
* Enable: 6Ghz SAP transmits fils discovery frame at every 20ms
* Disable: 6Ghz SAP transmits probe response frame at every 20ms
*
* Related: None
*
* Supported Feature: SAP
* Usage: External
*
*
*/
#define CFG_6G_SAP_FILS_DISCOVERY_ENABLED CFG_INI_BOOL( \
"enable_6g_sap_fils_discovery", \
1, \
"Enable/Disable fils discovery for SAP")
/*
*
* disable_mcs13_support - Disable mcs13 support.
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to disable mcs13 if SAP works on 80p80MHZ/160MHZ/320MHZ
* and he_mcs_12_13_support enabled.
*
* Related: he_mcs_12_13_support
*
* Supported Feature: Concurrency
*
* Usage: Internal
*
*
*/
#define CFG_DISABLE_MCS13_SUPPORT CFG_INI_BOOL( \
"disable_mcs13_support", \
0, \
"disable mcs13 support")
/*
*
* disable_sap_bcn_prot - Disable beacon protection for SAP
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to disable beacon protection in SAP only
* for non-6 GHz or non-11be cases where BP is not mandatory.
*
* Related: None
*
* Supported Feature: SAP
*
* Usage: External
*
*
*/
#define CFG_DISABLE_SAP_BCN_PROT CFG_INI_BOOL(\
"disable_sap_bcn_prot", \
false, \
"Disable beacon protection for SAP")
/*
*
* g_sap_ps_with_twt_enable - enable/disable power save between successive TWT
* SPs for SAP
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable power save between successive
* TWT SPs for SAP
*
* Related: None
*
* Supported Feature: SAP
*
* Usage: External
*
*
*/
#define CFG_SAP_PS_WITH_TWT CFG_INI_BOOL(\
"g_sap_ps_with_twt_enable", \
false, \
"Enable/Disable SAP power save with twt")
#define CFG_SAP_ALL \
CFG_SAP_SAE \
CFG(CFG_AP_ENABLE_RANDOM_BSSID) \
CFG(CFG_BEACON_INTERVAL) \
CFG(CFG_DTIM_PERIOD) \
CFG(CFG_LISTEN_INTERVAL) \
CFG(CFG_11G_ONLY_POLICY) \
CFG(CFG_ASSOC_STA_LIMIT) \
CFG(CFG_ENABLE_LTE_COEX) \
CFG(CFG_RATE_FOR_TX_MGMT) \
CFG(CFG_RATE_FOR_TX_MGMT_2G) \
CFG(CFG_RATE_FOR_TX_MGMT_5G) \
CFG(CFG_TELE_BCN_WAKEUP_EN) \
CFG(CFG_TELE_BCN_MAX_LI) \
CFG(CFG_SAP_MCC_CHANNEL_AVOIDANCE) \
CFG(CFG_SAP_GET_PEER_INFO) \
CFG(CFG_SAP_ALLOW_ALL_CHANNEL_PARAM) \
CFG(CFG_SAP_MAX_NO_PEERS) \
CFG(CFG_SAP_MAX_OFFLOAD_PEERS) \
CFG(CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS) \
CFG(CFG_SAP_CH_SWITCH_BEACON_CNT) \
CFG(CFG_SAP_CH_SWITCH_MODE) \
CFG(CFG_SAP_INTERNAL_RESTART) \
CFG(CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME) \
CFG(CFG_REDUCED_BEACON_INTERVAL) \
CFG(CFG_MAX_LI_MODULATED_DTIM) \
CFG(CFG_COUNTRY_CODE_PRIORITY) \
CFG(CFG_SAP_PREF_CHANNEL_LOCATION) \
CFG(CFG_SAP_FORCE_11N_FOR_11AC) \
CFG(CFG_SAP_11AC_OVERRIDE) \
CFG(CFG_GO_FORCE_11N_FOR_11AC) \
CFG(CFG_GO_11AC_OVERRIDE) \
CFG(CFG_IS_SAP_BCAST_DEAUTH_ENABLED) \
CFG(CFG_6G_SAP_FILS_DISCOVERY_ENABLED) \
CFG(CFG_DISABLE_MCS13_SUPPORT) \
CFG(CFG_DISABLE_SAP_BCN_PROT) \
CFG(CFG_SAP_PS_WITH_TWT)
#endif /* __CFG_MLME_SAP_H */