wifi: ieee80211: add definitions for negotiated TID to Link map
authorAyala Beker <ayala.beker@intel.com>
Tue, 2 Jan 2024 19:35:33 +0000 (21:35 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 26 Jan 2024 08:39:48 +0000 (09:39 +0100)
Add the relevant definitions and structures for TID to Link mapping
negotiation request/response/teardown according to P802.11be_D4.0.

Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240102213313.9ef2b866c8c7.Ieaf7dadea9961e0edc55d19c99f0f9fbae591de6@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/linux/ieee80211.h

index 83c4d060a559631ff6e1c6e45e1cedfad8256405..eafa70e5ba948f6f40473fe8b2cb6043c6bab634 100644 (file)
@@ -1454,6 +1454,20 @@ struct ieee80211_mgmt {
                                        u8 max_tod_error;
                                        u8 max_toa_error;
                                } __packed wnm_timing_msr;
+                               struct {
+                                       u8 action_code;
+                                       u8 dialog_token;
+                                       u8 variable[];
+                               } __packed ttlm_req;
+                               struct {
+                                       u8 action_code;
+                                       u8 dialog_token;
+                                       u8 status_code;
+                                       u8 variable[];
+                               } __packed ttlm_res;
+                               struct {
+                                       u8 action_code;
+                               } __packed ttlm_tear_down;
                        } u;
                } __packed action;
                DECLARE_FLEX_ARRAY(u8, body); /* Generic frame body */
@@ -3357,6 +3371,8 @@ enum ieee80211_statuscode {
        WLAN_STATUS_UNKNOWN_AUTHENTICATION_SERVER = 109,
        WLAN_STATUS_SAE_HASH_TO_ELEMENT = 126,
        WLAN_STATUS_SAE_PK = 127,
+       WLAN_STATUS_DENIED_TID_TO_LINK_MAPPING = 133,
+       WLAN_STATUS_PREF_TID_TO_LINK_MAPPING_SUGGESTED = 134,
 };
 
 
@@ -3682,6 +3698,7 @@ enum ieee80211_category {
        WLAN_CATEGORY_UNPROT_DMG = 20,
        WLAN_CATEGORY_VHT = 21,
        WLAN_CATEGORY_S1G = 22,
+       WLAN_CATEGORY_PROTECTED_EHT = 37,
        WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
        WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
 };
@@ -3745,6 +3762,13 @@ enum ieee80211_unprotected_wnm_actioncode {
        WLAN_UNPROTECTED_WNM_ACTION_TIMING_MEASUREMENT_RESPONSE = 1,
 };
 
+/* Protected EHT action codes */
+enum ieee80211_protected_eht_actioncode {
+       WLAN_PROTECTED_EHT_ACTION_TTLM_REQ = 0,
+       WLAN_PROTECTED_EHT_ACTION_TTLM_RES = 1,
+       WLAN_PROTECTED_EHT_ACTION_TTLM_TEARDOWN = 2,
+};
+
 /* Security key length */
 enum ieee80211_key_len {
        WLAN_KEY_LEN_WEP40 = 5,
@@ -4845,6 +4869,10 @@ struct ieee80211_multi_link_elem {
 #define IEEE80211_MLD_CAP_OP_MAX_SIMUL_LINKS           0x000f
 #define IEEE80211_MLD_CAP_OP_SRS_SUPPORT               0x0010
 #define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP  0x0060
+#define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_NO_SUPP       0
+#define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP_SAME     1
+#define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_RESERVED      2
+#define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP_DIFF     3
 #define IEEE80211_MLD_CAP_OP_FREQ_SEP_TYPE_IND         0x0f80
 #define IEEE80211_MLD_CAP_OP_AAR_SUPPORT               0x1000