|
@@ -267,6 +267,19 @@ enum qca_radiotap_vendor_ids {
|
|
|
* @QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET: Get the NUD statistics. These
|
|
|
* statistics are represented by the enum qca_attr_nud_stats_get
|
|
|
* attributes.
|
|
|
+ *
|
|
|
+ * @QCA_NL80211_VENDOR_SUBCMD_FETCH_BSS_TRANSITION_STATUS: Sub-command to fetch
|
|
|
+ * the BSS transition status, whether accept or reject, for a list of
|
|
|
+ * candidate BSSIDs provided by the userspace. This uses the vendor
|
|
|
+ * attributes QCA_WLAN_VENDOR_ATTR_BTM_MBO_TRANSITION_REASON and
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO. The userspace shall specify
|
|
|
+ * the attributes QCA_WLAN_VENDOR_ATTR_BTM_MBO_TRANSITION_REASON and an
|
|
|
+ * array of QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_BSSID nested in
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO in the request. In the response
|
|
|
+ * the driver shall specify array of
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_BSSID and
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_STATUS pairs nested in
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO.
|
|
|
*/
|
|
|
enum qca_nl80211_vendor_subcmds {
|
|
|
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
|
|
@@ -392,6 +405,7 @@ enum qca_nl80211_vendor_subcmds {
|
|
|
QCA_NL80211_VENDOR_SUBCMD_CHIP_PWRSAVE_FAILURE = 148,
|
|
|
QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET = 149,
|
|
|
QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET = 150,
|
|
|
+ QCA_NL80211_VENDOR_SUBCMD_FETCH_BSS_TRANSITION_STATUS = 151,
|
|
|
};
|
|
|
|
|
|
|
|
@@ -534,6 +548,22 @@ enum qca_wlan_vendor_attr {
|
|
|
*/
|
|
|
QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_NUM = 34,
|
|
|
QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_INFO = 35,
|
|
|
+ /* Unsigned 8-bit value representing MBO transition reason code as
|
|
|
+ * provided by the AP used by subcommand
|
|
|
+ * QCA_NL80211_VENDOR_SUBCMD_FETCH_BSS_TRANSITION_STATUS. This is
|
|
|
+ * specified by the userspace in the request to the driver.
|
|
|
+ */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_MBO_TRANSITION_REASON = 36,
|
|
|
+ /* Array of nested attributes, BSSID and status code, used by subcommand
|
|
|
+ * QCA_NL80211_VENDOR_SUBCMD_FETCH_BSS_TRANSITION_STATUS, where each
|
|
|
+ * entry is taken from enum qca_wlan_vendor_attr_btm_candidate_info.
|
|
|
+ * The userspace space specifies the list/array of candidate BSSIDs in
|
|
|
+ * the order of preference in the request. The driver specifies the
|
|
|
+ * status code, for each BSSID in the list, in the response. The
|
|
|
+ * acceptable candidates are listed in the order preferred by the
|
|
|
+ * driver.
|
|
|
+ */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO = 37,
|
|
|
|
|
|
/* keep last */
|
|
|
QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
|
|
@@ -3304,4 +3334,34 @@ enum qca_attr_nud_stats_get {
|
|
|
QCA_ATTR_NUD_STATS_GET_LAST - 1,
|
|
|
};
|
|
|
|
|
|
+enum qca_wlan_btm_candidate_status {
|
|
|
+ QCA_STATUS_ACCEPT = 0,
|
|
|
+ QCA_STATUS_REJECT_EXCESSIVE_FRAME_LOSS_EXPECTED = 1,
|
|
|
+ QCA_STATUS_REJECT_EXCESSIVE_DELAY_EXPECTED = 2,
|
|
|
+ QCA_STATUS_REJECT_INSUFFICIENT_QOS_CAPACITY = 3,
|
|
|
+ QCA_STATUS_REJECT_LOW_RSSI = 4,
|
|
|
+ QCA_STATUS_REJECT_HIGH_INTERFERENCE = 5,
|
|
|
+ QCA_STATUS_REJECT_UNKNOWN = 6,
|
|
|
+};
|
|
|
+
|
|
|
+enum qca_wlan_vendor_attr_btm_candidate_info {
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_INVALID = 0,
|
|
|
+
|
|
|
+ /* 6-byte MAC address representing the BSSID of transition candidate */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_BSSID = 1,
|
|
|
+ /* Unsigned 32-bit value from enum qca_wlan_btm_candidate_status
|
|
|
+ * returned by the driver. It says whether the BSSID provided in
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_BSSID is acceptable by
|
|
|
+ * the driver, if not it specifies the reason for rejection.
|
|
|
+ * Note that the user-space can overwrite the transition reject reason
|
|
|
+ * codes provided by driver based on more information.
|
|
|
+ */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_STATUS = 2,
|
|
|
+
|
|
|
+ /* keep last */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_AFTER_LAST,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_MAX =
|
|
|
+ QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_AFTER_LAST - 1,
|
|
|
+};
|
|
|
+
|
|
|
#endif /* QCA_VENDOR_H */
|