|
@@ -2611,49 +2611,95 @@ enum qca_wlan_vendor_attr_pno_config_params {
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * enum qca_wlan_vendor_attr_roaming_config_params - roaming config params
|
|
|
- *
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_INVALID: Invalid initial value
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD: roaming sub command
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_REQ_ID: Request id
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS:
|
|
|
- * number of whitelist networks
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST:
|
|
|
- * Whitelist ssid list
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID:
|
|
|
- * white list ssid
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_THRESHOLD:
|
|
|
- * 'a' band boost threshold
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_THRESHOLD:
|
|
|
- * 'a' band penalty threshold
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_FACTOR:
|
|
|
- * 'a' band boost factor
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_FACTOR:
|
|
|
- * 'a' band penalty factor
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_MAX_BOOST:
|
|
|
- * 'a' band max boost
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_LAZY_ROAM_HISTERESYS:
|
|
|
- * lazy roam histeresys
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALERT_ROAM_RSSI_TRIGGER:
|
|
|
- * alert roam rssi trigger
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE:
|
|
|
- * set lazy roam enable
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS:
|
|
|
- * set bssid preference
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_NUM_BSSID:
|
|
|
- * set lazy roam number of bssid
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_BSSID:
|
|
|
- * set lazy roam bssid
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_RSSI_MODIFIER:
|
|
|
- * set lazy roam rssi modifier
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS:
|
|
|
- * set bssid params
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_NUM_BSSID:
|
|
|
- * set bssid params num bssid
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_BSSID:
|
|
|
- * set bssid params bssid
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_HINT:
|
|
|
- * flag attribute to specify whether the AP is avoided, or blacklisted.
|
|
|
+ * enum qca_wlan_vendor_attr_roaming_config_params: Attributes for data used by
|
|
|
+ * QCA_NL80211_VENDOR_SUBCMD_ROAM sub command.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD: Unsigned 32-bit value.
|
|
|
+ * Represents the different roam sub commands referred by
|
|
|
+ * enum qca_wlan_vendor_attr_roam_subcmd.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_REQ_ID: Unsigned 32-bit value.
|
|
|
+ * Represents the Request ID for the specific set of commands.
|
|
|
+ * This also helps to map specific set of commands to the respective
|
|
|
+ * ID / client. e.g., helps to identify the user entity configuring the
|
|
|
+ * Blacklist BSSID and accordingly clear the respective ones with the
|
|
|
+ * matching ID.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS: Unsigned
|
|
|
+ * 32-bit value.Represents the number of whitelist SSIDs configured.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST: Nested attribute
|
|
|
+ * to carry the list of Whitelist SSIDs.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID: SSID (binary attribute,
|
|
|
+ * 0..32 octets). Represents the white list SSID. Whitelist SSIDs
|
|
|
+ * represent the list of SSIDs to which the firmware/driver can consider
|
|
|
+ * to roam to.
|
|
|
+ *
|
|
|
+ * The following PARAM_A_BAND_XX attributes are applied to 5GHz BSSIDs when
|
|
|
+ * comparing with a 2.4GHz BSSID. They are not applied when comparing two
|
|
|
+ * 5GHz BSSIDs.The following attributes are set through the Roaming SUBCMD -
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_EXTSCAN_ROAM_PARAMS.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_THRESHOLD: Signed 32-bit
|
|
|
+ * value, RSSI threshold above which 5GHz RSSI is favored.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_THRESHOLD: Signed 32-bit
|
|
|
+ * value, RSSI threshold below which 5GHz RSSI is penalized.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_FACTOR: Unsigned 32-bit
|
|
|
+ * value, factor by which 5GHz RSSI is boosted.
|
|
|
+ * boost=(RSSI_measured-5GHz_boost_threshold)*5GHz_boost_factor
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_FACTOR: Unsigned 32-bit
|
|
|
+ * value, factor by which 5GHz RSSI is penalized.
|
|
|
+ * penalty=(5GHz_penalty_threshold-RSSI_measured)*5GHz_penalty_factor
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_MAX_BOOST: Unsigned 32-bit
|
|
|
+ * value, maximum boost that can be applied to a 5GHz RSSI.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_LAZY_ROAM_HISTERESYS: Unsigned 32-bit
|
|
|
+ * value, boost applied to current BSSID to ensure the currently
|
|
|
+ * associated BSSID is favored so as to prevent ping-pong situations.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALERT_ROAM_RSSI_TRIGGER: Signed 32-bit
|
|
|
+ * value, RSSI below which "Alert" roam is enabled.
|
|
|
+ * "Alert" mode roaming - firmware is "urgently" hunting for another BSSID
|
|
|
+ * because the RSSI is low, or because many successive beacons have been
|
|
|
+ * lost or other bad link conditions.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE: Unsigned 32-bit
|
|
|
+ * value. 1-Enable, 0-Disable. Represents "Lazy" mode, where
|
|
|
+ * firmware is hunting for a better BSSID or white listed SSID even though
|
|
|
+ * the RSSI of the link is good. The parameters enabling the roaming are
|
|
|
+ * configured through the PARAM_A_BAND_XX attrbutes.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS: Nested attribute,
|
|
|
+ * represents the BSSIDs preferred over others while evaluating them
|
|
|
+ * for the roaming.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_NUM_BSSID: Unsigned
|
|
|
+ * 32-bit value. Represents the number of preferred BSSIDs set.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_BSSID: 6-byte MAC
|
|
|
+ * address representing the BSSID to be preferred.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_RSSI_MODIFIER: Signed
|
|
|
+ * 32-bit value, representing the modifier to be applied to the RSSI of
|
|
|
+ * the BSSID for the purpose of comparing it with other roam candidate.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS: Nested attribute,
|
|
|
+ * represents the BSSIDs to get blacklisted for roaming.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_NUM_BSSID: Unsigned
|
|
|
+ * 32-bit value, represents the number of blacklisted BSSIDs.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_BSSID: 6-byte MAC
|
|
|
+ * address representing the Blacklisted BSSID.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_HINT: Flag attribute,
|
|
|
+ * indicates this BSSID blacklist as a hint to the driver. The driver can
|
|
|
+ * select this BSSID in the worst case (when no other BSSIDs are better).
|
|
|
* @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST: After last
|
|
|
* @QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX: Max
|
|
|
*/
|
|
@@ -2694,17 +2740,35 @@ enum qca_wlan_vendor_attr_roaming_config_params {
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * enum qca_wlan_vendor_attr_roam_subcmd - roam sub commands
|
|
|
+ * enum qca_wlan_vendor_attr_roam_subcmd: Referred by
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SSID_WHITE_LIST: Sub command to
|
|
|
+ * configure the white list SSIDs. These are configured through
|
|
|
+ * the following attributes.
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS,
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST,
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_EXTSCAN_ROAM_PARAMS: Sub command to
|
|
|
+ * configure the Roam params. These parameters are evaluated on the extscan
|
|
|
+ * results. Refers the attributes PARAM_A_BAND_XX above to configure the
|
|
|
+ * params.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_LAZY_ROAM: Sets the Lazy roam. Uses
|
|
|
+ * the attribute QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE
|
|
|
+ * to enable/disable Lazy roam.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PREFS: Sets the BSSID
|
|
|
+ * preference. Contains the attribute
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS to set the BSSID
|
|
|
+ * preference.
|
|
|
*
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_INVALID: Invalid initial value
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SSID_WHITE_LIST: ssid white list
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_EXTSCAN_ROAM_PARAMS: roam params
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_LAZY_ROAM: set lazy roam
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PREFS: set bssid prefs
|
|
|
* @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PARAMS: set bssid params
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BLACKLIST_BSSID: set blacklist bssid
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST: after last
|
|
|
- * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_MAX: subcmd max
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BLACKLIST_BSSID: Sets the Blacklist
|
|
|
+ * BSSIDs. Refers QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS to
|
|
|
+ * set the same.
|
|
|
*/
|
|
|
enum qca_wlan_vendor_attr_roam_subcmd {
|
|
|
QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_INVALID = 0,
|