From 4efb0247a024f4aa1014e9a8230ec18f96ab935c Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 22 Dec 2023 21:30:28 +0200 Subject: [PATCH] Update definitions to point to the current IEEE 802.11 standard The previous references were to various snapshots of the standard and draft versions. Signed-off-by: Jouni Malinen --- src/common/ieee802_11_defs.h | 102 +++++++++++++++++------------------ 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h index 2757ba7f8..4e040c35c 100644 --- a/src/common/ieee802_11_defs.h +++ b/src/common/ieee802_11_defs.h @@ -107,7 +107,7 @@ #define WLAN_CAPABILITY_DELAYED_BLOCK_ACK BIT(14) #define WLAN_CAPABILITY_IMM_BLOCK_ACK BIT(15) -/* Status codes (IEEE Std 802.11-2016, 9.4.1.9, Table 9-46) */ +/* Status codes (IEEE Std 802.11-2020, 9.4.1.9, Table 9-50) */ #define WLAN_STATUS_SUCCESS 0 #define WLAN_STATUS_UNSPECIFIED_FAILURE 1 #define WLAN_STATUS_TDLS_WAKEUP_ALTERNATE 2 @@ -222,7 +222,7 @@ #define WLAN_STATUS_EPCS_DENIED_VERIFICATION_FAILURE 140 #define WLAN_STATUS_DENIED_OPERATION_PARAMETER_UPDATE 141 -/* Reason codes (IEEE Std 802.11-2016, 9.4.1.7, Table 9-45) */ +/* Reason codes (IEEE Std 802.11-2020, 9.4.1.7, Table 9-90) */ #define WLAN_REASON_UNSPECIFIED 1 #define WLAN_REASON_PREV_AUTH_NOT_VALID 2 #define WLAN_REASON_DEAUTH_LEAVING 3 @@ -286,7 +286,7 @@ #define WLAN_REASON_MESH_CHANNEL_SWITCH_UNSPECIFIED 66 -/* Information Element IDs (IEEE Std 802.11-2016, 9.4.2.1, Table 9-77) */ +/* Element IDs (IEEE Std 802.11-2020, 9.4.2.1, Table 9-92) */ #define WLAN_EID_SSID 0 #define WLAN_EID_SUPP_RATES 1 #define WLAN_EID_DS_PARAMS 3 @@ -608,7 +608,7 @@ /* Multiple BSSID element subelements */ #define WLAN_MBSSID_SUBELEMENT_NONTRANSMITTED_BSSID_PROFILE 0 -/* Action frame categories (IEEE Std 802.11-2016, 9.4.1.11, Table 9-76) */ +/* Action frame categories (IEEE Std 802.11-2020, 9.4.1.11, Table 9-51) */ #define WLAN_ACTION_SPECTRUM_MGMT 0 #define WLAN_ACTION_QOS 1 #define WLAN_ACTION_DLS 2 @@ -649,7 +649,7 @@ #define WLAN_ACTION_VENDOR_SPECIFIC 127 /* Note: 128-255 used to report errors by setting category | 0x80 */ -/* Public action codes (IEEE Std 802.11-2016, 9.6.8.1, Table 9-307) */ +/* Public action codes (IEEE Std 802.11-2020, 9.6.7.1, Table 9-364) */ #define WLAN_PA_20_40_BSS_COEX 0 #define WLAN_PA_DSE_ENABLEMENT 1 #define WLAN_PA_DSE_DEENABLEMENT 2 @@ -700,8 +700,8 @@ #define WLAN_VHT_ACTION_GROUP_ID_MGMT 1 #define WLAN_VHT_ACTION_OPMODE_NOTIF 2 -/* Protected Dual of Public Action frames (IEEE Std 802.11-2016, 9.6.11, - * Table 9-332) */ +/* Protected Dual of Public Action frames (IEEE Std 802.11-2020, 9.6.10, + * Table 9-404) */ #define WLAN_PROT_DSE_ENABLEMENT 1 #define WLAN_PROT_DSE_DEENABLEMENT 2 #define WLAN_PROT_EXT_CSA 4 @@ -729,7 +729,7 @@ #define WLAN_PROT_NETWORK_CHANNEL_CONTROL 30 #define WLAN_PROT_WHITE_SPACE_MAP_ANNOUNCEMENT 31 -/* SA Query Action frame (IEEE 802.11w/D8.0, 7.4.9) */ +/* SA Query Action frame (IEEE Std 802.11-2020, 9.6.9) */ #define WLAN_SA_QUERY_REQUEST 0 #define WLAN_SA_QUERY_RESPONSE 1 @@ -762,7 +762,7 @@ #define WLAN_PROT_FTM_REPORT 3 /* Radio Measurement capabilities (from RM Enabled Capabilities element) - * IEEE Std 802.11-2016, 9.4.2.45, Table 9-157 */ + * IEEE Std 802.11-2020, 9.4.2.44, Table 9-179 */ /* byte 1 (out of 5) */ #define WLAN_RRM_CAPS_LINK_MEASUREMENT BIT(0) #define WLAN_RRM_CAPS_NEIGHBOR_REPORT BIT(1) @@ -775,8 +775,8 @@ #define WLAN_RRM_CAPS_FTM_RANGE_REPORT BIT(2) /* - * IEEE P802.11-REVmc/D5.0, 9.4.2.21.19 (Fine Timing Measurement Range - * request) - Minimum AP count + * IEEE Std 802.11-2020, 9.4.2.20.19 (Fine Timing Measurement Range + * request) - Minimum AP Count */ #define WLAN_RRM_RANGE_REQ_MAX_MIN_AP 15 @@ -785,7 +785,8 @@ #define WLAN_TIMEOUT_KEY_LIFETIME 2 #define WLAN_TIMEOUT_ASSOC_COMEBACK 3 -/* Interworking element (IEEE 802.11u) - Access Network Options */ +/* Interworking element (IEEE Std 802.11-2020, 9.4.2.91) - + * Access Network Options */ #define INTERWORKING_ANO_ACCESS_NETWORK_MASK 0x0f #define INTERWORKING_ANO_INTERNET 0x10 #define INTERWORKING_ANO_ASRA 0x20 @@ -801,7 +802,7 @@ #define INTERWORKING_ANT_TEST 6 #define INTERWORKING_ANT_WILDCARD 15 -/* Advertisement Protocol ID definitions (IEEE Std 802.11-2016, Table 9-215) */ +/* Advertisement Protocol ID definitions (IEEE Std 802.11-2020, Table 9-237) */ enum adv_proto_id { ACCESS_NETWORK_QUERY_PROTOCOL = 0, MIH_INFO_SERVICE = 1, @@ -811,8 +812,7 @@ enum adv_proto_id { ADV_PROTO_VENDOR_SPECIFIC = 221 }; -/* Access Network Query Protocol info ID definitions (IEEE Std 802.11-2016, - * Table 9-271; P802.11ai) */ +/* ANQP-element definitions (IEEE Std 802.11-2020, Table 9-331) */ enum anqp_info_id { ANQP_QUERY_LIST = 256, ANQP_CAPABILITY_LIST = 257, @@ -887,7 +887,7 @@ enum nai_realm_eap_cred_type { #define S1G_ACT_TWT_INFORMATION 11 /* - * IEEE P802.11-REVmc/D5.0 Table 9-81 - Measurement type definitions for + * IEEE Std 802.11-2020, Table 9-98 - Measurement type definitions for * measurement requests */ enum measure_type { @@ -911,7 +911,7 @@ enum measure_type { MEASURE_TYPE_MEASURE_PAUSE = 255, }; -/* IEEE Std 802.11-2012 Table 8-71 - Location subject definition */ +/* IEEE Std 802.11-2020, Table 9-110 - Location Subject field definition */ enum location_subject { LOCATION_SUBJECT_LOCAL = 0, LOCATION_SUBJECT_REMOTE = 1, @@ -919,7 +919,7 @@ enum location_subject { }; /* - * IEEE P802.11-REVmc/D5.0 Table 9-94 - Optional subelement IDs for LCI request + * IEEE Std 802.11-2020, Table 9-111 - Optional subelement IDs for LCI request */ enum lci_req_subelem { LCI_REQ_SUBELEM_AZIMUTH_REQ = 1, @@ -1887,7 +1887,7 @@ enum wnm_action { #define WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT BIT(4) #define WNM_BSS_TM_REQ_LINK_REMOVAL_IMMINENT BIT(5) -/* IEEE Std 802.11-2012 - Table 8-253 */ +/* IEEE Std 802.11-2020, Table 9-428 (BTM status code definitions) */ enum bss_trans_mgmt_status_code { WNM_BSS_TM_ACCEPT = 0, WNM_BSS_TM_REJECT_UNSPECIFIED = 1, @@ -1928,8 +1928,8 @@ enum bss_trans_mgmt_reason { }; /* - * IEEE P802.11-REVmc/D5.0 Table 9-150 - Optional subelement IDs for - * neighbor report + * IEEE Std 802.11-2020, Table 9-173 - Optional subelement IDs for + * Neighbor Report */ #define WNM_NEIGHBOR_TSF 1 #define WNM_NEIGHBOR_CONDENSED_COUNTRY_STRING 2 @@ -1956,7 +1956,7 @@ enum qos_action { QOS_QOS_MAP_CONFIG = 4, }; -/* IEEE Std 802.11-2012, 8.4.2.62 20/40 BSS Coexistence element */ +/* IEEE Std 802.11-2020, 9.4.2.59 (20/40 BSS Coexistence element) */ #define WLAN_20_40_BSS_COEX_INFO_REQ BIT(0) #define WLAN_20_40_BSS_COEX_40MHZ_INTOL BIT(1) #define WLAN_20_40_BSS_COEX_20MHZ_WIDTH_REQ BIT(2) @@ -2004,7 +2004,7 @@ enum wnm_sleep_mode_subelement_id { WNM_SLEEP_SUBELEM_BIGTK = 2, }; -/* WNM notification type (IEEE P802.11-REVmd/D3.0, Table 9-430) */ +/* WNM notification type (IEEE Std 802.11-2020, Table 9-431) */ enum wnm_notification_Type { WNM_NOTIF_TYPE_FIRMWARE_UPDATE = 0, WNM_NOTIF_TYPE_BEACON_PROTECTION_FAILURE = 2, @@ -2080,7 +2080,7 @@ enum reg_6g_client_type { #define RRM_CAPABILITIES_IE_LEN 5 -/* IEEE Std 802.11-2012, 8.5.7.4 - Link Measurement Request frame format */ +/* IEEE Std 802.11-2020, 9.6.6.4 - Link Measurement Request frame format */ struct rrm_link_measurement_request { u8 dialog_token; s8 tx_power; @@ -2088,7 +2088,7 @@ struct rrm_link_measurement_request { u8 variable[0]; } STRUCT_PACKED; -/* IEEE Std 802.11-2012, 8.5.7.5 - Link Measurement Report frame format */ +/* IEEE Std 802.11-2020, 9.6.6.5 - Link Measurement Report frame format */ struct rrm_link_measurement_report { u8 dialog_token; struct tpc_report tpc; @@ -2099,7 +2099,7 @@ struct rrm_link_measurement_report { u8 variable[0]; } STRUCT_PACKED; -/* IEEE Std 802.11-2016, 9.4.2.21 - Measurement Request element */ +/* IEEE Std 802.11-2020, 9.4.2.20 - Measurement Request element */ struct rrm_measurement_request_element { u8 eid; /* Element ID */ u8 len; /* Length */ @@ -2109,14 +2109,14 @@ struct rrm_measurement_request_element { u8 variable[0]; /* Measurement Request */ } STRUCT_PACKED; -/* IEEE Std 802.11-2016, Figure 9-148 - Measurement Request Mode field */ +/* IEEE Std 802.11-2020, Figure 9-180 - Measurement Request Mode field format */ #define MEASUREMENT_REQUEST_MODE_PARALLEL BIT(0) #define MEASUREMENT_REQUEST_MODE_ENABLE BIT(1) #define MEASUREMENT_REQUEST_MODE_REQUEST BIT(2) #define MEASUREMENT_REQUEST_MODE_REPORT BIT(3) #define MEASUREMENT_REQUEST_MODE_DURATION_MANDATORY BIT(4) -/* IEEE Std 802.11-2016, 9.4.2.21.7 - Beacon request */ +/* IEEE Std 802.11-2020, 9.4.2.20.7 - Beacon request */ struct rrm_measurement_beacon_request { u8 oper_class; /* Operating Class */ u8 channel; /* Channel Number */ @@ -2128,7 +2128,7 @@ struct rrm_measurement_beacon_request { } STRUCT_PACKED; /* - * IEEE Std 802.11-2016, Table 9-87 - Measurement Mode definitions for Beacon + * IEEE Std 802.11-2020, Table 9-103 - Measurement Mode definitions for Beacon * request */ enum beacon_report_mode { @@ -2149,9 +2149,7 @@ enum beacon_report_mode { #define WLAN_BEACON_REQUEST_SUBELEM_LAST_INDICATION 164 #define WLAN_BEACON_REQUEST_SUBELEM_VENDOR 221 -/* - * IEEE Std 802.11-2016, Table 9-90 - Reporting Detail values - */ +/* IEEE Std 802.11-2020, Table 9-106 - Reporting Detail values */ enum beacon_report_detail { /* No fixed-length fields or elements */ BEACON_REPORT_DETAIL_NONE = 0, @@ -2163,7 +2161,7 @@ enum beacon_report_detail { BEACON_REPORT_DETAIL_ALL_FIELDS_AND_ELEMENTS = 2, }; -/* IEEE Std 802.11-2016, 9.4.2.22 - Measurement Report element */ +/* IEEE Std 802.11-2020, 9.4.2.21 - Measurement Report element */ struct rrm_measurement_report_element { u8 eid; /* Element ID */ u8 len; /* Length */ @@ -2173,13 +2171,13 @@ struct rrm_measurement_report_element { u8 variable[0]; /* Measurement Report */ } STRUCT_PACKED; -/* IEEE Std 802.11-2016, Figure 9-192 - Measurement Report Mode field */ +/* IEEE Std 802.11-2020, Figure 9-223 - Measurement Report Mode field */ #define MEASUREMENT_REPORT_MODE_ACCEPT 0 #define MEASUREMENT_REPORT_MODE_REJECT_LATE BIT(0) #define MEASUREMENT_REPORT_MODE_REJECT_INCAPABLE BIT(1) #define MEASUREMENT_REPORT_MODE_REJECT_REFUSED BIT(2) -/* IEEE Std 802.11-2016, 9.4.2.22.7 - Beacon report */ +/* IEEE Std 802.11-2020, 9.4.2.21.7 - Beacon report */ struct rrm_measurement_beacon_report { u8 op_class; /* Operating Class */ u8 channel; /* Channel Number */ @@ -2195,23 +2193,23 @@ struct rrm_measurement_beacon_report { u8 variable[0]; /* Optional Subelements */ } STRUCT_PACKED; -/* IEEE Std 802.11-2016, Table 9-112 - Beacon report Subelement IDs */ -/* IEEE P802.11-REVmd/D2.0, Table 9-130 - Optional subelement IDs for +/* IEEE Std 802.11-2020, Table 9-130 - Optional subelement IDs for * Beacon report */ #define WLAN_BEACON_REPORT_SUBELEM_FRAME_BODY 1 #define WLAN_BEACON_REPORT_SUBELEM_FRAME_BODY_FRAGMENT_ID 2 +#define WLAN_BEACON_REPORT_SUBELEM_WID_BW_CS 163 #define WLAN_BEACON_REPORT_SUBELEM_LAST_INDICATION 164 #define WLAN_BEACON_REPORT_SUBELEM_VENDOR 221 -/* IEEE P802.11-REVmd/D2.0, Table 9-232 - Data field format of the - * Reported Frame Body Fragment ID subelement */ +/* IEEE Std 802.11-2020, Table 9-232 - Data field format (of the + * Reported Frame Body Fragment ID subelement) */ #define REPORTED_FRAME_BODY_SUBELEM_LEN 4 #define REPORTED_FRAME_BODY_MORE_FRAGMENTS BIT(7) -/* IEEE P802.11-REVmd/D2.0, 9.4.2.21.7 - Beacon report */ +/* IEEE Std 802.11-2020, 9.4.2.21.7 - Beacon report */ #define BEACON_REPORT_LAST_INDICATION_SUBELEM_LEN 3 -/* IEEE Std 802.11ad-2012 - Multi-band element */ +/* IEEE Std 802.11-2020, 9.4.2.138 - Multi-band element */ struct multi_band_ie { u8 eid; /* WLAN_EID_MULTI_BAND */ u8 len; @@ -2257,7 +2255,7 @@ enum mb_band_id { #define MB_CONNECTION_CAPABILITY_TDLS ((u8) (BIT(3))) #define MB_CONNECTION_CAPABILITY_IBSS ((u8) (BIT(4))) -/* IEEE Std 802.11ad-2014 - FST Action field */ +/* IEEE Std 802.11-2020, Table 9-479 - FST Action field values */ enum fst_action { FST_ACTION_SETUP_REQUEST = 0, FST_ACTION_SETUP_RESPONSE = 1, @@ -2267,21 +2265,23 @@ enum fst_action { FST_ACTION_ON_CHANNEL_TUNNEL = 5, }; -/* IEEE Std 802.11ac-2013, Annex C - dot11PHYType */ +/* IEEE Std 802.11-2020, Annex C - dot11PHYType */ enum phy_type { PHY_TYPE_UNSPECIFIED = 0, - PHY_TYPE_FHSS = 1, PHY_TYPE_DSSS = 2, - PHY_TYPE_IRBASEBAND = 3, PHY_TYPE_OFDM = 4, PHY_TYPE_HRDSSS = 5, PHY_TYPE_ERP = 6, PHY_TYPE_HT = 7, PHY_TYPE_DMG = 8, PHY_TYPE_VHT = 9, + PHY_TYPE_TVHT = 10, + PHY_TYPE_S1G = 11, + PHY_TYPE_CDMG = 12, + PHY_TYPE_CMMG = 13, }; -/* IEEE P802.11-REVmd/D3.0, 9.4.2.36 - Neighbor Report element */ +/* IEEE Std 802.11-2020, 9.4.2.36 - Neighbor Report element */ /* BSSID Information Field */ #define NEI_REP_BSSID_INFO_AP_NOT_REACH BIT(0) #define NEI_REP_BSSID_INFO_AP_UNKNOWN_REACH BIT(1) @@ -2302,7 +2302,7 @@ enum phy_type { #define NEI_REP_BSSID_INFO_EHT BIT(21) /* - * IEEE P802.11-REVmc/D5.0 Table 9-152 - HT/VHT Operation Information + * IEEE Std 802.11-2020, Table 9-175 - HT/VHT Operation Information * subfields. * Note: These definitions are not the same as other CHANWIDTH_*. */ @@ -2905,8 +2905,8 @@ enum mscs_description_subelem { }; /* - * IEEE Std 802.11ai-2016, 9.6.8.36 FILS Discovery frame format, - * Figure 9-687b - FILS Discovery Frame Control subfield format + * IEEE Std 802.11-2020, 9.6.7.36 FILS Discovery frame format, + * Figure 9-900 - FILS Discovery Frame Control subfield format */ #define FD_FRAME_CTL_CAP_PRESENT ((u16) BIT(5)) #define FD_FRAME_CTL_SHORT_SSID_PRESENT ((u16) BIT(6)) @@ -2919,8 +2919,8 @@ enum mscs_description_subelem { #define FD_FRAME_CTL_MD_PRESENT ((u16) BIT(13)) /* - * IEEE Std 802.11ai-2016, 9.6.8.36 FILS Discovery frame format, - * Figure 9-687c - FD Capability subfield format + * IEEE Std 802.11-2020, 9.6.7.36 FILS Discovery frame format, + * Figure 9-901 - FD Capability subfield format */ #define FD_CAP_ESS BIT(0) #define FD_CAP_PRIVACY BIT(1)