From 9dafad1ea32a2d9c0d53c54461133e01b1061f23 Mon Sep 17 00:00:00 2001 From: Veerendranath Jakkam Date: Wed, 19 Oct 2022 19:43:54 +0530 Subject: [PATCH] EHT: Definitions for STA Control fields of Basic Multi-Link element 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 --- src/common/ieee802_11_defs.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h index 0317f9d84..310b7660e 100644 --- a/src/common/ieee802_11_defs.h +++ b/src/common/ieee802_11_defs.h @@ -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 -- 2.47.2