summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsheenam monga <shebala@codeaurora.org>2019-04-03 16:29:37 +0530
committernshrivas <nshrivas@codeaurora.org>2019-04-04 04:14:50 -0700
commit125bcaccd4a03ede387124025ef46ea9dc465e25 (patch)
tree5e9d7cb97bb762b1ba4535cd414ede6b3831f2bd
parent207cf0c0d491ae24a682ed485d9b857381d3461b (diff)
qcacld-3.0: Add new attribute for roam reason
Currently, there is no attribute to get information for roam reason. Atrribute QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REASON is added in QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH command to inform the roam reason. An enum qca_roam_reason is defined for the valid values of the QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_ROAM_REASON. Change-Id: I7f51e1c0905840235098600530bb027f6badb76e CRs-Fixed: 2425898
-rw-r--r--uapi/linux/qca_vendor.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/uapi/linux/qca_vendor.h b/uapi/linux/qca_vendor.h
index fdc95618cba4..1e4eeb944928 100644
--- a/uapi/linux/qca_vendor.h
+++ b/uapi/linux/qca_vendor.h
@@ -2066,6 +2066,51 @@ enum qca_roaming_policy {
};
/**
+ * enum qca_roam_reason - Represents the reason codes for roaming. Used by
+ * QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REASON.
+ *
+ * @QCA_ROAM_REASON_UNKNOWN: Any reason that do not classify under the below
+ * reasons.
+ *
+ * @QCA_ROAM_REASON_PER: Roam triggered when packet error rates(PER) breached
+ * the configured threshold.
+ *
+ * @QCA_ROAM_REASON_BEACON_MISS: Roam triggered due to the continuous configured
+ * beacon misses from the then connected AP.
+ *
+ * @QCA_ROAM_REASON_POOR_RSSI: Roam triggered due to the poor RSSI reported
+ * by the connected AP.
+ *
+ * @QCA_ROAM_REASON_BETTER_RSSI: Roam triggered for finding a BSSID with a
+ * better RSSI than the connected BSSID. Here the RSSI of the current BSSID is
+ * not poor.
+ *
+ * @QCA_ROAM_REASON_CONGESTION: Roam triggered considering the connected channel
+ * or environment being very noisy / congested.
+ *
+ * @QCA_ROAM_REASON_EXPLICIT_REQUEST: Roam triggered due to an explicit request
+ * from the user (user space).
+ *
+ * @QCA_ROAM_REASON_BTM: Roam triggered due to BTM request frame received from
+ * connected AP.
+ *
+ * @QCA_ROAM_REASON_BSS_LOAD: Roam triggered due to the channel utilization
+ * breaching out the configured threshold.
+ *
+ */
+enum qca_roam_reason {
+ QCA_ROAM_REASON_UNKNOWN,
+ QCA_ROAM_REASON_PER,
+ QCA_ROAM_REASON_BEACON_MISS,
+ QCA_ROAM_REASON_POOR_RSSI,
+ QCA_ROAM_REASON_BETTER_RSSI,
+ QCA_ROAM_REASON_CONGESTION,
+ QCA_ROAM_REASON_USER_TRIGGER,
+ QCA_ROAM_REASON_BTM,
+ QCA_ROAM_REASON_BSS_LOAD,
+};
+
+/**
* enum qca_wlan_vendor_attr_roam_auth - vendor event for roaming
* @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID: BSSID of the roamed AP
* @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE: Request IE
@@ -2082,6 +2127,9 @@ enum qca_roaming_policy {
* @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PMKID: AUTH PMKID
* @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_FILS_ERP_NEXT_SEQ_NUM: FILS erp next
* seq number
+ * @QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REASON: A 16-bit unsigned value
+ * representing the reasons for the roaming. Defined by enum
+ * qca_roam_reason.
*/
enum qca_wlan_vendor_attr_roam_auth {
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_INVALID = 0,
@@ -2114,6 +2162,7 @@ enum qca_wlan_vendor_attr_roam_auth {
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PMK,
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PMKID,
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_FILS_ERP_NEXT_SEQ_NUM,
+ QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REASON,
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST,
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_MAX =
QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST - 1