#define WLAN_PROT_FTM 2
#define WLAN_PROT_FTM_REPORT 3
-/* Protected EHT Action field values */
+/* Protected EHT Action field values (IEEE Std 802.11be-2024, Table 9-658d) */
#define WLAN_PROT_EHT_T2L_MAPPING_REQUEST 0
#define WLAN_PROT_EHT_T2L_MAPPING_RESPONSE 1
#define WLAN_PROT_EHT_T2L_MAPPING_TEARDOWN 2
* transmit power is specified for the corresponding 20 MHz channel. */
#define RNR_20_MHZ_PSD_MAX_TXPOWER 127
-/* IEEE P802.11be/D5.0, Figure 9-704c - MLD Parameters subfield format */
+/* IEEE Std 802.11be-2024, Figure 9-734c - MLD Parameters subfield format */
/* B0..B7: AP MLD ID */
/* B8..B11: Link ID */
/* B12..B19: BSS Parameters Change Count */
/* B21: Disabled Link Indication */
#define RNR_TBTT_INFO_MLD_PARAM2_LINK_DISABLED 0x20
-/* IEEE P802.11be/D2.3, 9.4.2.311 - EHT Operation element */
+/* IEEE Std 802.11be-2024, 9.4.2.321 - EHT Operation element */
#define EHT_OPERATION_ELEM_MIN_LEN 1
-/* Figure 9-1002b: EHT Operation Parameters field subfields */
+/* Figure 9-1074j: EHT Operation Parameters field format */
#define EHT_OPER_INFO_PRESENT BIT(0)
#define EHT_OPER_DISABLED_SUBCHAN_BITMAP_PRESENT BIT(1)
#define EHT_OPER_DEFAULT_PE_DURATION BIT(2)
#define EHT_OPER_GROUP_ADDR_BU_INDICATION_EXPONENT (BIT(4) | BIT(5))
#define EHT_OPER_DISABLED_SUBCHAN_BITMAP_SIZE 2
-/* Control subfield: Channel Width subfield; see Table 9-401b */
+/* Control subfield: Channel Width subfield; see Table 9-417e (Channel width,
+ * CCFS0, and CCFS1 subfields) */
#define EHT_OPER_CHANNEL_WIDTH_MASK 0x7
#define EHT_OPER_CHANNEL_WIDTH_20MHZ 0
#define EHT_OPER_CHANNEL_WIDTH_40MHZ 1
#define EHT_OPER_CHANNEL_WIDTH_160MHZ 3
#define EHT_OPER_CHANNEL_WIDTH_320MHZ 4
-/* Figure 9-1002c: EHT Operation Information field format */
+/* Figure 9-1074k: EHT Operation Information field format */
#define EHT_OPER_INFO_MIN_LEN 3
struct ieee80211_eht_oper_info {
le16 disabled_chan_bitmap; /* 0 or 2 octets */
} STRUCT_PACKED;
-/* Figure 9-1002a: EHT Operation element format */
+/* Figure 9-1074i: EHT Operation element format */
struct ieee80211_eht_operation {
u8 oper_params; /* EHT Operation Parameters: EHT_OPER_* bits */
u8 basic_eht_mcs_nss_set[4];
#define IEEE80211_EHT_OP_MIN_LEN (1 + 4)
-/* IEEE P802.11be/D1.5, 9.4.2.313 - EHT Capabilities element */
+/* IEEE Std 802.11be-2024, 9.4.2.323 - EHT Capabilities element */
#define EHT_CAPABILITIES_ELEM_MIN_LEN 11
-/* Figure 9-1002af: EHT MAC Capabilities Information field */
+/* Figure 9-1074ap: EHT MAC Capabilities Information field format */
#define EHT_MACCAP_EPCS_PRIO BIT(0)
#define EHT_MACCAP_OM_CONTROL BIT(1)
#define EHT_MACCAP_TRIGGERED_TXOP_MODE1 BIT(2)
#define EHT_MACCAP_MAX_MPDU_LEN_11454 BIT(7)
#define EHT_MACCAP_MAX_AMPDU_LEN_EXP_EXT BIT(8)
-/* Figure 9-1002ag: EHT PHY Capabilities Information field format
+/* Figure 9-1074aq: EHT PHY Capabilities Information field format
* _IDX indicates the octet index within the field */
#define EHT_PHY_CAPAB_LEN 9
EHT_PHYCAP_MU_BEAMFORMER_160MHZ | \
EHT_PHYCAP_MU_BEAMFORMER_320MHZ)
-/* Figure 9-1002ah: Supported EHT-MCS and NSS Set field format */
+/* Figure 9-1074ar: Supported EHT-MCS and NSS Set field format */
#define EHT_PHYCAP_MCS_NSS_LEN_20MHZ_ONLY 4
#define EHT_PHYCAP_MCS_NSS_LEN_20MHZ_PLUS 3
#define EHT_MCS_NSS_CAPAB_LEN 9
/*
- * Figure 9-1002ak: EHT PPE Thresholds field format
+ * Figure 9-1074au: EHT PPE Thresholds field format
* Maximum PPE threshold length: 62 octets
* NSS: 4 bits (maximum NSS: 16), RU index: 5 bits, each pair: 6 bits
* 4 + 5 + 5 * 16 * 6 = 489 bits, Padding: 7 bits
*/
#define EHT_PPE_THRESH_CAPAB_LEN 62
-/* 9.4.2.313.5: EHT PPE Thresholds field */
+/* 9.4.2.323.5: EHT PPE Thresholds field */
#define EHT_PPE_THRES_NSS_SHIFT 0
#define EHT_PPE_THRES_NSS_MASK ((u8) (BIT(0) | BIT(1) | \
BIT(2) | BIT(3)))
#define EHT_NSS_MAX_STREAMS 8
-/* Figure 9-1002ae: EHT Capabilities element format */
+/* Figure 9-1074ao: EHT Capabilities element format */
struct ieee80211_eht_capabilities {
/* EHT MAC Capabilities Information */
le16 mac_cap;
#define IEEE80211_EHT_CAPAB_MIN_LEN (2 + 9)
-/* IEEE P802.11be/D2.1, 9.4.2.312 - Multi-Link element */
+/* IEEE Std P802.11be-2024, 9.4.2.322 - Multi-Link element */
-/* Figure 9-1002f: Multi-Link Control field */
+/* Figure 9-1074n: 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 */
+/* Table 9-417f: [Multi-Link element] Type subfield encoding */
#define MULTI_LINK_CONTROL_TYPE_BASIC 0
#define MULTI_LINK_CONTROL_TYPE_PROBE_REQ 1
#define MULTI_LINK_CONTROL_TYPE_RECONF 2
#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
+ * Table 9-417g: 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/D7.0, 9.4.2.322.2 - Basic Multi-Link element */
+/* IEEE Std 802.11be-2024, 9.4.2.322.2 - Basic Multi-Link element */
/* Figure 9-1074o: Presence Bitmap subfield of the Basic Multi-Link element */
#define BASIC_MULTI_LINK_CTRL_PRES_LINK_ID 0x0010
/*
* STA Control field definitions of Per-STA Profile subelement in Basic
- * Multi-Link element as described in Figure 9-1002n: STA Control field format.
+ * Multi-Link element as described in Figure 9-1074v: STA Control field format
+ * of the Basic Multi-Link element.
*/
#define BASIC_MLE_STA_CTRL_LEN 2
#define BASIC_MLE_STA_CTRL_LINK_ID_MASK 0x000F
#define BASIC_MLE_STA_PROF_STA_MAC_IDX 3
-/* IEEE P802.11be/D2.2, 9.4.2.312.2.3 - Common Info field of the Basic
+/* IEEE Std 802.11be-2024, 9.4.2.322.2.3 - Common Info field of the Basic
* Multi-Link element */
struct eht_ml_basic_common_info {
u8 len;
* Medium Synchronization Delay Information: 2 octets
* EML Capabilities: 2 octets
* MLD Capabilities and Operations: 2 octets
- * Extended MLD Capabilities And Operations: 2 octets
* AP MLD ID: 1 octet
+ * Extended MLD Capabilities And Operations: 2 octets
*/
u8 variable[];
} STRUCT_PACKED;
#define EHT_PER_STA_CTRL_NSTR_BM_SIZE_MSK 0x0400
#define EHT_PER_STA_CTRL_BSS_PARAM_CNT_PRESENT_MSK 0x0800
-/* IEEE P802.11be/D2.0, 9.4.2.312.2.4 - Per-STA Profile subelement format */
+/* IEEE Std 802.11be-2024, Figure 9-1074u - Per-STA Profile subelement format
+ * of the Basic Multi-Link element*/
struct ieee80211_eht_per_sta_profile {
le16 sta_control;
u8 variable[];
} STRUCT_PACKED;
-/* IEEE P802.11be/D4.0, 9.4.2.312.3 - Probe Request Multi-Link element
+/* IEEE Std 802.11be-2024, 9.4.2.322.3 - Probe Request Multi-Link element
+ * Figure 9-1074y - Presence Bitmap field format of the Probe Request
+ * Multi-Link element
* Presence Bitmap field is B4..B15 of the Multi-Link Control field, i.e.,
* B0 in the presence bitmap is B4 in the control field. */
#define EHT_ML_PRES_BM_PROBE_REQ_AP_MLD_ID 0x0010
+#define EHT_ML_PRES_BM_PROBE_REQ_MLD_MAC_ADDR 0x0020
struct eht_ml_probe_req_common_info {
u8 len;
* bitmap
*
* AP MLD ID: 1 octet
+ * MLD MAC Address: 6 cotets
*/
u8 variable[];
} STRUCT_PACKED;
-/* IEEE P802.11be/D4.0, 9.4.2.312.4 - Reconfiguration Multi-Link element */
+/* IEEE Std 802.11be-2024, 9.4.2.322.4 - Reconfiguration Multi-Link element */
#define RECONF_MULTI_LINK_CTRL_PRES_MLD_MAC_ADDR 0x0001
#define RECONF_MULTI_LINK_CTRL_PRES_EML_CAPA 0x0002
#define EHT_PER_STA_RECONF_CTRL_OP_UPDATE_TYPE_VAL(x) ((x) >> 7)
-/* IEEE P802.11be/D7.0, Figure 9-1074ad - Common Info field format of the
+/* IEEE Std 802.11be-2024, Figure 9-1074ad - Common Info field format of the
* Reconfiguration Multi-Link element */
struct eht_ml_reconf_common_info {
u8 len;
} STRUCT_PACKED;
-/* IEEE P802.11be/D7.0, Table 9-417p - Reconfiguration Operation Type subfield
- * encoding */
+/* IEEE Std 802.11be-2024, Table 9-417p - Reconfiguration Operation Type
+ * subfield encoding */
enum ieee80211_eht_reconf_mle_op_type {
EHT_RECONF_TYPE_AP_REMOVAL = 0,
EHT_RECONF_TYPE_OP_PARAM_UPDATE = 1,
EHT_RECONF_TYPE_NSTR_STATUS_UPDATE = 4,
};
-/* IEEE P802.11be/D7.0, Figure 9-1074ag — STA Info field format for the
+/* IEEE Std 802.11be-2024, Figure 9-1074ag — STA Info field format for the
* Reconfiguration Multi-Link element */
struct eht_ml_reconf_sta_info {
u8 len;
u8 variable[];
} STRUCT_PACKED;
-/* IEEE P802.11be/D2.0, 9.4.2.312.1 - Multi-Link element / General */
+/* IEEE Std 802.11be-2024, 9.4.2.322.1 - Multi-Link element / General */
struct ieee80211_eht_ml {
le16 ml_control;
u8 variable[];
} STRUCT_PACKED;
-/* IEEE P802.11be/D7.0, 9.4.2.329 (Bandwidth Indication element) defines the
+/* IEEE Std 802.11be-2024, 9.4.2.329 (Bandwidth Indication element) defines the
* Bandwidth Indication Information field to have the same definition as the
* EHT Operation Information field in the EHT Operation element.
*/
} STRUCT_PACKED;
/* Control subfield: Channel Width subfield; see Table 9-417e (Channel width,
- * CCFS0, and CCFS1 subfields) in IEEE P802.11be/D7.0. */
+ * CCFS0, and CCFS1 subfields) in IEEE Std 802.11be-2024. */
#define BW_IND_CHANNEL_WIDTH_20MHZ EHT_OPER_CHANNEL_WIDTH_20MHZ
#define BW_IND_CHANNEL_WIDTH_40MHZ EHT_OPER_CHANNEL_WIDTH_40MHZ
#define BW_IND_CHANNEL_WIDTH_80MHZ EHT_OPER_CHANNEL_WIDTH_80MHZ
#define BW_IND_CHANNEL_WIDTH_160MHZ EHT_OPER_CHANNEL_WIDTH_160MHZ
#define BW_IND_CHANNEL_WIDTH_320MHZ EHT_OPER_CHANNEL_WIDTH_320MHZ
-/* IEEE P802.11be/D7.0, 9.4.2.329 (Bandwidth Indication element) */
+/* IEEE Std 802.11be-2024, 9.4.2.329 (Bandwidth Indication element) */
struct ieee80211_bw_ind_element {
u8 bw_ind_params; /* Bandwidth Indication Parameters */
struct ieee80211_bw_ind_info bw_ind_info; /* 3 or 5 octets */
};
/*
- * IEEE P802.11be/D4.0, 9.4.2.316 QoS Characteristics element,
- * Table 9-404s (Direction subfield encoding)
+ * IEEE Std 802.11be-2024, 9.4.2.326 QoS Characteristics element,
+ * Table 9-417w (Direction subfield encoding)
*/
enum scs_direction {
SCS_DIRECTION_UP = 0,
};
/*
- * IEEE P802.11be/D4.0, 9.4.2.316 QoS Characteristics element,
- * Figure 9-1001av (Control Info field format)
+ * IEEE Std 802.11be-2024, 9.4.2.326 QoS Characteristics element,
+ * Figure 9-1074bd (Control Info field format)
*/
#define EHT_QOS_CONTROL_INFO_DIRECTION_OFFSET 0
#define EHT_QOS_CONTROL_INFO_TID_OFFSET 2
#define EHT_QOS_CONTROL_INFO_LINK_ID_OFFSET 25
/*
- * IEEE P802.11be/D4.0, 9.4.2.316 QoS Characteristics element,
+ * IEEE Std 802.11be-2024, 9.4.2.326 QoS Characteristics element,
* Presence Bitmap Of Additional Parameters
*/
#define SCS_QOS_BIT_MAX_MSDU_SIZE ((u16) BIT(0))
{ -1, 1441200 } /* SNR > 51 */
};
-/* See IEEE P802.11be/D7.0, Table 36-78 - EHT-MCSs for 484+242-tone MRU,
+/* See IEEE Std 802.11be-2024, Table 36-78 - EHT-MCSs for 484+242-tone MRU,
* NSS,u = 1
*/
static const struct minsnr_bitrate_entry eht60_table[] = {
{ -1, 516200 } /* SNR > 48 */
};
-/* See IEEE P802.11be/D7.0, Table 36-80 - EHT-MCSs for 996+484-tone MRU,
+/* See IEEE Std 802.11be-2024, Table 36-80 - EHT-MCSs for 996+484-tone MRU,
* NSS,u = 1
*/
static const struct minsnr_bitrate_entry eht120_table[] = {
{ -1, 1064700 } /* SNR > 51 */
};
-/* See IEEE P802.11be/D7.0, Table 36-81 - EHT-MCSs for 996+484+242-tone MRU,
+/* See IEEE Std 802.11be-2024, Table 36-81 - EHT-MCSs for 996+484+242-tone MRU,
* NSS,u = 1
*/
static const struct minsnr_bitrate_entry eht140_table[] = {
{ -1, 1236800 } /* SNR > 51 */
};
-/* See IEEE P802.11be/D7.0, Table 36-83 - EHT-MCSs for 2x996+484-tone NRU,
+/* See IEEE Std 802.11be-2024, Table 36-83 - EHT-MCSs for 2x996+484-tone NRU,
* NSS,u = 1
*/
static const struct minsnr_bitrate_entry eht200_table[] = {
{ -1, 1785300 } /* SNR > 54 */
};
-/* See IEEE P802.11be/D7.0, Table 36-84 - EHT-MCSs for 3x996-tone MRU,
+/* See IEEE Std 802.11be-2024, Table 36-84 - EHT-MCSs for 3x996-tone MRU,
* NSS,u = 1
*/
static const struct minsnr_bitrate_entry eht240_table[] = {
{ -1, 2161800 } /* SNR > 54 */
};
-/* See IEEE P802.11be/D7.0, Table 36-85: EHT-MCSs for 3x996+484-tone MRU,
+/* See IEEE Std 802.11be-2024, Table 36-85: EHT-MCSs for 3x996+484-tone MRU,
* NSS,u = 1
*/
static const struct minsnr_bitrate_entry eht280_table[] = {
{ -1, 2505900 } /* SNR > 54 */
};
-/* See IEEE P802.11be/D2.0, Table 36-86: EHT-MCSs for 4x996-tone RU, NSS,u = 1
+/* See IEEE Std 802.11be-2024, Table 36-86: EHT-MCSs for 4x996-tone RU,
+ * NSS,u = 1
*/
static const struct minsnr_bitrate_entry eht320_table[] = {
{ 0, 0 },