]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
EHT: Definitions for STA Control fields of Basic Multi-Link element
authorVeerendranath Jakkam <quic_vjakkam@quicinc.com>
Wed, 19 Oct 2022 14:13:54 +0000 (19:43 +0530)
committerJouni Malinen <j@w1.fi>
Mon, 31 Oct 2022 15:07:38 +0000 (17:07 +0200)
Define subelement IDs and Per-STA Profile STA control fields of Basic
Multi-Link element as described in IEEE P802.11be/D2.2. Also add define
for Multi-Link Control field length.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
src/common/ieee802_11_defs.h

index 0317f9d845f8b13fccb5034e75b921b1d6a980eb..310b7660e2ff64bb16a8e15f6aba3785e610e2a7 100644 (file)
@@ -2519,6 +2519,7 @@ struct ieee80211_eht_capabilities {
 
 /* Figure 9-1002f: Multi-Link Control field */
 #define MULTI_LINK_CONTROL_TYPE_MASK                   0x07
+#define MULTI_LINK_CONTROL_LEN                         2
 
 /* Table 9-401c: Mult-Link element Type subfield encoding */
 #define MULTI_LINK_CONTROL_TYPE_BASIC                  0
@@ -2527,6 +2528,16 @@ struct ieee80211_eht_capabilities {
 #define MULTI_LINK_CONTROL_TYPE_TDLS                   3
 #define MULTI_LINK_CONTROL_TYPE_PRIOR_ACCESS           4
 
+/*
+ * IEEE P802.11be/D2.2, Table 9-401c: Optional subelement IDs for Link Info
+ * field of the Multi-Link element
+ */
+#define MULTI_LINK_SUB_ELEM_ID_PER_STA_PROFILE         0
+#define MULTI_LINK_SUB_ELEM_ID_VENDOR                  221
+#define MULTI_LINK_SUB_ELEM_ID_FRAGMENT                        254
+
+/* IEEE P802.11be/D2.2, 9.4.2.312.2 - Basic Multi-Link element */
+
 /* Figure 9-1002g: Presence Bitmap subfield of the Basic Multi-Link element */
 #define BASIC_MULTI_LINK_CTRL0_PRES_LINK_ID            0x10
 #define BASIC_MULTI_LINK_CTRL0_PRES_BSS_PARAM_CH_COUNT 0x20
@@ -2536,6 +2547,23 @@ struct ieee80211_eht_capabilities {
 #define BASIC_MULTI_LINK_CTRL1_PRES_MLD_CAPA           0x01
 #define BASIC_MULTI_LINK_CTRL1_PRES_AP_MLD_ID          0x02
 
+/*
+ * STA Control field definitions of Per-STA Profile subelement in Basic
+ * Multi-Link element as described in Figure 9-1002n: STA Control field format.
+ */
+#define BASIC_MLE_STA_CTRL0_LINK_ID_SHIFT              0
+#define BASIC_MLE_STA_CTRL0_LINK_ID_MASK               0x0F
+#define BASIC_MLE_STA_CTRL0_COMPLETE_PROFILE           0x10
+#define BASIC_MLE_STA_CTRL0_PRES_STA_MAC               0x20
+#define BASIC_MLE_STA_CTRL0_PRES_BEACON_INT            0x40
+#define BASIC_MLE_STA_CTRL0_PRES_TSF_OFFSET            0x80
+#define BASIC_MLE_STA_CTRL1_PRES_DTIM_INFO             0x01
+#define BASIC_MLE_STA_CTRL1_PRES_NSTR_LINK_PAIR                0x02
+#define BASIC_MLE_STA_CTRL1_NSTR_BITMAP                        0x04
+#define BASIC_MLE_STA_CTRL1_PRES_BSS_PARAM_COUNT       0x08
+
+#define BASIC_MLE_STA_PROF_STA_MAC_IDX                 3
+
 /* IEEE P802.11ay/D4.0, 9.4.2.251 - EDMG Operation element */
 #define EDMG_BSS_OPERATING_CHANNELS_OFFSET     6
 #define EDMG_OPERATING_CHANNEL_WIDTH_OFFSET    7