From: Jouni Malinen Date: Tue, 9 Dec 2025 13:52:11 +0000 (+0200) Subject: Updated IEEE P802.11be references to point to the published amendment X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74a5112ec1a46495185e2f565938c79f7b6d2d64;p=thirdparty%2Fhostap.git Updated IEEE P802.11be references to point to the published amendment These references were pointing to various draft versions of IEEE P802.11be mostly based on when the functionality was added during the development of this standards amendment. Update these to reference the published amendment to make things easier to find. Signed-off-by: Jouni Malinen --- diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c index 10719bde6..18bf01772 100644 --- a/src/ap/ap_drv_ops.c +++ b/src/ap/ap_drv_ops.c @@ -964,7 +964,7 @@ int hostapd_drv_wnm_oper(struct hostapd_data *hapd, enum wnm_oper oper, #ifdef CONFIG_IEEE80211BE static bool hostapd_is_action_frame_link_agnostic(u8 category, u8 sub_category) { - /* As per IEEE P802.11be/D7.0, 35.3.14 (MLD individually addressed + /* As per IEEE Std 802.11be-2024, 35.3.14 (MLD individually addressed * Management frame delivery), between an AP MLD and a non-AP MLD, the * following individually addressed MMPDUs shall be intended for an MLD. */ diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c index 0790abe3d..ce12d7b23 100644 --- a/src/ap/ctrl_iface_ap.c +++ b/src/ap/ctrl_iface_ap.c @@ -1244,7 +1244,8 @@ static int hostapd_ctrl_check_freq_params(struct hostapd_freq_params *params, } } else { /* Non-6 GHz channel */ /* An EHT STA is also an HE STA as defined in - * IEEE P802.11be/D5.0, 4.3.16a. */ + * IEEE Std 802.11be-2024, 4.3.16a (Extremely high throughput + * (EHT) STA). */ if (params->he_enabled || params->eht_enabled) { params->he_enabled = 1; /* An HE STA is also a VHT STA if operating in the 5 GHz diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c index 6c1f85cf2..7872c8dd7 100644 --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c @@ -7862,11 +7862,11 @@ static u8 * hostapd_eid_wb_channel_switch(struct hostapd_data *hapd, u8 *eid, */ switch (hapd->cs_freq_params.bandwidth) { case 320: - /* As per IEEE P802.11be/D7.0, 35.15.3, - * For EHT BSS operating channel width wider than 160 MHz, - * the announced BSS bandwidth in the Wide Bandwidth - * Channel Switch element is less than the BSS bandwidth - * in the Bandwidth Indication element + /* As per IEEE Std 802.11be-2024, 35.15.3 (Channel switching + * methods for an EHT BSS), for EHT BSS operating channel width + * wider than 160 MHz, the announced BSS bandwidth in the Wide + * Bandwidth Channel Switch element is less than the BSS + * bandwidth in the Bandwidth Indication element */ /* Modifying the center frequency to 160 MHz */ diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c index 4f5356961..82394b127 100644 --- a/src/ap/wnm_ap.c +++ b/src/ap/wnm_ap.c @@ -1031,7 +1031,7 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta, if (disassoc_timer) { #ifdef CONFIG_IEEE80211BE /* Link removal is scheduled only when the Link Removal Imminent - * field is set to 1 in BTM as per IEEE P802.11be/D7.0, + * field is set to 1 in BTM as per IEEE Std 802.11be-2024, * 9.6.13.9 (BSS Transition Management Request frame format); * else schedule full disconnection. */ diff --git a/src/common/hw_features_common.c b/src/common/hw_features_common.c index 6f8eef249..e928738ee 100644 --- a/src/common/hw_features_common.c +++ b/src/common/hw_features_common.c @@ -995,7 +995,7 @@ int chan_pri_allowed(const struct hostapd_channel_data *chan) } -/* IEEE P802.11be/D3.0, Table 36-30 - Definition of the Punctured Channel +/* IEEE Std 802.11be-2024, Table 36-30 - Definition of the Punctured Channel * Information field in the U-SIG for an EHT MU PPDU using non-OFDMA * transmissions */ static const u16 punct_bitmap_80[] = { 0xF, 0xE, 0xD, 0xB, 0x7 }; diff --git a/src/common/ieee802_11_common.c b/src/common/ieee802_11_common.c index d257bbd9f..320d586fc 100644 --- a/src/common/ieee802_11_common.c +++ b/src/common/ieee802_11_common.c @@ -2488,7 +2488,7 @@ const struct oper_class_map global_op_class[] = { { HOSTAPD_MODE_IEEE80211A, 135, 1, 233, 16, BW80P80, NO_P2P_SUPP }, { HOSTAPD_MODE_IEEE80211A, 136, 2, 2, 4, BW20, NO_P2P_SUPP }, - /* IEEE P802.11be/D5.0, Table E-4 (Global operating classes) */ + /* IEEE Std 802.11be-2024, Table E-4 (Global operating classes) */ { HOSTAPD_MODE_IEEE80211A, 137, 31, 191, 32, BW320, NO_P2P_SUPP }, /* @@ -3483,7 +3483,7 @@ struct wpabuf * ieee802_11_defrag(const u8 *data, size_t len, bool ext_elem) * It should be called individually for each subelement. * * Subelements can use the Fragment subelement if they pack more than 255 bytes - * of data, see IEEE P802.11be/D7.0 Figure 35-4 - Per-STA Profile subelement + * of data, see IEEE Std 802.11be-2024, Figure 35-4 - Per-STA Profile subelement * fragmentation within a fragmented Multi-Link element. */ size_t ieee802_11_defrag_mle_subelem(struct wpabuf *mlbuf, diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h index ddd60e28e..e78e368ae 100644 --- a/src/common/ieee802_11_defs.h +++ b/src/common/ieee802_11_defs.h @@ -791,7 +791,7 @@ #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 @@ -2695,7 +2695,7 @@ struct ieee80211_he_mu_edca_parameter_set { * 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 */ @@ -2704,10 +2704,10 @@ struct ieee80211_he_mu_edca_parameter_set { /* 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) @@ -2715,7 +2715,8 @@ struct ieee80211_he_mu_edca_parameter_set { #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 @@ -2723,7 +2724,7 @@ struct ieee80211_he_mu_edca_parameter_set { #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 { @@ -2733,7 +2734,7 @@ 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]; @@ -2742,10 +2743,10 @@ struct ieee80211_eht_operation { #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) @@ -2758,7 +2759,7 @@ struct ieee80211_eht_operation { #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 @@ -2781,20 +2782,20 @@ struct ieee80211_eht_operation { 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))) @@ -2805,7 +2806,7 @@ struct ieee80211_eht_operation { #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; @@ -2817,13 +2818,13 @@ struct ieee80211_eht_capabilities { #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 @@ -2831,14 +2832,14 @@ struct ieee80211_eht_capabilities { #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 @@ -2851,7 +2852,8 @@ struct ieee80211_eht_capabilities { /* * 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 @@ -2866,7 +2868,7 @@ struct ieee80211_eht_capabilities { #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; @@ -2881,8 +2883,8 @@ struct eht_ml_basic_common_info { * 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; @@ -2934,7 +2936,8 @@ struct eht_ml_basic_common_info { #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; @@ -2942,11 +2945,14 @@ struct ieee80211_eht_per_sta_profile { 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; @@ -2956,11 +2962,12 @@ struct eht_ml_probe_req_common_info { * 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 @@ -2978,7 +2985,7 @@ struct eht_ml_probe_req_common_info { #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; @@ -2996,8 +3003,8 @@ struct eht_ml_reconf_common_info { } 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, @@ -3006,7 +3013,7 @@ enum ieee80211_eht_reconf_mle_op_type { 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; @@ -3021,7 +3028,7 @@ struct eht_ml_reconf_sta_info { 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; @@ -3030,7 +3037,7 @@ struct ieee80211_eht_ml { 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. */ @@ -3042,14 +3049,14 @@ struct ieee80211_bw_ind_info { } 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 */ @@ -3110,8 +3117,8 @@ enum scs_request_type { }; /* - * 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, @@ -3120,8 +3127,8 @@ enum scs_direction { }; /* - * 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 @@ -3130,7 +3137,7 @@ enum scs_direction { #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)) diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h index dd6034aa2..8581c3215 100644 --- a/src/common/qca-vendor.h +++ b/src/common/qca-vendor.h @@ -20029,8 +20029,8 @@ enum qca_wlan_vendor_attr_chan_usage_req { * Response frame of the BSS. * * @QCA_WLAN_FW_SCAN_BSS_EHT_OPS: This indicates EHT Operation element - * (IEEE P802.11be/D7.0, 9.4.2.321) is present in the Beacon or Probe Response - * frame of the BSS. + * (IEEE Std 802.11be-2024, 9.4.2.321) is present in the Beacon or Probe + * Response frame of the BSS. * * @QCA_WLAN_FW_SCAN_BSS_FTM_RESPONDER: This indicates Fine Timing Measurement * Responder bit is set to 1 in the Extended Capabilities field of the Extended diff --git a/wpa_supplicant/robust_av.c b/wpa_supplicant/robust_av.c index 76c576e51..d0cf07648 100644 --- a/wpa_supplicant/robust_av.c +++ b/wpa_supplicant/robust_av.c @@ -205,8 +205,8 @@ skip_tclas_elem: qos_elem->mask &= ~SCS_QOS_BIT_SERVICE_START_TIME_LINKID; - /* 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) */ control_info = ((u32) qos_elem->direction << EHT_QOS_CONTROL_INFO_DIRECTION_OFFSET); diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c index 7f7b6c514..81d3a678c 100644 --- a/wpa_supplicant/scan.c +++ b/wpa_supplicant/scan.c @@ -2802,7 +2802,7 @@ static const struct minsnr_bitrate_entry he160_table[] = { { -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[] = { @@ -2824,7 +2824,7 @@ 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[] = { @@ -2846,7 +2846,7 @@ 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[] = { @@ -2868,7 +2868,7 @@ 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[] = { @@ -2890,7 +2890,7 @@ 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[] = { @@ -2912,7 +2912,7 @@ 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[] = { @@ -2934,7 +2934,8 @@ 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 }, diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c index a03383f0a..77931b654 100644 --- a/wpa_supplicant/wnm_sta.c +++ b/wpa_supplicant/wnm_sta.c @@ -1588,11 +1588,13 @@ static void ieee802_11_rx_bss_trans_mgmt_req(struct wpa_supplicant *wpa_s, disassoc_imminent = wpa_s->wnm_mode & WNM_BSS_TM_REQ_DISASSOC_IMMINENT; /* - * Based on IEEE P802.11be/D5.0, when a station is a non-AP MLD with - * more than one affiliated link, the Link Removal Imminent field is - * set to 1, and the BSS Termination Included field is set to 1, only - * one of the links is removed and the other links remain associated. - * Ignore the Disassociation Imminent field in such a case. + * Based on IEEE Std 802.11be-2024, Table 9-538a (BSS Termination + * Included and Link Removal Imminent fields encoding), when a station + * is a non-AP MLD with more than one affiliated link, the Link Removal + * Imminent field is set to 1, and the BSS Termination Included field + * is set to 1, only one of the links is removed and the other links + * remain associated. Ignore the Disassociation Imminent field in such + * a case. * * TODO: We should check if the AP has more than one link. * TODO: We should pass the RX link and use that