Lines Matching +full:multi +full:- +full:bit
3 * Copyright (c) 2002-2019, Jouni Malinen <j@w1.fi>
4 * Copyright (c) 2007-2008 Intel Corporation
39 #define WLAN_GET_SEQ_FRAG(seq) ((seq) & (BIT(3) | BIT(2) | BIT(1) | BIT(0)))
41 (((seq) & (~(BIT(3) | BIT(2) | BIT(1) | BIT(0)))) >> 4)
105 #define WLAN_CAPABILITY_ESS BIT(0)
106 #define WLAN_CAPABILITY_IBSS BIT(1)
107 #define WLAN_CAPABILITY_CF_POLLABLE BIT(2)
108 #define WLAN_CAPABILITY_CF_POLL_REQUEST BIT(3)
109 #define WLAN_CAPABILITY_PRIVACY BIT(4)
110 #define WLAN_CAPABILITY_SHORT_PREAMBLE BIT(5)
111 #define WLAN_CAPABILITY_PBCC BIT(6)
112 #define WLAN_CAPABILITY_CHANNEL_AGILITY BIT(7)
113 #define WLAN_CAPABILITY_SPECTRUM_MGMT BIT(8)
114 #define WLAN_CAPABILITY_QOS BIT(9)
115 #define WLAN_CAPABILITY_SHORT_SLOT_TIME BIT(10)
116 #define WLAN_CAPABILITY_APSD BIT(11)
117 #define WLAN_CAPABILITY_RADIO_MEASUREMENT BIT(12)
118 #define WLAN_CAPABILITY_DSSS_OFDM BIT(13)
119 #define WLAN_CAPABILITY_DELAYED_BLOCK_ACK BIT(14)
120 #define WLAN_CAPABILITY_IMM_BLOCK_ACK BIT(15)
122 /* Status codes (IEEE Std 802.11-2020, 9.4.1.9, Table 9-50) */
237 /* Reason codes (IEEE Std 802.11-2020, 9.4.1.7, Table 9-90) */
301 /* Element IDs (IEEE Std 802.11-2020, 9.4.2.1, Table 9-92) */
534 /* 5 - Reserved */
564 /* 35 - Reserved */
570 /* 41-43 - Service Interval Granularity */
586 /* 59 - Reserved */
590 /* 63-64 - Max Number of MSDUs In A-MSDU */
602 /* 76-79 - Reserved */
611 /* bits 0-3: Field length (n-1) */
624 /* Action frame categories (IEEE Std 802.11-2020, 9.4.1.11, Table 9-51) */
663 /* Note: 128-255 used to report errors by setting category | 0x80 */
665 /* Public action codes (IEEE Std 802.11-2020, 9.6.7.1, Table 9-364) */
703 /* HT Action field values (IEEE P802.11-REVme/D4.0, 9.6.11.1, Table 9-491) */
711 /* VHT Action field values (IEEE P802.11-REVme/D4.0, 9.6.22.1, Table 9-579) */
716 /* Protected Dual of Public Action frames (IEEE Std 802.11-2020, 9.6.10,
717 * Table 9-404) */
745 /* SA Query Action frame (IEEE Std 802.11-2020, 9.6.9) */
778 * IEEE Std 802.11-2020, 9.4.2.44, Table 9-179 */
780 #define WLAN_RRM_CAPS_LINK_MEASUREMENT BIT(0)
781 #define WLAN_RRM_CAPS_NEIGHBOR_REPORT BIT(1)
782 #define WLAN_RRM_CAPS_BEACON_REPORT_PASSIVE BIT(4)
783 #define WLAN_RRM_CAPS_BEACON_REPORT_ACTIVE BIT(5)
784 #define WLAN_RRM_CAPS_BEACON_REPORT_TABLE BIT(6)
786 #define WLAN_RRM_CAPS_LCI_MEASUREMENT BIT(4)
788 #define WLAN_RRM_CAPS_FTM_RANGE_REPORT BIT(2)
791 * IEEE Std 802.11-2020, 9.4.2.20.19 (Fine Timing Measurement Range
792 * request) - Minimum AP Count
801 /* Interworking element (IEEE Std 802.11-2020, 9.4.2.91) -
818 /* Advertisement Protocol ID definitions (IEEE Std 802.11-2020, Table 9-237) */
828 /* ANQP-element definitions (IEEE Std 802.11-2020, Table 9-331) */
858 /* NAI Realm list - EAP Method subfield - Authentication Parameter ID */
903 * IEEE Std 802.11-2020, Table 9-98 - Measurement type definitions for
927 /* IEEE Std 802.11-2020, Table 9-110 - Location Subject field definition */
935 * IEEE Std 802.11-2020, Table 9-111 - Optional subelement IDs for LCI request
1107 /* Vendor-specific content */
1177 u8 a_mpdu_params; /* Maximum A-MPDU Length Exponent B0..B1
1241 #define ERP_INFO_NON_ERP_PRESENT BIT(0)
1242 #define ERP_INFO_USE_PROTECTION BIT(1)
1243 #define ERP_INFO_BARKER_PREAMBLE_MODE BIT(2)
1248 #define HT_CAP_INFO_LDPC_CODING_CAP ((u16) BIT(0))
1249 #define HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET ((u16) BIT(1))
1250 #define HT_CAP_INFO_SMPS_MASK ((u16) (BIT(2) | BIT(3)))
1252 #define HT_CAP_INFO_SMPS_DYNAMIC ((u16) BIT(2))
1253 #define HT_CAP_INFO_SMPS_DISABLED ((u16) (BIT(2) | BIT(3)))
1254 #define HT_CAP_INFO_GREEN_FIELD ((u16) BIT(4))
1255 #define HT_CAP_INFO_SHORT_GI20MHZ ((u16) BIT(5))
1256 #define HT_CAP_INFO_SHORT_GI40MHZ ((u16) BIT(6))
1257 #define HT_CAP_INFO_TX_STBC ((u16) BIT(7))
1258 #define HT_CAP_INFO_RX_STBC_MASK ((u16) (BIT(8) | BIT(9)))
1259 #define HT_CAP_INFO_RX_STBC_1 ((u16) BIT(8))
1260 #define HT_CAP_INFO_RX_STBC_12 ((u16) BIT(9))
1261 #define HT_CAP_INFO_RX_STBC_123 ((u16) (BIT(8) | BIT(9)))
1262 #define HT_CAP_INFO_DELAYED_BA ((u16) BIT(10))
1263 #define HT_CAP_INFO_MAX_AMSDU_SIZE ((u16) BIT(11))
1264 #define HT_CAP_INFO_DSSS_CCK40MHZ ((u16) BIT(12))
1265 /* B13 - Reserved (was PSMP support during P802.11n development) */
1266 #define HT_CAP_INFO_40MHZ_INTOLERANT ((u16) BIT(14))
1267 #define HT_CAP_INFO_LSIG_TXOP_PROTECT_SUPPORT ((u16) BIT(15))
1270 #define EXT_HT_CAP_INFO_PCO ((u16) BIT(0))
1271 #define EXT_HT_CAP_INFO_PCO_TRANS_TIME_MASK ((u16) (BIT(1) | BIT(2)))
1273 /* B3..B7 - Reserved */
1274 #define EXT_HT_CAP_INFO_MCS_FEEDBACK_MASK ((u16) (BIT(8) | BIT(9)))
1276 #define EXT_HT_CAP_INFO_HTC_SUPPORT ((u16) BIT(10))
1277 #define EXT_HT_CAP_INFO_RD_RESPONDER ((u16) BIT(11))
1278 /* B12..B15 - Reserved */
1281 #define TX_BF_CAP_IMPLICIT_TXBF_RX_CAP ((u32) BIT(0))
1282 #define TX_BF_CAP_RX_STAGGERED_SOUNDING_CAP ((u32) BIT(1))
1283 #define TX_BF_CAP_TX_STAGGERED_SOUNDING_CAP ((u32) BIT(2))
1284 #define TX_BF_CAP_RX_NDP_CAP ((u32) BIT(3))
1285 #define TX_BF_CAP_TX_NDP_CAP ((u32) BIT(4))
1286 #define TX_BF_CAP_IMPLICIT_TX_BF_CAP ((u32) BIT(5))
1287 #define TX_BF_CAP_CALIBRATION_MASK ((u32) (BIT(6) | BIT(7))
1289 #define TX_BF_CAP_EXPLICIT_CSI_TXBF_CAP ((u32) BIT(8))
1290 #define TX_BF_CAP_EXPLICIT_NONCOMPR_STEERING_CAP ((u32) BIT(9))
1291 #define TX_BF_CAP_EXPLICIT_COMPR_STEERING_CAP ((u32) BIT(10))
1292 #define TX_BF_CAP_EXPLICIT_TX_BF_CSI_FEEDBACK_MASK ((u32) (BIT(10) | BIT(11)))
1301 #define TX_BF_CAP_CHANNEL_ESTIMATION_CAP_MASK ((u32) (BIT(27) | BIT(28)))
1303 /* B29..B31 - Reserved */
1306 #define ASEL_CAP_ASEL_CAPABLE ((u8) BIT(0))
1307 #define ASEL_CAP_EXPLICIT_CSI_FEEDBACK_BASED_TX_AS_CAP ((u8) BIT(1))
1308 #define ASEL_CAP_ANT_INDICES_FEEDBACK_BASED_TX_AS_CAP ((u8) BIT(2))
1309 #define ASEL_CAP_EXPLICIT_CSI_FEEDBACK_CAP ((u8) BIT(3))
1310 #define ASEL_CAP_ANT_INDICES_FEEDBACK_CAP ((u8) BIT(4))
1311 #define ASEL_CAP_RX_AS_CAP ((u8) BIT(5))
1312 #define ASEL_CAP_TX_SOUNDING_PPDUS_CAP ((u8) BIT(6))
1313 /* B7 - Reserved */
1316 #define HT_INFO_HT_PARAM_SECONDARY_CHNL_OFF_MASK ((u8) BIT(0) | BIT(1))
1317 #define HT_INFO_HT_PARAM_SECONDARY_CHNL_ABOVE ((u8) BIT(0))
1318 #define HT_INFO_HT_PARAM_SECONDARY_CHNL_BELOW ((u8) BIT(0) | BIT(1))
1319 #define HT_INFO_HT_PARAM_STA_CHNL_WIDTH ((u8) BIT(2))
1320 #define HT_INFO_HT_PARAM_RIFS_MODE ((u8) BIT(3))
1321 /* B4..B7 - Reserved */
1328 /* Bits within ieee80211_ht_operation::operation_mode (BIT(0) maps to B8 in
1330 #define HT_OPER_OP_MODE_HT_PROT_MASK ((u16) (BIT(0) | BIT(1))) /* B8..B9 */
1331 #define HT_OPER_OP_MODE_NON_GF_HT_STAS_PRESENT ((u16) BIT(2)) /* B10 */
1332 /* BIT(3), i.e., B11 in HT Operation Information field - Reserved */
1333 #define HT_OPER_OP_MODE_OBSS_NON_HT_STAS_PRESENT ((u16) BIT(4)) /* B12 */
1334 /* BIT(5)..BIT(15), i.e., B13..B23 - Reserved */
1336 /* Last two octets of HT Operation Information (BIT(0) = B24) */
1337 /* B24..B29 - Reserved */
1338 #define HT_OPER_PARAM_DUAL_BEACON ((u16) BIT(6))
1339 #define HT_OPER_PARAM_DUAL_CTS_PROTECTION ((u16) BIT(7))
1340 #define HT_OPER_PARAM_STBC_BEACON ((u16) BIT(8))
1341 #define HT_OPER_PARAM_LSIG_TXOP_PROT_FULL_SUPP ((u16) BIT(9))
1342 #define HT_OPER_PARAM_PCO_ACTIVE ((u16) BIT(10))
1343 #define HT_OPER_PARAM_PCO_PHASE ((u16) BIT(11))
1344 /* B36..B39 - Reserved */
1354 #define VHT_CAP_MAX_MPDU_LENGTH_7991 ((u32) BIT(0))
1355 #define VHT_CAP_MAX_MPDU_LENGTH_11454 ((u32) BIT(1))
1356 #define VHT_CAP_MAX_MPDU_LENGTH_MASK ((u32) BIT(0) | BIT(1))
1358 #define VHT_CAP_SUPP_CHAN_WIDTH_160MHZ ((u32) BIT(2))
1359 #define VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ ((u32) BIT(3))
1360 #define VHT_CAP_SUPP_CHAN_WIDTH_MASK ((u32) BIT(2) | BIT(3))
1362 #define VHT_CAP_RXLDPC ((u32) BIT(4))
1363 #define VHT_CAP_SHORT_GI_80 ((u32) BIT(5))
1364 #define VHT_CAP_SHORT_GI_160 ((u32) BIT(6))
1365 #define VHT_CAP_TXSTBC ((u32) BIT(7))
1366 #define VHT_CAP_RXSTBC_1 ((u32) BIT(8))
1367 #define VHT_CAP_RXSTBC_2 ((u32) BIT(9))
1368 #define VHT_CAP_RXSTBC_3 ((u32) BIT(8) | BIT(9))
1369 #define VHT_CAP_RXSTBC_4 ((u32) BIT(10))
1370 #define VHT_CAP_RXSTBC_MASK ((u32) BIT(8) | BIT(9) | \
1371 BIT(10))
1373 #define VHT_CAP_SU_BEAMFORMER_CAPABLE ((u32) BIT(11))
1374 #define VHT_CAP_SU_BEAMFORMEE_CAPABLE ((u32) BIT(12))
1375 #define VHT_CAP_BEAMFORMEE_STS_MAX ((u32) BIT(13) | \
1376 BIT(14) | BIT(15))
1379 #define VHT_CAP_SOUNDING_DIMENSION_MAX ((u32) BIT(16) | \
1380 BIT(17) | BIT(18))
1383 #define VHT_CAP_MU_BEAMFORMER_CAPABLE ((u32) BIT(19))
1384 #define VHT_CAP_MU_BEAMFORMEE_CAPABLE ((u32) BIT(20))
1385 #define VHT_CAP_VHT_TXOP_PS ((u32) BIT(21))
1386 #define VHT_CAP_HTC_VHT ((u32) BIT(22))
1388 #define VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_1 ((u32) BIT(23))
1389 #define VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_2 ((u32) BIT(24))
1390 #define VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_3 ((u32) BIT(23) | BIT(24))
1391 #define VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_4 ((u32) BIT(25))
1392 #define VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_5 ((u32) BIT(23) | BIT(25))
1393 #define VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_6 ((u32) BIT(24) | BIT(25))
1394 #define VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX ((u32) BIT(23) | \
1395 BIT(24) | BIT(25))
1397 #define VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB ((u32) BIT(27))
1398 #define VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB ((u32) BIT(26) | BIT(27))
1399 #define VHT_CAP_RX_ANTENNA_PATTERN ((u32) BIT(28))
1400 #define VHT_CAP_TX_ANTENNA_PATTERN ((u32) BIT(29))
1402 #define VHT_OPMODE_CHANNEL_WIDTH_MASK ((u8) BIT(0) | BIT(1))
1403 #define VHT_OPMODE_CHANNEL_RxNSS_MASK ((u8) BIT(4) | BIT(5) | \
1404 BIT(6))
1409 #define VHT_OPMODE_CHANNEL_40MHZ ((u8) BIT(0))
1410 #define VHT_OPMODE_CHANNEL_80MHZ ((u8) BIT(1))
1411 #define VHT_OPMODE_CHANNEL_160MHZ ((u8) BIT(1) | BIT(2))
1413 /* VHT operation information - channel widths */
1421 #define OUI_MICROSOFT 0x0050f2 /* Microsoft (also used in Wi-Fi specs)
1454 #define MULTI_AP_PROFILE2_BACKHAUL_STA_DISALLOWED BIT(2)
1455 #define MULTI_AP_PROFILE1_BACKHAUL_STA_DISALLOWED BIT(3)
1456 #define MULTI_AP_TEAR_DOWN BIT(4)
1457 #define MULTI_AP_FRONTHAUL_BSS BIT(5)
1458 #define MULTI_AP_BACKHAUL_BSS BIT(6)
1459 #define MULTI_AP_BACKHAUL_STA BIT(7)
1477 /* 2 - Reserved */
1479 /* 4-255 - Reserved */
1484 /* 2 - Reserved */
1521 u8 cw; /* ECWmin, ECWmax (CW = 2^ECW - 1) */
1604 /* WNM-Notification WFA vendors specific subtypes */
1615 /* Table 4-5: MBO Attributes */
1616 /* OCE v0.0.10, Table 4-3: OCE Attributes */
1633 /* Table 4-7: MBO AP Capability Indication Field Values */
1634 #define MBO_AP_CAPA_CELL_AWARE BIT(6)
1636 /* MBO v0.0_r19, 4.2.2: Non-preferred Channel Report Attribute */
1637 /* Table 4-10: Reason Code Field Values */
1646 /* Table 4-13: Cellular Data Connectivity Field */
1654 /* Table 4-15: Reason Code Field Values */
1664 /* Table 4-17: Cellular Preference Field Values */
1672 /* Table 4-19: Transition Reason Code Field Values */
1687 /* Table 4-21: Transition Rejection Reason Code Field Values */
1698 /* MBO v0.0_r27, 4.3: MBO ANQP-elements */
1706 #define OCE_RELEASE_MASK (BIT(0) | BIT(1) | BIT(2))
1707 #define OCE_IS_STA_CFON BIT(3)
1708 #define OCE_IS_NON_OCE_AP_PRESENT BIT(4)
1710 /* Wi-Fi Direct (P2P) */
1748 /* P2P Capability - Device Capability bitmap */
1749 #define P2P_DEV_CAPAB_SERVICE_DISCOVERY BIT(0)
1750 #define P2P_DEV_CAPAB_CLIENT_DISCOVERABILITY BIT(1)
1751 #define P2P_DEV_CAPAB_CONCURRENT_OPER BIT(2)
1752 #define P2P_DEV_CAPAB_INFRA_MANAGED BIT(3)
1753 #define P2P_DEV_CAPAB_DEVICE_LIMIT BIT(4)
1754 #define P2P_DEV_CAPAB_INVITATION_PROCEDURE BIT(5)
1755 #define P2P_DEV_CAPAB_6GHZ_BAND_CAPABLE BIT(6)
1757 /* P2P Capability - Group Capability bitmap */
1758 #define P2P_GROUP_CAPAB_GROUP_OWNER BIT(0)
1759 #define P2P_GROUP_CAPAB_PERSISTENT_GROUP BIT(1)
1760 #define P2P_GROUP_CAPAB_GROUP_LIMIT BIT(2)
1761 #define P2P_GROUP_CAPAB_INTRA_BSS_DIST BIT(3)
1762 #define P2P_GROUP_CAPAB_CROSS_CONN BIT(4)
1763 #define P2P_GROUP_CAPAB_PERSISTENT_RECONN BIT(5)
1764 #define P2P_GROUP_CAPAB_GROUP_FORMATION BIT(6)
1765 #define P2P_GROUP_CAPAB_IP_ADDR_ALLOCATION BIT(7)
1768 #define P2PS_FEATURE_CAPAB_UDP_TRANSPORT BIT(0)
1769 #define P2PS_FEATURE_CAPAB_MAC_TRANSPORT BIT(1)
1777 #define P2P_INVITATION_FLAGS_TYPE BIT(0)
1780 #define P2P_MAN_DEVICE_MANAGEMENT BIT(0)
1781 #define P2P_MAN_CROSS_CONNECTION_PERMITTED BIT(1)
1782 #define P2P_MAN_COEXISTENCE_OPTIONAL BIT(2)
1806 #define P2P_WILDCARD_SSID "DIRECT-"
1870 /* IEEE 802.11s - Mesh Capability */
1871 #define MESH_CAP_ACCEPT_ADDITIONAL_PEER BIT(0)
1872 #define MESH_CAP_MCCA_SUPPORTED BIT(1)
1873 #define MESH_CAP_MCCA_ENABLED BIT(2)
1874 #define MESH_CAP_FORWARDING BIT(3)
1875 #define MESH_CAP_MBCA_ENABLED BIT(4)
1876 #define MESH_CAP_TBTT_ADJUSTING BIT(5)
1877 #define MESH_CAP_MESH_PS_LEVEL BIT(6)
1890 #define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
1893 /* IEEE 802.11v - WNM Action field values */
1925 /* IEEE 802.11v - BSS Transition Management Request - Request Mode */
1926 #define WNM_BSS_TM_REQ_PREF_CAND_LIST_INCLUDED BIT(0)
1927 #define WNM_BSS_TM_REQ_ABRIDGED BIT(1)
1928 #define WNM_BSS_TM_REQ_DISASSOC_IMMINENT BIT(2)
1929 #define WNM_BSS_TM_REQ_BSS_TERMINATION_INCLUDED BIT(3)
1930 #define WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT BIT(4)
1931 #define WNM_BSS_TM_REQ_LINK_REMOVAL_IMMINENT BIT(5)
1933 /* IEEE Std 802.11-2020, Table 9-428 (BTM status code definitions) */
1947 * IEEE Std 802.11-2020, Table 9-198 (Transition and Transition Query reasons)
1974 * IEEE Std 802.11-2020, Table 9-173 - Optional subelement IDs for
2002 /* IEEE Std 802.11-2020, 9.4.2.59 (20/40 BSS Coexistence element) */
2003 #define WLAN_20_40_BSS_COEX_INFO_REQ BIT(0)
2004 #define WLAN_20_40_BSS_COEX_40MHZ_INTOL BIT(1)
2005 #define WLAN_20_40_BSS_COEX_20MHZ_WIDTH_REQ BIT(2)
2006 #define WLAN_20_40_BSS_COEX_OBSS_EXEMPT_REQ BIT(3)
2007 #define WLAN_20_40_BSS_COEX_OBSS_EXEMPT_GRNT BIT(4)
2022 /* IEEE 802.11v - WNM-Sleep Mode element */
2043 /* WNM-Sleep Mode subelement IDs */
2050 /* WNM notification type (IEEE Std 802.11-2020, Table 9-431) */
2105 * IEEE Std 802.11ax-2021, Table 9-275a - Maximum Transmit Power
2116 * IEEE Std 802.11ax-2021, Table E-13 - Maximum Transmit Power
2126 /* IEEE Std 802.11-2020, 9.6.6.4 - Link Measurement Request frame format */
2134 /* IEEE Std 802.11-2020, 9.6.6.5 - Link Measurement Report frame format */
2145 /* IEEE Std 802.11-2020, 9.4.2.20 - Measurement Request element */
2155 /* IEEE Std 802.11-2020, Figure 9-180 - Measurement Request Mode field format */
2156 #define MEASUREMENT_REQUEST_MODE_PARALLEL BIT(0)
2157 #define MEASUREMENT_REQUEST_MODE_ENABLE BIT(1)
2158 #define MEASUREMENT_REQUEST_MODE_REQUEST BIT(2)
2159 #define MEASUREMENT_REQUEST_MODE_REPORT BIT(3)
2160 #define MEASUREMENT_REQUEST_MODE_DURATION_MANDATORY BIT(4)
2162 /* IEEE Std 802.11-2020, 9.4.2.20.7 - Beacon request */
2174 * IEEE Std 802.11-2020, Table 9-103 - Measurement Mode definitions for Beacon
2183 /* IEEE Std 802.11-2020, Table 9-104 - Optional subelement IDs for
2195 /* IEEE Std 802.11-2020, Table 9-106 - Reporting Detail values */
2197 /* No fixed-length fields or elements */
2199 /* All fixed-length fields and any requested elements in the Request
2202 /* All fixed-length fields and elements (default, used when Reporting
2207 /* IEEE Std 802.11-2020, 9.4.2.21 - Measurement Report element */
2217 /* IEEE Std 802.11-2020, Figure 9-223 - Measurement Report Mode field */
2219 #define MEASUREMENT_REPORT_MODE_REJECT_LATE BIT(0)
2220 #define MEASUREMENT_REPORT_MODE_REJECT_INCAPABLE BIT(1)
2221 #define MEASUREMENT_REPORT_MODE_REJECT_REFUSED BIT(2)
2223 /* IEEE Std 802.11-2020, 9.4.2.21.7 - Beacon report */
2239 /* IEEE Std 802.11-2020, Table 9-130 - Optional subelement IDs for
2247 /* IEEE Std 802.11-2020, Table 9-232 - Data field format (of the
2250 #define REPORTED_FRAME_BODY_MORE_FRAGMENTS BIT(7)
2252 /* IEEE Std 802.11-2020, 9.4.2.21.7 - Beacon report */
2255 /* IEEE Std 802.11-2020, 9.4.2.138 - Multi-band element */
2284 #define MB_CTRL_ROLE_MASK (BIT(0) | BIT(1) | BIT(2))
2286 #define MB_CTRL_STA_MAC_PRESENT ((u8) (BIT(3)))
2287 #define MB_CTRL_PAIRWISE_CIPHER_SUITE_PRESENT ((u8) (BIT(4)))
2295 #define MB_CONNECTION_CAPABILITY_AP ((u8) (BIT(0)))
2296 #define MB_CONNECTION_CAPABILITY_PCP ((u8) (BIT(1)))
2297 #define MB_CONNECTION_CAPABILITY_DLS ((u8) (BIT(2)))
2298 #define MB_CONNECTION_CAPABILITY_TDLS ((u8) (BIT(3)))
2299 #define MB_CONNECTION_CAPABILITY_IBSS ((u8) (BIT(4)))
2301 /* IEEE Std 802.11-2020, Table 9-479 - FST Action field values */
2311 /* IEEE Std 802.11-2020, Annex C - dot11PHYType */
2327 /* IEEE Std 802.11-2020, 9.4.2.36 - Neighbor Report element */
2329 #define NEI_REP_BSSID_INFO_AP_NOT_REACH BIT(0)
2330 #define NEI_REP_BSSID_INFO_AP_UNKNOWN_REACH BIT(1)
2331 #define NEI_REP_BSSID_INFO_AP_REACHABLE (BIT(0) | BIT(1))
2332 #define NEI_REP_BSSID_INFO_SECURITY BIT(2)
2333 #define NEI_REP_BSSID_INFO_KEY_SCOPE BIT(3)
2334 #define NEI_REP_BSSID_INFO_SPECTRUM_MGMT BIT(4)
2335 #define NEI_REP_BSSID_INFO_QOS BIT(5)
2336 #define NEI_REP_BSSID_INFO_APSD BIT(6)
2337 #define NEI_REP_BSSID_INFO_RM BIT(7)
2338 #define NEI_REP_BSSID_INFO_DELAYED_BA BIT(8)
2339 #define NEI_REP_BSSID_INFO_IMM_BA BIT(9)
2340 #define NEI_REP_BSSID_INFO_MOBILITY_DOMAIN BIT(10)
2341 #define NEI_REP_BSSID_INFO_HT BIT(11)
2342 #define NEI_REP_BSSID_INFO_VHT BIT(12)
2343 #define NEI_REP_BSSID_INFO_FTM BIT(13)
2344 #define NEI_REP_BSSID_INFO_HE BIT(14)
2345 #define NEI_REP_BSSID_INFO_EHT BIT(21)
2348 * IEEE Std 802.11-2020, Table 9-175 - HT/VHT Operation Information
2363 /* Followed by 4, 8, or 12 octets of Supported HE-MCS And NSS Set field
2374 * Max Co-Hosted BSSID Indicator subfield (1 octet), and/or 6 GHz
2378 /* IEEE Std 802.11ax-2021, Figure 9-788k - 6 GHz Operation Information field */
2387 /* IEEE Std 802.11ax-2021, Figure 9-788l - Control field format */
2388 #define HE_6GHZ_OPER_INFO_CTRL_CHAN_WIDTH_MASK (BIT(0) | BIT(1))
2389 #define HE_6GHZ_OPER_INFO_CTRL_DUP_BEACON BIT(2)
2390 #define HE_6GHZ_OPER_INFO_CTRL_REG_INFO_MASK (BIT(3) | BIT(4) | BIT(5))
2393 /* IEEE Std 802.11ax-2021, 9.4.2.263 HE 6 GHz Band Capabilities element */
2396 * Maximum A-MPDU Length Exponent B3..B5
2405 #define HE_6GHZ_BAND_CAP_MIN_MPDU_START (BIT(0) | BIT(1) | BIT(2))
2406 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_16K BIT(3)
2407 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_32K BIT(4)
2408 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_64K (BIT(3) | BIT(4))
2409 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_128K BIT(5)
2410 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_256K (BIT(3) | BIT(5))
2411 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_512K (BIT(4) | BIT(5))
2412 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_1024K (BIT(3) | BIT(4) | BIT(5))
2413 #define HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_MASK (BIT(3) | BIT(4) | BIT(5))
2415 #define HE_6GHZ_BAND_CAP_MAX_MPDU_LEN_7991 BIT(6)
2416 #define HE_6GHZ_BAND_CAP_MAX_MPDU_LEN_11454 BIT(7)
2417 #define HE_6GHZ_BAND_CAP_MAX_MPDU_LEN_MASK (BIT(6) | BIT(7))
2419 #define HE_6GHZ_BAND_CAP_SMPS_MASK (BIT(9) | BIT(10))
2421 #define HE_6GHZ_BAND_CAP_SMPS_DYNAMIC BIT(9)
2422 #define HE_6GHZ_BAND_CAP_SMPS_DISABLED (BIT(9) | BIT(10))
2423 #define HE_6GHZ_BAND_CAP_RD_RESPONDER BIT(11)
2424 #define HE_6GHZ_BAND_CAP_RX_ANTPAT_CONS BIT(12)
2425 #define HE_6GHZ_BAND_CAP_TX_ANTPAT_CONS BIT(13)
2428 * IEEE Std 802.11ax-2021, 9.4.2.252 Spatial Reuse Parameter Set element
2433 * Non-SRG OBSS PD Max Offset[0 or 1]
2444 #define HE_MACCAP_TWT_RESPONDER ((u8) BIT(2))
2447 #define HE_PHYCAP_CHANNEL_WIDTH_MASK ((u8) (BIT(1) | BIT(2) | \
2448 BIT(3) | BIT(4)))
2449 #define HE_PHYCAP_CHANNEL_WIDTH_SET_40MHZ_IN_2G ((u8) BIT(1))
2450 #define HE_PHYCAP_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G ((u8) BIT(2))
2451 #define HE_PHYCAP_CHANNEL_WIDTH_SET_160MHZ_IN_5G ((u8) BIT(3))
2452 #define HE_PHYCAP_CHANNEL_WIDTH_SET_80PLUS80MHZ_IN_5G ((u8) BIT(4))
2455 #define HE_PHYCAP_SU_BEAMFORMER_CAPAB ((u8) BIT(7))
2457 #define HE_PHYCAP_SU_BEAMFORMEE_CAPAB ((u8) BIT(0))
2459 #define HE_PHYCAP_MU_BEAMFORMER_CAPAB ((u8) BIT(1))
2462 #define HE_PHYCAP_PPE_THRESHOLD_PRESENT ((u8) BIT(7))
2471 #define HE_OPERATION_DFLT_PE_DURATION_MASK ((u32) (BIT(0) | BIT(1) | \
2472 BIT(2)))
2474 #define HE_OPERATION_TWT_REQUIRED ((u32) BIT(3))
2475 #define HE_OPERATION_RTS_THRESHOLD_MASK ((u32) (BIT(4) | BIT(5) | \
2476 BIT(6) | BIT(7) | \
2477 BIT(8) | BIT(9) | \
2478 BIT(10) | BIT(11) | \
2479 BIT(12) | BIT(13)))
2481 #define HE_OPERATION_VHT_OPER_INFO ((u32) BIT(14))
2482 #define HE_OPERATION_COHOSTED_BSS ((u32) BIT(15))
2483 #define HE_OPERATION_ER_SU_DISABLE ((u32) BIT(16))
2484 #define HE_OPERATION_6GHZ_OPER_INFO ((u32) BIT(17))
2485 #define HE_OPERATION_BSS_COLOR_MASK ((u32) (BIT(24) | BIT(25) | \
2486 BIT(26) | BIT(27) | \
2487 BIT(28) | BIT(29)))
2488 #define HE_OPERATION_BSS_COLOR_PARTIAL ((u32) BIT(30))
2489 #define HE_OPERATION_BSS_COLOR_DISABLED ((u32) BIT(31))
2494 * enum he_reg_info_6ghz_ap_type - Allowed Access Point types for 6 GHz Band
2496 * IEEE P802.11-REVme/D4.0, Table E-12 (Regulatory Info subfield encoding)
2520 #define SPATIAL_REUSE_SRP_DISALLOWED BIT(0)
2521 #define SPATIAL_REUSE_NON_SRG_OBSS_PD_SR_DISALLOWED BIT(1)
2522 #define SPATIAL_REUSE_NON_SRG_OFFSET_PRESENT BIT(2)
2523 #define SPATIAL_REUSE_SRG_INFORMATION_PRESENT BIT(3)
2524 #define SPATIAL_REUSE_HESIGA_SR_VAL15_ALLOWED BIT(4)
2537 #define HE_MU_AC_PARAM_AIFSN ((u8) (BIT(0) | BIT(1) | BIT(2) | BIT(3)))
2538 #define HE_MU_AC_PARAM_ACM ((u8) BIT(4))
2539 #define HE_MU_AC_PARAM_ACI ((u8) (BIT(5) | BIT(6)))
2544 #define HE_MU_AC_PARAM_ECWMIN ((u8) (BIT(0) | BIT(1) | BIT(2) | BIT(3)))
2545 #define HE_MU_AC_PARAM_ECWMAX ((u8) (BIT(4) | BIT(5) | BIT(6) | BIT(7)))
2551 #define HE_QOS_INFO_EDCA_PARAM_SET_COUNT ((u8) (BIT(0) | BIT(1) | \
2552 BIT(2) | BIT(3)))
2553 #define HE_QOS_INFO_Q_ACK ((u8) (BIT(4)))
2554 #define HE_QOS_INFO_QUEUE_REQUEST ((u8) (BIT(5)))
2555 #define HE_QOS_INFO_TXOP_REQUEST ((u8) (BIT(6)))
2556 /* B7: Reserved if sent by an AP; More Data Ack if sent by a non-AP STA */
2557 #define HE_QOS_INFO_MORE_DATA_ACK ((u8) (BIT(7)))
2560 * IEEE Std 802.11-2020 and IEEE Std 802.11ax-2021
2574 /* Figure 9-632a - BSS Parameters subfield format */
2575 #define RNR_BSS_PARAM_OCT_RECOMMENDED BIT(0)
2576 #define RNR_BSS_PARAM_SAME_SSID BIT(1)
2577 #define RNR_BSS_PARAM_MULTIPLE_BSSID BIT(2)
2578 #define RNR_BSS_PARAM_TRANSMITTED_BSSID BIT(3)
2579 #define RNR_BSS_PARAM_MEMBER_CO_LOCATED_ESS BIT(4)
2580 #define RNR_BSS_PARAM_UNSOLIC_PROBE_RESP_ACTIVE BIT(5)
2581 #define RNR_BSS_PARAM_CO_LOCATED BIT(6)
2582 /* Maximum transmit power in Y/2 dBm (-127..126); 127 indicates no maximum
2586 /* IEEE P802.11be/D5.0, Figure 9-704c - MLD Parameters subfield format */
2595 /* IEEE P802.11be/D2.3, 9.4.2.311 - EHT Operation element */
2597 /* Figure 9-1002b: EHT Operation Parameters field subfields */
2598 #define EHT_OPER_INFO_PRESENT BIT(0)
2599 #define EHT_OPER_DISABLED_SUBCHAN_BITMAP_PRESENT BIT(1)
2600 #define EHT_OPER_DEFAULT_PE_DURATION BIT(2)
2601 #define EHT_OPER_GROUP_ADDR_BU_INDICATION_LIMIT BIT(3)
2602 #define EHT_OPER_GROUP_ADDR_BU_INDICATION_EXPONENT (BIT(4) | BIT(5))
2605 /* Control subfield: Channel Width subfield; see Table 9-401b */
2612 /* Figure 9-1002c: EHT Operation Information field format */
2620 /* Figure 9-1002a: EHT Operation element format */
2627 /* IEEE P802.11be/D1.5, 9.4.2.313 - EHT Capabilities element */
2629 /* Figure 9-1002af: EHT MAC Capabilities Information field */
2630 #define EHT_MACCAP_EPCS_PRIO BIT(0)
2631 #define EHT_MACCAP_OM_CONTROL BIT(1)
2632 #define EHT_MACCAP_TRIGGERED_TXOP_MODE1 BIT(2)
2633 #define EHT_MACCAP_TRIGGERED_TXOP_MODE2 BIT(3)
2634 #define EHT_MACCAP_RESTRICTED_TWT BIT(4)
2635 #define EHT_MACCAP_SCS_TRAFFIC_DESC BIT(5)
2636 #define EHT_MACCAP_MAX_MPDU_LEN_MASK (BIT(6) | BIT(7))
2638 #define EHT_MACCAP_MAX_MPDU_LEN_7991 BIT(6)
2639 #define EHT_MACCAP_MAX_MPDU_LEN_11454 BIT(7)
2640 #define EHT_MACCAP_MAX_AMPDU_LEN_EXP_EXT BIT(8)
2642 /* Figure 9-1002ag: EHT PHY Capabilities Information field format
2647 #define EHT_PHYCAP_320MHZ_IN_6GHZ_SUPPORT_MASK ((u8) BIT(1))
2650 #define EHT_PHYCAP_SU_BEAMFORMER ((u8) BIT(5))
2652 #define EHT_PHYCAP_SU_BEAMFORMEE ((u8) BIT(6))
2655 #define EHT_PHYCAP_PPE_THRESHOLD_PRESENT ((u8) BIT(3))
2658 #define EHT_PHYCAP_MU_BEAMFORMER_80MHZ ((u8) BIT(4))
2659 #define EHT_PHYCAP_MU_BEAMFORMER_160MHZ ((u8) BIT(5))
2660 #define EHT_PHYCAP_MU_BEAMFORMER_320MHZ ((u8) BIT(6))
2665 /* Figure 9-1002ah: Supported EHT-MCS and NSS Set field format */
2671 * Figure 9-1002ak: EHT PPE Thresholds field format
2680 #define EHT_PPE_THRES_NSS_MASK ((u8) (BIT(0) | BIT(1) | \
2681 BIT(2) | BIT(3)))
2683 #define EHT_PPE_THRES_RU_INDEX_MASK ((u16) (BIT(4) | BIT(5) | \
2684 BIT(6) | BIT(7) | \
2685 BIT(8)))
2689 /* Figure 9-1002ae: EHT Capabilities element format */
2695 /* Supported EHT-MCS And NSS Set and EHT PPE thresholds (Optional) */
2701 /* IEEE P802.11be/D2.1, 9.4.2.312 - Multi-Link element */
2703 /* Figure 9-1002f: Multi-Link Control field */
2707 /* Table 9-401c: Mult-Link element Type subfield encoding */
2715 * IEEE P802.11be/D2.2, Table 9-401c: Optional subelement IDs for Link Info
2716 * field of the Multi-Link element
2722 /* IEEE P802.11be/D2.2, 9.4.2.312.2 - Basic Multi-Link element */
2724 /* Figure 9-1002g: Presence Bitmap subfield of the Basic Multi-Link element */
2733 * STA Control field definitions of Per-STA Profile subelement in Basic
2734 * Multi-Link element as described in Figure 9-1002n: STA Control field format.
2749 /* IEEE P802.11be/D2.2, 9.4.2.312.2.3 - Common Info field of the Basic
2750 * Multi-Link element */
2756 * Followed by optional fields based on the multi link basic presence
2800 /* IEEE P802.11be/D4.1, Figure 9-1001x - STA Control field format for the
2801 * Reconfiguration Multi-Link element */
2811 /* IEEE P802.11be/D2.0, 9.4.2.312.2.4 - Per-STA Profile subelement format */
2819 /* IEEE P802.11be/D4.0, 9.4.2.312.3 - Probe Request Multi-Link element
2820 * Presence Bitmap field is B4..B15 of the Multi-Link Control field, i.e.,
2829 * Followed by optional fields based on the multi link basic presence
2837 /* IEEE P802.11be/D4.0, 9.4.2.312.4 - Reconfiguration Multi-Link element */
2849 /* IEEE P802.11be/D2.0, 9.4.2.312.1 - Multi-Link element / General */
2858 /* Table 9-401c - Optional subelement IDs for Link Info field of the
2859 * Multi-Link element */
2866 /* IEEE P802.11ay/D4.0, 9.4.2.251 - EDMG Operation element */
2870 /* IEEE P802.11ay/D4.0, 29.3.4 - Channelization */
2880 #define EDMG_CHANNEL_9_SUBCHANNELS (BIT(0) | BIT(1)) /* channels 1 and 2 */
2881 #define EDMG_CHANNEL_10_SUBCHANNELS (BIT(1) | BIT(2)) /* channels 2 and 3 */
2882 #define EDMG_CHANNEL_11_SUBCHANNELS (BIT(2) | BIT(3)) /* channels 3 and 4 */
2883 #define EDMG_CHANNEL_12_SUBCHANNELS (BIT(3) | BIT(4)) /* channels 4 and 5 */
2884 #define EDMG_CHANNEL_13_SUBCHANNELS (BIT(4) | BIT(5)) /* channels 5 and 6 */
2887 * enum edmg_bw_config - Allowed channel bandwidth configurations
2899 /* DPP Public Action frame identifiers - OUI_WFA */
2920 * Table 9-404s (Direction subfield encoding)
2930 * Figure 9-1001av (Control Info field format)
2942 #define SCS_QOS_BIT_MAX_MSDU_SIZE ((u16) BIT(0))
2943 #define SCS_QOS_BIT_SERVICE_START_TIME ((u16) BIT(1))
2944 #define SCS_QOS_BIT_SERVICE_START_TIME_LINKID ((u16) BIT(2))
2945 #define SCS_QOS_BIT_MEAN_DATA_RATE ((u16) BIT(3))
2946 #define SCS_QOS_BIT_DELAYED_BOUNDED_BURST_SIZE ((u16) BIT(4))
2947 #define SCS_QOS_BIT_MSDU_LIFETIME ((u16) BIT(5))
2948 #define SCS_QOS_BIT_MSDU_DELIVERY_INFO ((u16) BIT(6))
2949 #define SCS_QOS_BIT_MEDIUM_TIME ((u16) BIT(7))
2957 * IEEE Std 802.11-2020, 9.6.7.36 FILS Discovery frame format,
2958 * Figure 9-900 - FILS Discovery Frame Control subfield format
2960 #define FD_FRAME_CTL_CAP_PRESENT ((u16) BIT(5))
2961 #define FD_FRAME_CTL_SHORT_SSID_PRESENT ((u16) BIT(6))
2962 #define FD_FRAME_CTL_AP_CSN_PRESENT ((u16) BIT(7))
2963 #define FD_FRAME_CTL_ANO_PRESENT ((u16) BIT(8))
2964 #define FD_FRAME_CTL_FREQ_SEG1_PRESENT ((u16) BIT(9))
2965 #define FD_FRAME_CTL_PRI_CHAN_PRESENT ((u16) BIT(10))
2966 #define FD_FRAME_CTL_RSN_INFO_PRESENT ((u16) BIT(11))
2967 #define FD_FRAME_CTL_LENGTH_PRESENT ((u16) BIT(12))
2968 #define FD_FRAME_CTL_MD_PRESENT ((u16) BIT(13))
2971 * IEEE Std 802.11-2020, 9.6.7.36 FILS Discovery frame format,
2972 * Figure 9-901 - FD Capability subfield format
2974 #define FD_CAP_ESS BIT(0)
2975 #define FD_CAP_PRIVACY BIT(1)
2976 #define FD_CAP_MULTI_BSSID_PRESENT BIT(9)
3001 * IEEE Std 802.11ax-2021, 26.17.2.3.2, AP behavior for fast passive scanning
3005 /* IEEE Std 802.11ax-2021, 26.17.3.5.1: AP needs to wait and see the collision
3011 /* Protected Vendor-specific QoS Management Action frame identifiers - WFA */
3028 /* DSCP Policy attribute - Request Type */
3035 #define DSCP_POLICY_CTRL_MORE BIT(0)
3036 #define DSCP_POLICY_CTRL_RESET BIT(1)
3038 /* Wi-Fi Alliance Capabilities element - Capabilities field */
3039 #define WFA_CAPA_QM_DSCP_POLICY BIT(0)
3040 #define WFA_CAPA_QM_UNSOLIC_DSCP BIT(1)
3041 #define WFA_CAPA_QM_NON_EHT_SCS_TRAFFIC_DESC BIT(2)