Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48fd3fe5 authored by sheenam monga's avatar sheenam monga Committed by nshrivas
Browse files

qcacmn: 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
parent 80af938a
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
@@ -2241,6 +2241,51 @@ enum qca_roaming_policy {
	QCA_ROAMING_ALLOWED_WITHIN_ESS,
};

/**
 * 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
@@ -2271,6 +2316,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,
@@ -2287,6 +2335,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