mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 17:42:41 +00:00
1008 lines
41 KiB
Diff
1008 lines
41 KiB
Diff
--- a/nl80211.h
|
|
+++ b/nl80211.h
|
|
@@ -11,7 +11,7 @@
|
|
* Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
|
|
* Copyright 2008 Colin McCabe <colin@cozybit.com>
|
|
* Copyright 2015-2017 Intel Deutschland GmbH
|
|
- * Copyright (C) 2018-2022 Intel Corporation
|
|
+ * Copyright (C) 2018-2023 Intel Corporation
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
@@ -41,6 +41,7 @@
|
|
*/
|
|
|
|
#include <linux/types.h>
|
|
+#include <linux/kernel.h>
|
|
|
|
#define NL80211_GENL_NAME "nl80211"
|
|
|
|
@@ -395,11 +396,13 @@
|
|
* %NL80211_ATTR_MLO_LINK_ID.
|
|
*
|
|
* @NL80211_CMD_GET_BEACON: (not used)
|
|
- * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface
|
|
+ * @NL80211_CMD_UPDATE_AP: Update AP parameters which can vary at the
|
|
+ * runtime of BSS. change the beacon on an access point interface
|
|
* using the %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL
|
|
* attributes. For drivers that generate the beacon and probe responses
|
|
- * internally, the following attributes must be provided: %NL80211_ATTR_IE,
|
|
- * %NL80211_ATTR_IE_PROBE_RESP and %NL80211_ATTR_IE_ASSOC_RESP.
|
|
+ * internally, the following attributes must be provided for the
|
|
+ * beacon update: %NL80211_ATTR_IE, %NL80211_ATTR_IE_PROBE_RESP and
|
|
+ * %NL80211_ATTR_IE_ASSOC_RESP.
|
|
* @NL80211_CMD_START_AP: Start AP operation on an AP interface, parameters
|
|
* are like for %NL80211_CMD_SET_BEACON, and additionally parameters that
|
|
* do not change are used, these include %NL80211_ATTR_BEACON_INTERVAL,
|
|
@@ -424,11 +427,13 @@
|
|
* interface identified by %NL80211_ATTR_IFINDEX.
|
|
* @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC
|
|
* or, if no MAC address given, all stations, on the interface identified
|
|
- * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and
|
|
+ * by %NL80211_ATTR_IFINDEX. For MLD station, MLD address is used in
|
|
+ * %NL80211_ATTR_MAC. %NL80211_ATTR_MGMT_SUBTYPE and
|
|
* %NL80211_ATTR_REASON_CODE can optionally be used to specify which type
|
|
* of disconnection indication should be sent to the station
|
|
* (Deauthentication or Disassociation frame and reason code for that
|
|
- * frame).
|
|
+ * frame). %NL80211_ATTR_MLO_LINK_ID can be used optionally to remove
|
|
+ * stations connected and using at least that link.
|
|
*
|
|
* @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to
|
|
* destination %NL80211_ATTR_MAC on the interface identified by
|
|
@@ -1166,6 +1171,23 @@
|
|
* %NL80211_ATTR_STATUS_CODE attribute in %NL80211_CMD_EXTERNAL_AUTH
|
|
* command interface.
|
|
*
|
|
+ * Host driver sends MLD address of the AP with %NL80211_ATTR_MLD_ADDR in
|
|
+ * %NL80211_CMD_EXTERNAL_AUTH event to indicate user space to enable MLO
|
|
+ * during the authentication offload in STA mode while connecting to MLD
|
|
+ * APs. Host driver should check %NL80211_ATTR_MLO_SUPPORT flag capability
|
|
+ * in %NL80211_CMD_CONNECT to know whether the user space supports enabling
|
|
+ * MLO during the authentication offload or not.
|
|
+ * User space should enable MLO during the authentication only when it
|
|
+ * receives the AP MLD address in authentication offload request. User
|
|
+ * space shouldn't enable MLO when the authentication offload request
|
|
+ * doesn't indicate the AP MLD address even if the AP is MLO capable.
|
|
+ * User space should use %NL80211_ATTR_MLD_ADDR as peer's MLD address and
|
|
+ * interface address identified by %NL80211_ATTR_IFINDEX as self MLD
|
|
+ * address. User space and host driver to use MLD addresses in RA, TA and
|
|
+ * BSSID fields of the frames between them, and host driver translates the
|
|
+ * MLD addresses to/from link addresses based on the link chosen for the
|
|
+ * authentication.
|
|
+ *
|
|
* Host driver reports this status on an authentication failure to the
|
|
* user space through the connect result as the user space would have
|
|
* initiated the connection through the connect request.
|
|
@@ -1281,6 +1303,34 @@
|
|
* @NL80211_CMD_MODIFY_LINK_STA: Modify a link of an MLD station
|
|
* @NL80211_CMD_REMOVE_LINK_STA: Remove a link of an MLD station
|
|
*
|
|
+ * @NL80211_CMD_SET_HW_TIMESTAMP: Enable/disable HW timestamping of Timing
|
|
+ * measurement and Fine timing measurement frames. If %NL80211_ATTR_MAC
|
|
+ * is included, enable/disable HW timestamping only for frames to/from the
|
|
+ * specified MAC address. Otherwise enable/disable HW timestamping for
|
|
+ * all TM/FTM frames (including ones that were enabled with specific MAC
|
|
+ * address). If %NL80211_ATTR_HW_TIMESTAMP_ENABLED is not included, disable
|
|
+ * HW timestamping.
|
|
+ * The number of peers that HW timestamping can be enabled for concurrently
|
|
+ * is indicated by %NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS.
|
|
+ *
|
|
+ * @NL80211_CMD_LINKS_REMOVED: Notify userspace about the removal of STA MLD
|
|
+ * setup links due to AP MLD removing the corresponding affiliated APs with
|
|
+ * Multi-Link reconfiguration. %NL80211_ATTR_MLO_LINKS is used to provide
|
|
+ * information about the removed STA MLD setup links.
|
|
+ *
|
|
+ * @NL80211_CMD_UPDATE_HE_MUEDCA_PARAMS: Updated MU-EDCA parameters from driver.
|
|
+ * This event is used to update dynamic MU-EDCA parameters in Beacon frame,
|
|
+ * coming from driver and now need to be reflected in Beacon frame.
|
|
+ *
|
|
+ *
|
|
+ * @NL80211_CMD_AWGN_DETECT: Once AWGN interference is detected on the operating
|
|
+ * channel, userspace is notified with the interference bitmap using
|
|
+ * %NL80211_ATTR_AWGN_INTERFERENCE_BITMAP
|
|
+ * @NL80211_ATTR_AWGN_INTERFERENCE_BITMAP: u32 attribute specifying the
|
|
+ * interference bitmap of operating bandwidth for %NL80211_CMD_AWGN_DETECT
|
|
+ * @NL80211_CMD_INTERFERENCE_DETECT: Once any interference is detected on the
|
|
+ * operating channel, userspace would be notified of it
|
|
+ * using %NL80211_ATTR_INTERFERENCE_TYPE.
|
|
* @NL80211_CMD_MAX: highest used command number
|
|
* @__NL80211_CMD_AFTER_LAST: internal use
|
|
*/
|
|
@@ -1305,7 +1355,7 @@ enum nl80211_commands {
|
|
|
|
NL80211_CMD_GET_BEACON,
|
|
NL80211_CMD_UPDATE_AP,
|
|
- NL80211_CMD_SET_BEACON = NL80211_CMD_UPDATE_AP,
|
|
+ NL80211_CMD_SET_BEACON = NL80211_CMD_UPDATE_AP,
|
|
NL80211_CMD_START_AP,
|
|
NL80211_CMD_NEW_BEACON = NL80211_CMD_START_AP,
|
|
NL80211_CMD_STOP_AP,
|
|
@@ -1539,9 +1589,14 @@ enum nl80211_commands {
|
|
|
|
NL80211_CMD_UPDATE_HE_MUEDCA_PARAMS,
|
|
|
|
+ /* To be Deprecated from ATH QSDK, once we upstream
|
|
+ * NL80211_CMD_INTERFERENCE_DETECT
|
|
+ */
|
|
NL80211_CMD_AWGN_DETECT,
|
|
|
|
NL80211_CMD_STOP_BGRADAR_DETECT,
|
|
+
|
|
+ NL80211_CMD_INTERFERENCE_DETECT,
|
|
/* add new commands above here */
|
|
|
|
/* used to define NL80211_CMD_MAX below */
|
|
@@ -1886,8 +1941,9 @@ enum nl80211_commands {
|
|
* The driver must also specify support for this with the extended
|
|
* features NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
|
|
* NL80211_EXT_FEATURE_BEACON_RATE_HT,
|
|
- * NL80211_EXT_FEATURE_BEACON_RATE_VHT and
|
|
- * NL80211_EXT_FEATURE_BEACON_RATE_HE.
|
|
+ * NL80211_EXT_FEATURE_BEACON_RATE_VHT,
|
|
+ * NL80211_EXT_FEATURE_BEACON_RATE_HE and
|
|
+ * NL80211_EXT_FEATURE_BEACON_RATE_EHT.
|
|
*
|
|
* @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain
|
|
* at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME.
|
|
@@ -2012,6 +2068,10 @@ enum nl80211_commands {
|
|
* @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
|
|
* interface combinations. In each nested item, it contains attributes
|
|
* defined in &enum nl80211_if_combination_attrs.
|
|
+ * If the wiphy uses multiple radios (@NL80211_ATTR_WIPHY_RADIOS is set),
|
|
+ * this attribute contains the interface combinations of the first radio.
|
|
+ * See @NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS for the global wiphy
|
|
+ * combinations for the sum of all radios.
|
|
* @NL80211_ATTR_SOFTWARE_IFTYPES: Nested attribute (just like
|
|
* %NL80211_ATTR_SUPPORTED_IFTYPES) containing the interface types that
|
|
* are managed in software: interfaces of these types aren't subject to
|
|
@@ -2560,6 +2620,11 @@ enum nl80211_commands {
|
|
* association request when used with NL80211_CMD_NEW_STATION). Can be set
|
|
* only if %NL80211_STA_FLAG_WME is set.
|
|
*
|
|
+ * @NL80211_ATTR_AP_PS: enable/disable AP power save.
|
|
+ * This attribute type is u8 and valid range is 0 to 1.
|
|
+ * 0 for disable AP power save mode.
|
|
+ * 1 for enable AP power save mode.
|
|
+ *
|
|
* @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include
|
|
* in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing
|
|
* measurement (FTM) responder functionality and containing parameters as
|
|
@@ -2761,6 +2826,7 @@ enum nl80211_commands {
|
|
* the incoming frame RX timestamp.
|
|
* @NL80211_ATTR_TD_BITMAP: Transition Disable bitmap, for subsequent
|
|
* (re)associations.
|
|
+ *
|
|
* @NL80211_ATTR_PUNCT_BITMAP: (u32) Preamble puncturing bitmap, lowest
|
|
* bit corresponds to the lowest 20 MHz channel. Each bit set to 1
|
|
* indicates that the sub-channel is punctured. Higher 16 bits are
|
|
@@ -2790,9 +2856,32 @@ enum nl80211_commands {
|
|
* @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce
|
|
* transmit power to stay within regulatory limits. u32, dBi.
|
|
*
|
|
+ * @NL80211_ATTR_HE_MUEDCA_PARAMS: MU-EDCA AC parameters for the
|
|
+ * %NL80211_CMD_UPDATE_HE_MUEDCA_PARAMS command.
|
|
+ * @NL80211_ATTR_BEACON_TX_MODE: used to configure the beacon tx mode as
|
|
+ * staggered mode = 1 or burst mode = 2 in %NL80211_CMD_START_AP or
|
|
+ * %NL80211_CMD_JOIN_MESH from user-space.
|
|
+ *
|
|
+ * @NL80211_ATTR_RU_PUNCT_SUPP_BW: (u8) Minimum bandwidth for which
|
|
+ * the driver supports preamble puncturing, value should be of type
|
|
+ * &enum nl80211_ru_punct_supp_bw
|
|
+ *
|
|
+ * @NL80211_ATTR_RU_PUNCT_SUPP_HE: flag attribute, used to indicate that RU
|
|
+ * puncturing bitmap validation should include OFDMA bitmaps.
|
|
+ *
|
|
+ * @NL80211_ATTR_RU_PUNCT_BITMAP: (u16) RU puncturing bitmap where the lowest
|
|
+ * bit corresponds to the lowest 20 MHz channel. Each bit set to 1
|
|
+ * indicates that the sub-channel is punctured, set 0 indicates that the
|
|
+ * channel is active.
|
|
+ *
|
|
+ * @NL80211_ATTR_MULTI_HW_MACS: nested attribute to send the hardware mac
|
|
+ * specific channel capabilities to user space. Drivers registering
|
|
+ * multiple physical hardware under a wiphy can use this attribute,
|
|
+ * see &enum nl80211_multi_hw_mac_attrs.
|
|
+ *
|
|
* @NL80211_ATTR_RADAR_BITMAP: (u16) RADAR bitmap where the lowest bit
|
|
- * corresponds to the lowest 20MHZ channel. Each bit set to 1
|
|
- * indicates that radar is detected in that sub-channel.
|
|
+ * corresponds to the lowest 20MHZ channel. Each bit set to 1
|
|
+ * indicates that radar is detected in that sub-channel.
|
|
*
|
|
* @NL80211_ATTR_ADD_MULTI_CHAN: Add channel to the radio, this is used
|
|
* for monitor interface (u32).
|
|
@@ -2800,6 +2889,39 @@ enum nl80211_commands {
|
|
* @NL80211_ATTR_DEL_MULTI_CHAN: Delete channel from the radio, this is used
|
|
* for monitor interface (u32).
|
|
*
|
|
+ * @NL80211_ATTR_RXMGMT_CRITICAL_UPDATE: Nested attribute listing the critical
|
|
+ * update for each MLD. In each nested item, it contains attributes
|
|
+ * defined in &enum nl80211_cu_attrs.
|
|
+ *
|
|
+ * @NL80211_ATTR_SET_CRITICAL_UPDATE: set critical update bitmap for the BSS(s)
|
|
+ * (see &enum nl80211_set_cu_attrs).
|
|
+ *
|
|
+ * @NL80211_ATTR_CHANNEL_WIDTH_DEVICE: Device channel width (u32). Value
|
|
+ * must be zero or twice @NL80211_ATTR_CHANNEL_WIDTH which is the
|
|
+ * operating channel width. Minimum value is 40 MHz.
|
|
+ *
|
|
+ * @NL80211_ATTR_CENTER_FREQ_DEVICE: Device center frequency (u32). This
|
|
+ * value must be such that the operating bandwidth is a subset of the
|
|
+ * device bandwidth.
|
|
+ *
|
|
+ * @NL80211_ATTR_INTERFERENCE_TYPE: Different Interference Types (u32).
|
|
+ * This value indicates the below list of interference detected.
|
|
+ * 1. Continous Wave Interference, it can be from a dialer phone or microwave.
|
|
+ * 2. AWGN Interference.
|
|
+ *
|
|
+ * The above list is detailed in the enum nl80211_interference_type.
|
|
+ *
|
|
+ * @NL80211_ATTR_WIPHY_RADIOS: Nested attribute describing physical radios
|
|
+ * belonging to this wiphy. See &enum nl80211_wiphy_radio_attrs.
|
|
+ *
|
|
+ * @NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS: Nested attribute listing the
|
|
+ * supported interface combinations for all radios combined. In each
|
|
+ * nested item, it contains attributes defined in
|
|
+ * &enum nl80211_if_combination_attrs.
|
|
+ *
|
|
+ * @NL80211_ATTR_VIF_RADIO_MASK: Bitmask of allowed radios (u32).
|
|
+ * A value of 0 means all radios.
|
|
+ *
|
|
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
|
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
|
* @__NL80211_ATTR_AFTER_LAST: internal use
|
|
@@ -3366,6 +3488,17 @@ enum nl80211_attrs {
|
|
|
|
NL80211_ATTR_ADD_MULTI_CHAN,
|
|
NL80211_ATTR_DEL_MULTI_CHAN,
|
|
+ NL80211_ATTR_RXMGMT_CRITICAL_UPDATE,
|
|
+ NL80211_ATTR_SET_CRITICAL_UPDATE,
|
|
+ NL80211_ATTR_CHANNEL_WIDTH_DEVICE,
|
|
+ NL80211_ATTR_CENTER_FREQ_DEVICE,
|
|
+ NL80211_ATTR_INTERFERENCE_TYPE,
|
|
+
|
|
+ NL80211_ATTR_WIPHY_RADIOS,
|
|
+ NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS,
|
|
+
|
|
+ NL80211_ATTR_VIF_RADIO_MASK,
|
|
+
|
|
/* add attributes here, update the policy in nl80211.c */
|
|
|
|
__NL80211_ATTR_AFTER_LAST,
|
|
@@ -3426,8 +3559,9 @@ enum nl80211_attrs {
|
|
* present in %NL80211_CMD_GET_WIPHY response.
|
|
*/
|
|
#define NL80211_MAX_NR_AKM_SUITES 2
|
|
-#define NL80211_EHT_MIN_CAPABILITY_LEN 13
|
|
+#define NL80211_EHT_MIN_CAPABILITY_LEN 12
|
|
#define NL80211_EHT_MAX_CAPABILITY_LEN 51
|
|
+#define NL80211_EHT240_MAX_CAPABILITY_LEN 10
|
|
|
|
#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10
|
|
|
|
@@ -3506,6 +3640,7 @@ enum nl80211_iftype {
|
|
* @NL80211_STA_FLAG_ASSOCIATED: station is associated; used with drivers
|
|
* that support %NL80211_FEATURE_FULL_AP_CLIENT_STATE to transition a
|
|
* previously added station into associated state
|
|
+ * @NL80211_STA_FLAG_FT_AUTH: station uses FT authentication
|
|
* @NL80211_STA_FLAG_MAX: highest station flag number currently defined
|
|
* @__NL80211_STA_FLAG_AFTER_LAST: internal use
|
|
*/
|
|
@@ -3518,6 +3653,7 @@ enum nl80211_sta_flags {
|
|
NL80211_STA_FLAG_AUTHENTICATED,
|
|
NL80211_STA_FLAG_TDLS_PEER,
|
|
NL80211_STA_FLAG_ASSOCIATED,
|
|
+ NL80211_STA_FLAG_FT_AUTH,
|
|
|
|
/* keep last */
|
|
__NL80211_STA_FLAG_AFTER_LAST,
|
|
@@ -3609,6 +3745,18 @@ enum nl80211_eht_gi {
|
|
};
|
|
|
|
/**
|
|
+ * enum nl80211_eht_ltf - EHT long training field
|
|
+ * @NL80211_RATE_INFO_EHT_1xLTF: 3.2 usec
|
|
+ * @NL80211_RATE_INFO_EHT_2xLTF: 6.4 usec
|
|
+ * @NL80211_RATE_INFO_EHT_4xLTF: 12.8 usec
|
|
+ */
|
|
+enum nl80211_eht_ltf {
|
|
+ NL80211_RATE_INFO_EHT_1XLTF,
|
|
+ NL80211_RATE_INFO_EHT_2XLTF,
|
|
+ NL80211_RATE_INFO_EHT_4XLTF,
|
|
+};
|
|
+
|
|
+/**
|
|
* enum nl80211_eht_ru_alloc - EHT RU allocation values
|
|
* @NL80211_RATE_INFO_EHT_RU_ALLOC_26: 26-tone RU allocation
|
|
* @NL80211_RATE_INFO_EHT_RU_ALLOC_52: 52-tone RU allocation
|
|
@@ -3692,6 +3840,13 @@ enum nl80211_eht_ru_alloc {
|
|
* (u8, see &enum nl80211_eht_gi)
|
|
* @NL80211_RATE_INFO_EHT_RU_ALLOC: EHT RU allocation, if not present then
|
|
* non-OFDMA was used (u8, see &enum nl80211_eht_ru_alloc)
|
|
+ * @NL80211_RATE_INFO_S1G_MCS: S1G MCS index (u8, 0-10)
|
|
+ * @NL80211_RATE_INFO_S1G_NSS: S1G NSS value (u8, 1-4)
|
|
+ * @NL80211_RATE_INFO_1_MHZ_WIDTH: 1 MHz S1G rate
|
|
+ * @NL80211_RATE_INFO_2_MHZ_WIDTH: 2 MHz S1G rate
|
|
+ * @NL80211_RATE_INFO_4_MHZ_WIDTH: 4 MHz S1G rate
|
|
+ * @NL80211_RATE_INFO_8_MHZ_WIDTH: 8 MHz S1G rate
|
|
+ * @NL80211_RATE_INFO_16_MHZ_WIDTH: 16 MHz S1G rate
|
|
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
|
|
*/
|
|
enum nl80211_rate_info {
|
|
@@ -3718,6 +3873,13 @@ enum nl80211_rate_info {
|
|
NL80211_RATE_INFO_EHT_NSS,
|
|
NL80211_RATE_INFO_EHT_GI,
|
|
NL80211_RATE_INFO_EHT_RU_ALLOC,
|
|
+ NL80211_RATE_INFO_S1G_MCS,
|
|
+ NL80211_RATE_INFO_S1G_NSS,
|
|
+ NL80211_RATE_INFO_1_MHZ_WIDTH,
|
|
+ NL80211_RATE_INFO_2_MHZ_WIDTH,
|
|
+ NL80211_RATE_INFO_4_MHZ_WIDTH,
|
|
+ NL80211_RATE_INFO_8_MHZ_WIDTH,
|
|
+ NL80211_RATE_INFO_16_MHZ_WIDTH,
|
|
|
|
/* keep last */
|
|
__NL80211_RATE_INFO_AFTER_LAST,
|
|
@@ -3834,6 +3996,8 @@ enum nl80211_sta_bss_param {
|
|
* of STA's association
|
|
* @NL80211_STA_INFO_CONNECTED_TO_AS: set to true if STA has a path to a
|
|
* authentication server (u8, 0 or 1)
|
|
+ * @NL80211_STA_INFO_RX_RETRIES: number of rx packets(MPDUs) from this station
|
|
+ * with retry bit set (u32)
|
|
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
|
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
|
*/
|
|
@@ -3882,6 +4046,7 @@ enum nl80211_sta_info {
|
|
NL80211_STA_INFO_AIRTIME_LINK_METRIC,
|
|
NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
|
|
NL80211_STA_INFO_CONNECTED_TO_AS,
|
|
+ NL80211_STA_INFO_RX_RETRIES,
|
|
|
|
/* keep last */
|
|
__NL80211_STA_INFO_AFTER_LAST,
|
|
@@ -4014,8 +4179,6 @@ enum nl80211_mpath_info {
|
|
NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
|
|
};
|
|
|
|
-#define NL80211_EHT_NSS_MAX 16
|
|
-
|
|
/**
|
|
* enum nl80211_band_iftype_attr - Interface type data attributes
|
|
*
|
|
@@ -4088,6 +4251,10 @@ enum nl80211_band_iftype_attr {
|
|
* @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
|
|
* the allowed channel bandwidth configurations.
|
|
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
|
|
+ * @NL80211_BAND_ATTR_S1G_MCS_NSS_SET: S1G capabilities, supported S1G-MCS and NSS
|
|
+ * set subfield, as in the S1G information IE, 5 bytes
|
|
+ * @NL80211_BAND_ATTR_S1G_CAPA: S1G capabilities information subfield as in the
|
|
+ * S1G information IE, 10 bytes
|
|
* @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
|
|
* @__NL80211_BAND_ATTR_AFTER_LAST: internal use
|
|
*/
|
|
@@ -4108,6 +4275,9 @@ enum nl80211_band_attr {
|
|
NL80211_BAND_ATTR_EDMG_CHANNELS,
|
|
NL80211_BAND_ATTR_EDMG_BW_CONFIG,
|
|
|
|
+ NL80211_BAND_ATTR_S1G_MCS_NSS_SET,
|
|
+ NL80211_BAND_ATTR_S1G_CAPA,
|
|
+
|
|
/* keep last */
|
|
__NL80211_BAND_ATTR_AFTER_LAST,
|
|
NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
|
|
@@ -4115,6 +4285,10 @@ enum nl80211_band_attr {
|
|
|
|
#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
|
|
|
|
+#define NL80211_NUM_POWER_MODES_PER_IFTYPE 3
|
|
+#define GET_POWER_MODE_FOR_NON_AP_STA(pwr_mode_usr, pwr_mode_bcn) \
|
|
+ (NL80211_NUM_POWER_MODES_PER_IFTYPE * (1 + pwr_mode_usr) + pwr_mode_bcn)
|
|
+
|
|
enum nl80211_regulatory_power_modes {
|
|
NL80211_REG_AP_LPI,
|
|
NL80211_REG_AP_SP,
|
|
@@ -4221,6 +4395,8 @@ enum nl80211_wmm_rule {
|
|
* as the primary or any of the secondary channels isn't possible
|
|
* @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel
|
|
* in current regulatory domain.
|
|
+ * @NL80211_FREQUENCY_ATTR_PSD: power spectral density (in dBm)
|
|
+ * is allowed on this channel in current regulatory domain.
|
|
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
|
* currently defined
|
|
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
|
@@ -4259,6 +4435,7 @@ enum nl80211_frequency_attr {
|
|
NL80211_FREQUENCY_ATTR_16MHZ,
|
|
NL80211_FREQUENCY_ATTR_NO_320MHZ,
|
|
NL80211_FREQUENCY_ATTR_NO_EHT,
|
|
+ NL80211_FREQUENCY_ATTR_PSD,
|
|
|
|
/* keep last */
|
|
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
|
@@ -4361,8 +4538,7 @@ enum nl80211_reg_type {
|
|
* If not present or 0 default CAC time will be used.
|
|
* @NL80211_ATTR_POWER_RULE_PSD: power spectral density (in dBm).
|
|
* This could be negative.
|
|
- * @NL80211_ATTR_REG_POWER_MODE: 6 GHZ power mode. Referenced from &enum
|
|
- * nl80211_regulatory_power_modes.
|
|
+ * @NL80211_ATTR_REG_POWER_MODE: the regulatory power mode for 6G rules
|
|
* @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number
|
|
* currently defined
|
|
* @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use
|
|
@@ -4466,8 +4642,8 @@ enum nl80211_sched_scan_match_attr {
|
|
* @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
|
|
* @NL80211_RRF_NO_HE: HE operation not allowed
|
|
* @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
|
|
- * @NL80211_RRF_PSD: channels has power spectral density value
|
|
* @NL80211_RRF_NO_EHT: EHT operation not allowed
|
|
+ * @NL80211_RRF_PSD: channels has power spectral density value
|
|
*/
|
|
enum nl80211_reg_rule_flags {
|
|
NL80211_RRF_NO_OFDM = 1<<0,
|
|
@@ -4487,8 +4663,8 @@ enum nl80211_reg_rule_flags {
|
|
NL80211_RRF_NO_160MHZ = 1<<16,
|
|
NL80211_RRF_NO_HE = 1<<17,
|
|
NL80211_RRF_NO_320MHZ = 1<<18,
|
|
- NL80211_RRF_PSD = 1<<19,
|
|
- NL80211_RRF_NO_EHT = 1<<20,
|
|
+ NL80211_RRF_NO_EHT = 1<<19,
|
|
+ NL80211_RRF_PSD = 1<<20,
|
|
};
|
|
|
|
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
|
@@ -4661,6 +4837,7 @@ enum nl80211_mgmt_rts_cts_conf {
|
|
NL80211_MGMT_RTS_CTS_ENABLE,
|
|
NL80211_MGMT_RTS_CTS_DISABLE,
|
|
};
|
|
+
|
|
/**
|
|
* enum nl80211_meshconf_params - mesh configuration parameters
|
|
*
|
|
@@ -5275,11 +5452,11 @@ enum nl80211_key_attributes {
|
|
* see &struct nl80211_txrate_he
|
|
* @NL80211_TXRATE_HE_GI: configure HE GI, 0.8us, 1.6us and 3.2us.
|
|
* @NL80211_TXRATE_HE_LTF: configure HE LTF, 1XLTF, 2XLTF and 4XLTF.
|
|
+ * @NL80211_TXRATE_HE_UL: HE MCS rates of connected HE STA for uplink traffic.
|
|
* @NL80211_TXRATE_EHT: EHT rates allowed for TX rate selection,
|
|
* see &struct nl80211_txrate_eht
|
|
* @NL80211_TXRATE_EHT_GI: configure EHT GI, 0.8us, 1.6us and 3.2us.
|
|
* @NL80211_TXRATE_EHT_LTF: configure EHT LTF, 1XLTF, 2XLTF and 4XLTF.
|
|
- *
|
|
* @__NL80211_TXRATE_AFTER_LAST: internal
|
|
* @NL80211_TXRATE_MAX: highest TX rate attribute
|
|
*/
|
|
@@ -5314,6 +5491,7 @@ struct nl80211_txrate_vht {
|
|
};
|
|
|
|
#define NL80211_HE_NSS_MAX 8
|
|
+#define NL80211_EHT_NSS_MAX 16
|
|
/**
|
|
* struct nl80211_txrate_he - HE MCS/NSS txrate bitmap
|
|
* @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.)
|
|
@@ -5337,18 +5515,6 @@ struct nl80211_txrate_eht {
|
|
};
|
|
|
|
/**
|
|
- * enum nl80211_eht_ltf - EHT long training field
|
|
- * @NL80211_RATE_INFO_EHT_1xLTF: 3.2 usec
|
|
- * @NL80211_RATE_INFO_EHT_2xLTF: 6.4 usec
|
|
- * @NL80211_RATE_INFO_EHT_4xLTF: 12.8 usec
|
|
- */
|
|
-enum nl80211_eht_ltf {
|
|
- NL80211_RATE_INFO_EHT_1XLTF,
|
|
- NL80211_RATE_INFO_EHT_2XLTF,
|
|
- NL80211_RATE_INFO_EHT_4XLTF,
|
|
-};
|
|
-
|
|
-/**
|
|
* enum nl80211_band - Frequency band
|
|
* @NL80211_BAND_2GHZ: 2.4 GHz ISM band
|
|
* @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
|
|
@@ -5379,70 +5545,12 @@ enum nl80211_ps_state {
|
|
NL80211_PS_DISABLED,
|
|
NL80211_PS_ENABLED,
|
|
};
|
|
-/*
|
|
- * @NL80211_ATTR_TID: a TID value (u8 attribute)
|
|
- * @NL80211_ATTR_TID_RETRY_CONFIG: Data frame retry count should be
|
|
- * applied with the value passed through %NL80211_ATTR_RETRY_LONG
|
|
- * and/or %NL80211_ATTR_RETRY_SHORT. This configuration is per-TID,
|
|
- * TID is specified with %NL80211_ATTR_TID. If the peer MAC address
|
|
- * is passed in %NL80211_ATTR_MAC, the retry configuration is applied
|
|
- * to the data frame for the tid to that connected station.
|
|
- * This attribute will be useful to notfiy the driver to apply default
|
|
- * retry values for the connected station (%NL80211_ATTR_MAC), when the
|
|
- * command received without %NL80211_ATTR_RETRY_LONG and/or
|
|
- * %NL80211_ATTR_RETRY_SHORT.
|
|
- * Station specific retry configuration is valid only for STA's
|
|
- * current connection. i.e. the configuration will be reset to default when
|
|
- * the station connects back after disconnection/roaming.
|
|
- * when user-space does not include %NL80211_ATTR_MAC, this configuration
|
|
- * should be treated as per-netdev configuration. This configuration will
|
|
- * be cleared when the interface goes down and on the disconnection from a
|
|
- * BSS. When retry count has never been configured using this command, the
|
|
- * other available radio level retry configuration
|
|
- * (%NL80211_ATTR_WIPHY_RETRY_SHORT and %NL80211_ATTR_WIPHY_RETRY_LONG)
|
|
- * should be used. Driver supporting this feature should advertise
|
|
- * NL80211_EXT_FEATURE_PER_TID_RETRY_CONFIG and supporting per station
|
|
- * retry count configuration should advertise
|
|
- * NL80211_EXT_FEATURE_PER_STA_RETRY_CONFIG.
|
|
- * @NL80211_ATTR_TID_RETRY_SHORT: Number of retries used with data frame
|
|
- * transmission, user-space sets this configuration in
|
|
- * &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and
|
|
- * the max value should be advertised by the driver through
|
|
- * max_data_retry_count. when this attribute is not present, the driver
|
|
- * would use the default configuration.
|
|
- * @NL80211_ATTR_TID_RETRY_LONG: Number of retries used with data frame
|
|
- * transmission, user-space sets this configuration in
|
|
- * &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and
|
|
- * the max value should be advertised by the driver through
|
|
- * max_data_retry_count. when this attribute is not present, the driver
|
|
- * would use the default configuration.
|
|
- * @NL80211_ATTR_TID_AMPDU_AGGR_CTRL: Enable/Disable aggregation for the TID
|
|
- * specified in %%NL80211_ATTR_TID. Its type is u8, if the peer MAC address
|
|
- * is passed in %NL80211_ATTR_MAC, the aggregation configuration is applied
|
|
- * to the data frame for the tid to that connected station.
|
|
- * Station specific aggregation configuration is valid only for STA's
|
|
- * current connection. i.e. the configuration will be reset to default when
|
|
- * the station connects back after disconnection/roaming.
|
|
- * when user-space does not include %NL80211_ATTR_MAC, this configuration
|
|
- * should be treated as per-netdev configuration. This configuration will
|
|
- * be cleared when the interface goes down and on the disconnection from a
|
|
- * BSS. Driver supporting this feature should advertise
|
|
- * NL80211_EXT_FEATURE_PER_STA_AMPDU_AGGR_CTRL and supporting per station
|
|
- * aggregation configuration should advertise
|
|
- * NL80211_EXT_FEATURE_PER_STA_AMPDU_AGGR_CTRL.
|
|
- */
|
|
-enum nl80211_attr_tid_config {
|
|
- __NL80211_ATTR_TID_INVALID,
|
|
- NL80211_ATTR_TID,
|
|
- NL80211_ATTR_TID_RETRY_CONFIG,
|
|
- NL80211_ATTR_TID_RETRY_SHORT,
|
|
- NL80211_ATTR_TID_RETRY_LONG,
|
|
- NL80211_ATTR_TID_AMPDU_AGGR_CTRL,
|
|
|
|
- /* keep last */
|
|
- __NL80211_ATTR_TID_AFTER_LAST,
|
|
- NL80211_ATTR_TID_MAX = __NL80211_ATTR_TID_AFTER_LAST - 1
|
|
+enum nl80211_mpath_change_notify {
|
|
+ NL80211_MPATH_METRIC_CHANGE,
|
|
+ NL80211_MPATH_BROKEN_NOTIFY,
|
|
};
|
|
+
|
|
/**
|
|
* enum nl80211_attr_cqm - connection quality monitor attributes
|
|
* @__NL80211_ATTR_CQM_INVALID: invalid
|
|
@@ -5487,6 +5595,7 @@ enum nl80211_attr_cqm {
|
|
NL80211_ATTR_CQM_TXE_INTVL,
|
|
NL80211_ATTR_CQM_BEACON_LOSS_EVENT,
|
|
NL80211_ATTR_CQM_RSSI_LEVEL,
|
|
+ NL80211_ATTR_CQM_MPATH_CHANGE_EVENT,
|
|
|
|
/* keep last */
|
|
__NL80211_ATTR_CQM_AFTER_LAST,
|
|
@@ -5987,9 +6096,9 @@ enum nl80211_iface_limit_attrs {
|
|
* different beacon intervals supported by all the interface combinations
|
|
* in this group (if not present, all beacon intervals be identical).
|
|
* @NL80211_IFACE_COMB_PER_HW_COMB: nested attribute specifying the interface
|
|
- * combination for each underlying hardware when multiple hardware are
|
|
- * registered under a single wiphy,
|
|
- * see &enum nl80211_if_combination_per_hw_comb_attrs.
|
|
+ * combination for each underlying hardware when multiple hardware are
|
|
+ * registered under a single wiphy,
|
|
+ * see &enum nl80211_if_combination_per_hw_comb_attrs.
|
|
* @NUM_NL80211_IFACE_COMB: number of attributes
|
|
* @MAX_NL80211_IFACE_COMB: highest attribute number
|
|
*
|
|
@@ -6005,18 +6114,19 @@ enum nl80211_iface_limit_attrs {
|
|
*
|
|
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
|
|
* => allows a STA plus three P2P interfaces
|
|
- * When describing per-hw combinations, the first possibility can
|
|
- * further include the finer capabilities like below
|
|
- * hw_chan_idx = 0, numbers = [ #{STA} <= 1, #{AP} <= 1 ],
|
|
- * channels = 1, max = 2
|
|
- * => allows a STA plus an AP interface on the underlying hw mac
|
|
- * advertised at index 0 in wiphy @hw_chans array.
|
|
- * hw_chan_idx = 1, numbers = [ #{STA} <= 1, #{AP} <= 2 ],
|
|
- * channels = 1, max = 3
|
|
- * => allows a STA plus two AP interfaces on the underlying hw mac
|
|
- * advertised at index 1 in wiphy @hw_chans array.
|
|
*
|
|
- * The list of these four possibilities could completely be contained
|
|
+ * When describing per-hw combinations, the first possibility can
|
|
+ * further include the finer capabilities like below
|
|
+ * hw_chan_idx = 0, numbers = [ #{STA} <= 1, #{AP} <= 1 ],
|
|
+ * channels = 1, max = 2
|
|
+ * => allows a STA plus an AP interface on the underlying hw mac
|
|
+ * advertised at index 0 in wiphy @hw_chans array.
|
|
+ * hw_chan_idx = 1, numbers = [ #{STA} <= 1, #{AP} <= 2 ],
|
|
+ * channels = 1, max = 3
|
|
+ * => allows a STA plus two AP interfaces on the underlying hw mac
|
|
+ * advertised at index 1 in wiphy @hw_chans array.
|
|
+ *
|
|
+ * The list of these five possibilities could completely be contained
|
|
* within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate
|
|
* that any of these groups must match.
|
|
*
|
|
@@ -6036,6 +6146,7 @@ enum nl80211_if_combination_attrs {
|
|
NL80211_IFACE_COMB_RADAR_DETECT_REGIONS,
|
|
NL80211_IFACE_COMB_BI_MIN_GCD,
|
|
NL80211_IFACE_COMB_PER_HW_COMB,
|
|
+
|
|
/* keep last */
|
|
NUM_NL80211_IFACE_COMB,
|
|
MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1
|
|
@@ -6047,16 +6158,16 @@ enum nl80211_if_combination_attrs {
|
|
*
|
|
* @NL80211_IFACE_COMB_PER_HW_COMB_UNSPEC: (reserved)
|
|
* @NL80211_IFACE_COMB_PER_HW_COMB_HW_IDX: u8 attribute specifying the index
|
|
- * to the wiphy @hw_chans list for which the iface combination is being
|
|
- * described.
|
|
+ * to the wiphy @hw_chans list for which the iface combination is being
|
|
+ * described.
|
|
* @NL80211_IFACE_COMB_PER_HW_COMB_LIMITS: nested attribute containing the
|
|
- * limits for the given interface types, see
|
|
- * &enum nl80211_iface_limit_attrs.
|
|
+ * limits for the given interface types, see
|
|
+ * &enum nl80211_iface_limit_attrs.
|
|
* @NL80211_IFACE_COMB_PER_HW_COMB_MAXIMUM: u32 attribute giving the maximum
|
|
- * number of interfaces that can be created in this group. This number
|
|
- * does not apply to the interfaces purely managed in software.
|
|
+ * number of interfaces that can be created in this group. This number
|
|
+ * does not apply to the interfaces purely managed in software.
|
|
* @NL80211_IFACE_COMB_PER_HW_COMB_NUM_CHANNELS: u32 attribute specifying the
|
|
- * number of different channels that can be used in this group.
|
|
+ * number of different channels that can be used in this group.
|
|
* @NUM_NL80211_IFACE_COMB_PER_HW_COMB: number of attributes
|
|
* @MAX_NL80211_IFACE_COMB_PER_HW_COMB: highest attribute number
|
|
*/
|
|
@@ -6126,6 +6237,7 @@ enum plink_actions {
|
|
#define NL80211_KEK_LEN 16
|
|
#define NL80211_KCK_EXT_LEN 24
|
|
#define NL80211_KEK_EXT_LEN 32
|
|
+#define NL80211_KCK_EXT_LEN_32 32
|
|
#define NL80211_REPLAY_CTR_LEN 8
|
|
|
|
/**
|
|
@@ -6551,8 +6663,23 @@ enum nl80211_feature_flags {
|
|
* might apply, e.g. no scans in progress, no offchannel operations
|
|
* in progress, and no active connections.
|
|
*
|
|
+ * @NL80211_EXT_FEATURE_PUNCT: Driver supports preamble puncturing in AP mode.
|
|
+ *
|
|
+ * @NL80211_EXT_FEATURE_SECURE_NAN: Device supports NAN Pairing which enables
|
|
+ * authentication, data encryption and message integrity.
|
|
+ *
|
|
+ * @NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA: Device supports randomized TA
|
|
+ * in authentication and deauthentication frames sent to unassociated peer
|
|
+ * using @NL80211_CMD_FRAME.
|
|
+ *
|
|
* @NL80211_EXT_FEATURE_WIDE_BAND_SCAN: Driver/device supports wide band scan
|
|
- * on a frequency along with its corresponding phymode (40Mhz, 80Mhz)
|
|
+ * on a frequency along with its corresponding phymode (40Mhz, 80Mhz)
|
|
+ *
|
|
+ * @NL80211_EXT_FEATURE_BEACON_RATE_EHT: Driver supports beacon rate
|
|
+ * configuration (AP/mesh) with EHT rates.
|
|
+ *
|
|
+ * @NL80211_EXT_FEATURE_DEVICE_BW: Driver/device supports different parameters
|
|
+ * for device bandwidth compared to the operating bandwidth.
|
|
*
|
|
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
|
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
|
@@ -6622,8 +6749,13 @@ enum nl80211_ext_feature_index {
|
|
NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
|
|
NL80211_EXT_FEATURE_WIDE_BAND_SCAN,
|
|
NL80211_EXT_FEATURE_RADAR_BACKGROUND,
|
|
- NL80211_EXT_FEATURE_STA_MGMT_RTS_CTS,
|
|
NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE,
|
|
+ NL80211_EXT_FEATURE_PUNCT,
|
|
+ NL80211_EXT_FEATURE_SECURE_NAN,
|
|
+ NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
|
|
+ NL80211_EXT_FEATURE_STA_MGMT_RTS_CTS,
|
|
+ NL80211_EXT_FEATURE_BEACON_RATE_EHT,
|
|
+ NL80211_EXT_FEATURE_DEVICE_BW,
|
|
|
|
/* add new features before the definition below */
|
|
NUM_NL80211_EXT_FEATURES,
|
|
@@ -6738,8 +6870,18 @@ enum nl80211_timeout_reason {
|
|
* @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with
|
|
* %NL80211_ATTR_SCAN_FREQ_KHZ. This also means
|
|
* %NL80211_ATTR_SCAN_FREQUENCIES will not be included.
|
|
- * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for colocated APs reported by
|
|
- * 2.4/5 GHz APs
|
|
+ * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for collocated APs reported by
|
|
+ * 2.4/5 GHz APs. When the flag is set, the scan logic will use the
|
|
+ * information from the RNR element found in beacons/probe responses
|
|
+ * received on the 2.4/5 GHz channels to actively scan only the 6GHz
|
|
+ * channels on which APs are expected to be found. Note that when not set,
|
|
+ * the scan logic would scan all 6GHz channels, but since transmission of
|
|
+ * probe requests on non PSC channels is limited, it is highly likely that
|
|
+ * these channels would passively be scanned. Also note that when the flag
|
|
+ * is set, in addition to the colocated APs, PSC channels would also be
|
|
+ * scanned if the user space has asked for it.
|
|
+ * @NL80211_SCAN_FLAG_WIDE_BAND_SCAN: This flag intends the driver to perform
|
|
+ * wide band scan only if the driver supports it.
|
|
*/
|
|
enum nl80211_scan_flags {
|
|
NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
|
|
@@ -6757,6 +6899,7 @@ enum nl80211_scan_flags {
|
|
NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12,
|
|
NL80211_SCAN_FLAG_FREQ_KHZ = 1<<13,
|
|
NL80211_SCAN_FLAG_COLOCATED_6GHZ = 1<<14,
|
|
+ NL80211_SCAN_FLAG_WIDE_BAND_SCAN = 1<<15,
|
|
};
|
|
|
|
/**
|
|
@@ -7702,6 +7845,8 @@ enum nl80211_obss_pd_attributes {
|
|
* @NL80211_HE_BSS_COLOR_ATTR_COLOR: the current BSS Color.
|
|
* @NL80211_HE_BSS_COLOR_ATTR_DISABLED: is BSS coloring disabled.
|
|
* @NL80211_HE_BSS_COLOR_ATTR_PARTIAL: the AID equation to be used..
|
|
+ * @NL80211_HE_BSS_COLOR_ATTR_COLLISION_DETECTION_DISABLED: is BSS
|
|
+ * color collision detection disabled.
|
|
*
|
|
* @__NL80211_HE_BSS_COLOR_ATTR_LAST: Internal
|
|
* @NL80211_HE_BSS_COLOR_ATTR_MAX: highest BSS Color attribute.
|
|
@@ -7712,6 +7857,7 @@ enum nl80211_bss_color_attributes {
|
|
NL80211_HE_BSS_COLOR_ATTR_COLOR,
|
|
NL80211_HE_BSS_COLOR_ATTR_DISABLED,
|
|
NL80211_HE_BSS_COLOR_ATTR_PARTIAL,
|
|
+ NL80211_HE_BSS_COLOR_ATTR_COLLISION_DETECTION_DISABLED,
|
|
|
|
/* keep last */
|
|
__NL80211_HE_BSS_COLOR_ATTR_LAST,
|
|
@@ -7952,6 +8098,11 @@ enum nl80211_sar_specs_attrs {
|
|
* Setting this flag is permitted only if the driver advertises EMA support
|
|
* by setting wiphy->ema_max_profile_periodicity to non-zero.
|
|
*
|
|
+ * @NL80211_MBSSID_CONFIG_ATTR_TX_LINK_ID: Mandatory parameter for a non-transmitted profile
|
|
+ * which provides the interface index (u32) of the transmitted profile which
|
|
+ * is an MLD. The link id must be valid in the wdev of given Transmitting interface
|
|
+ * index.
|
|
+ *
|
|
* @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal
|
|
* @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute
|
|
*/
|
|
@@ -7963,6 +8114,7 @@ enum nl80211_mbssid_config_attributes {
|
|
NL80211_MBSSID_CONFIG_ATTR_INDEX,
|
|
NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX,
|
|
NL80211_MBSSID_CONFIG_ATTR_EMA,
|
|
+ NL80211_MBSSID_CONFIG_ATTR_TX_LINK_ID,
|
|
|
|
/* keep last */
|
|
__NL80211_MBSSID_CONFIG_ATTR_LAST,
|
|
@@ -7986,8 +8138,35 @@ enum nl80211_ap_settings_flags {
|
|
};
|
|
|
|
/**
|
|
+ * enum nl80211_ru_punct_supp_bw - Bandwidths supporting preamble puncturing
|
|
+ *
|
|
+ * @NL80211_RU_PUNCT_NOT_SUPP: preamble puncturing is not supported
|
|
+ * @NL80211_RU_PUNCT_SUPP_BW_80: puncturing supported within channels of at
|
|
+ * least 80 MHz bandwidth
|
|
+ * @NL80211_RU_PUNCT_SUPP_BW_160: puncturing supported within channels of at
|
|
+ * least 160 MHz bandwidth
|
|
+ * @NL80211_RU_PUNCT_SUPP_BW_320: puncturing supported within 320 MHz.
|
|
+ */
|
|
+enum nl80211_ru_punct_supp_bw {
|
|
+ NL80211_RU_PUNCT_NOT_SUPP,
|
|
+ NL80211_RU_PUNCT_SUPP_BW_80,
|
|
+ NL80211_RU_PUNCT_SUPP_BW_160,
|
|
+ NL80211_RU_PUNCT_SUPP_BW_320,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum nl80211_beacon_tx_mode - Beacon Tx Mode enum.
|
|
+ * Used to configure beacon staggered mode or beacon burst mode.
|
|
+ */
|
|
+enum nl80211_beacon_tx_mode {
|
|
+ NL80211_BEACON_STAGGERED_MODE = 1,
|
|
+ NL80211_BEACON_BURST_MODE = 2,
|
|
+};
|
|
+
|
|
+/**
|
|
* nl80211_multi_hw_mac_attrs - multi-hw mac attributes
|
|
*
|
|
+ *
|
|
* @NL80211_MULTI_HW_MAC_ATTR_INVALID: invalid
|
|
* @NL80211_MULTI_HW_MAC_ATTR_IDX: (u8) array index in wiphy @hw_chans to refer an
|
|
* underlying hw mac for which the supported channel list is advertised.
|
|
@@ -7997,15 +8176,14 @@ enum nl80211_ap_settings_flags {
|
|
* @NL80211_MULTI_HW_MAC_ATTR_MAX: maximum multi-hw mac attribute
|
|
*/
|
|
enum nl80211_multi_hw_mac_attrs {
|
|
- __NL80211_MULTI_HW_MAC_ATTR_INVALID,
|
|
+ __NL80211_MULTI_HW_MAC_ATTR_INVALID,
|
|
|
|
- NL80211_MULTI_HW_MAC_ATTR_IDX,
|
|
- NL80211_MULTI_HW_MAC_ATTR_CHAN_LIST,
|
|
+ NL80211_MULTI_HW_MAC_ATTR_IDX,
|
|
+ NL80211_MULTI_HW_MAC_ATTR_CHAN_LIST,
|
|
|
|
- /* keep last */
|
|
- __NL80211_MULTI_HW_MAC_ATTR_LAST,
|
|
- NL80211_MULTI_HW_MAC_ATTR_MAX =
|
|
- __NL80211_MULTI_HW_MAC_ATTR_LAST - 1
|
|
+ /* keep last */
|
|
+ __NL80211_MULTI_HW_MAC_ATTR_LAST,
|
|
+ NL80211_MULTI_HW_MAC_ATTR_MAX = __NL80211_MULTI_HW_MAC_ATTR_LAST - 1
|
|
};
|
|
|
|
/**
|
|
@@ -8017,13 +8195,171 @@ enum nl80211_multi_hw_mac_attrs {
|
|
* @NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_MAX: maximum channel attribute
|
|
*/
|
|
enum nl80211_multi_hw_mac_chan_list_attrs {
|
|
- __NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_INVALID,
|
|
+ __NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_INVALID,
|
|
+
|
|
+ NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_FREQ,
|
|
+
|
|
+ /* keep last */
|
|
+ __NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_LAST,
|
|
+ NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_MAX =
|
|
+ __NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_LAST - 1
|
|
+};
|
|
+
|
|
+/**
|
|
+ * nl80211_cu_attrs - critical update attributes
|
|
+ *
|
|
+ *
|
|
+ * @__NL80211_CU_ATTR_INVALID: invalid
|
|
+ * @NL80211_CU_ATTR_MLD_LIST: nested attribute specifying list of mld,
|
|
+ * see &enum nl80211_mld_list_cu_attrs
|
|
+ * @__NL80211_CU_ATTR_LAST: internal use
|
|
+ * @NL80211_CU_ATTR_MAX: maximum critical update attribute
|
|
+ */
|
|
+enum nl80211_cu_attrs {
|
|
+ __NL80211_CU_ATTR_INVALID,
|
|
+
|
|
+ NL80211_CU_ATTR_MLD_LIST,
|
|
+
|
|
+ /* keep last */
|
|
+ __NL80211_CU_ATTR_LAST,
|
|
+ NL80211_CU_ATTR_MAX = __NL80211_CU_ATTR_LAST - 1
|
|
+};
|
|
|
|
- NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_FREQ,
|
|
+/**
|
|
+ * nl80211_cu_mld_attrs - per mld critical update attributes
|
|
+ *
|
|
+ * @__NL80211_CU_MLD_ATTR_INVALID: invalid
|
|
+ * @NL80211_CU_MLD_ATTR_IFINDEX: network interface index of the device to operate on
|
|
+ * @NL80211_CU_MLD_ATTR_LINK_LIST: nested attribute specifying list of links
|
|
+ * on each mld, see &enum nl80211_cu_mld_link_attrs
|
|
+ * @__NL80211_CU_MLD_ATTR_LAST: internal use
|
|
+ * @NL80211_CU_MLD_ATTR_MAX: maximum per mld critical update attribute
|
|
+ */
|
|
+enum nl80211_cu_mld_attrs {
|
|
+ __NL80211_CU_MLD_ATTR_INVALID,
|
|
+
|
|
+ NL80211_CU_MLD_ATTR_IFINDEX,
|
|
+ NL80211_CU_MLD_ATTR_LINK_LIST,
|
|
|
|
/* keep last */
|
|
- __NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_LAST,
|
|
- NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_MAX =
|
|
- __NL80211_MULTI_HW_MAC_CHAN_LIST_ATTR_LAST - 1
|
|
+ __NL80211_CU_MLD_ATTR_LAST,
|
|
+ NL80211_CU_MLD_ATTR_MAX = __NL80211_CU_MLD_ATTR_LAST - 1
|
|
};
|
|
+
|
|
+/**
|
|
+ * nl80211_cu_mld_link_attrs - per link critical update attributes
|
|
+ *
|
|
+ * @__NL80211_CU_MLD_LINK_ATTR_INVALID: invalid
|
|
+ * @NL80211_CU_MLD_LINK_ATTR_ID: Link Id
|
|
+ * @NL80211_CU_MLD_LINK_ATTR_CRITICAL_FLAG: critical flag value
|
|
+ * @NL80211_CU_MLD_LINK_ATTR_BPCC: BSS parameter change count value
|
|
+ * @NL80211_CU_MLD_LINK_ATTR_SWITCH_COUNT: CSA/CCA switch count
|
|
+ * @__NL80211_CU_MLD_LINK_ATTR_LAST: internal use
|
|
+ * @NL80211_CU_MLD_LINK ATTR_MAX: maximum per link critical update attribute
|
|
+ */
|
|
+enum nl80211_cu_mld_link_attrs {
|
|
+ __NL80211_CU_MLD_LINK_ATTR_INVALID,
|
|
+
|
|
+ NL80211_CU_MLD_LINK_ATTR_ID,
|
|
+ NL80211_CU_MLD_LINK_ATTR_CRITICAL_FLAG,
|
|
+ NL80211_CU_MLD_LINK_ATTR_BPCC,
|
|
+ NL80211_CU_MLD_LINK_ATTR_SWITCH_COUNT,
|
|
+
|
|
+ /* keep last */
|
|
+ __NL80211_CU_MLD_LINK_ATTR_LAST,
|
|
+ NL80211_CU_MLD_LINK_ATTR_MAX = __NL80211_CU_MLD_LINK_ATTR_LAST - 1
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum nl80211_set_cu_attrs - set critical update attributes
|
|
+ *
|
|
+ * @NL80211_ATTR_SET_CU_ELEM_ADDED_BMAP: Bitmap of interfaces to which critical update
|
|
+ * happened due to addition of new beacon element. Bit 0 represents the (TX) interface
|
|
+ * in which the attribute is received. Other bits represents the MBSSID index of NON-TX
|
|
+ * BSSes in case this attribute is carried as part of set/update beacon for an
|
|
+ * MBSSID group's TX VAP.
|
|
+ *
|
|
+ * @NL80211_ATTR_SET_CU_ELEM_MODIFIED_BMAP: Bitmap of interfaces to which critical update
|
|
+ * happened due to modification of existing beacon element.
|
|
+ *
|
|
+ * @__NL80211_CU_MLD_LINK_ATTR_LAST : internal use
|
|
+ * @NL80211_SET_CU_ATTR_MAX : maximum set critical update attributes
|
|
+ *
|
|
+ */
|
|
+enum nl80211_set_cu_attrs {
|
|
+ __NL80211_SET_CU_ATTR_INVALID,
|
|
+
|
|
+ NL80211_SET_CU_ATTR_ELEM_ADDED_BMAP,
|
|
+ NL80211_SET_CU_ATTR_ELEM_MODIFIED_BMAP,
|
|
+
|
|
+ /* keep last */
|
|
+ __NL80211_SET_CU_ATTR_LAST,
|
|
+ NL80211_SET_CU_ATTR_MAX = __NL80211_SET_CU_ATTR_LAST - 1
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum nl80211_interference_type -
|
|
+ *
|
|
+ * @NL80211_CW_INTERFERENCE_DETECTED : Continous Wave Interference Detected.
|
|
+ * @NL80211_AWGN_INTERFERENCE_DETECTED : AWGN Interference Detected.
|
|
+*/
|
|
+enum nl80211_interference_type {
|
|
+ NL80211_INTERFERENCE_TYPE_INVALID,
|
|
+ NL80211_INTERFERENCE_TYPE_CW,
|
|
+ NL80211_INTERFERENCE_TYPE_AWGN,
|
|
+
|
|
+ NL80211_INTERFERENCE_TYPE_LAST,
|
|
+ NL80211_INTERFERENCE_TYPE_MAX = NL80211_INTERFERENCE_TYPE_LAST - 1,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum nl80211_wiphy_radio_attrs - wiphy radio attributes
|
|
+ *
|
|
+ * @__NL80211_WIPHY_RADIO_ATTR_INVALID: Invalid
|
|
+ *
|
|
+ * @NL80211_WIPHY_RADIO_ATTR_INDEX: Index of this radio (u32)
|
|
+ * @NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE: Frequency range supported by this
|
|
+ * radio. Attribute may be present multiple times.
|
|
+ * @NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION: Supported interface
|
|
+ * combination for this radio. Attribute may be present multiple times
|
|
+ * and contains attributes defined in &enum nl80211_if_combination_attrs.
|
|
+ *
|
|
+ * @__NL80211_WIPHY_RADIO_ATTR_LAST: Internal
|
|
+ * @NL80211_WIPHY_RADIO_ATTR_MAX: Highest attribute
|
|
+ */
|
|
+enum nl80211_wiphy_radio_attrs {
|
|
+ __NL80211_WIPHY_RADIO_ATTR_INVALID,
|
|
+
|
|
+ NL80211_WIPHY_RADIO_ATTR_INDEX,
|
|
+ NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE,
|
|
+ NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION,
|
|
+
|
|
+ /* keep last */
|
|
+ __NL80211_WIPHY_RADIO_ATTR_LAST,
|
|
+ NL80211_WIPHY_RADIO_ATTR_MAX = __NL80211_WIPHY_RADIO_ATTR_LAST - 1,
|
|
+};
|
|
+
|
|
+/**
|
|
+ * enum nl80211_wiphy_radio_freq_range - wiphy radio frequency range
|
|
+ *
|
|
+ * @__NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID: Invalid
|
|
+ *
|
|
+ * @NL80211_WIPHY_RADIO_FREQ_ATTR_START: Frequency range start (u32).
|
|
+ * The unit is kHz.
|
|
+ * @NL80211_WIPHY_RADIO_FREQ_ATTR_END: Frequency range end (u32).
|
|
+ * The unit is kHz.
|
|
+ *
|
|
+ * @__NL80211_WIPHY_RADIO_FREQ_ATTR_LAST: Internal
|
|
+ * @NL80211_WIPHY_RADIO_FREQ_ATTR_MAX: Highest attribute
|
|
+ */
|
|
+enum nl80211_wiphy_radio_freq_range {
|
|
+ __NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID,
|
|
+
|
|
+ NL80211_WIPHY_RADIO_FREQ_ATTR_START,
|
|
+ NL80211_WIPHY_RADIO_FREQ_ATTR_END,
|
|
+
|
|
+ __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST,
|
|
+ NL80211_WIPHY_RADIO_FREQ_ATTR_MAX = __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST - 1,
|
|
+};
|
|
+
|
|
#endif /* __LINUX_NL80211_H */
|