iw: bump to 5.19
7e06706 iw: event: report missing radar events 5909e73 iw: survey: add support for radio stats 64bf570 update nl80211.h 0900996 iw: print Radar background capability if supported 56c6077 iw: print out assoc comeback event a4e5418 iw: support 160MHz frequency command for 6GHz band 5a71b72 iw: Print local EHT capabilities e3287a1 station: print EHT rate information ff67fb2 iw: fix double tab in mesh path header 05a5267 iw: fix 'upto' -> 'up to' 00a2985 iw: handle VHT extended NSS 82e0bd1 update nl80211.h c95877c info: add missing extended features 0976378 info: refactor extended features 79f20cb bump version to 5.19 Sync nl80211.h with our version of mac80211 and remove parts of the iw code that are not supported by our version of mac80211. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry picked from commit bbce9f84ecf4d20122e7c8c0a769a7544eb218f8) Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
parent
3eb87af37e
commit
7c3b0a7c2e
@ -8,13 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=iw
|
||||
PKG_VERSION:=5.9-8fab0c9e
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git
|
||||
PKG_SOURCE_VERSION:=8fab0c9ee9db217587a58efcc37421c86edcb638
|
||||
PKG_MIRROR_HASH:=797b322bc03952f3127ae0a7da476c14ada1bbe9a9ae234a56dd6f864c568e16
|
||||
PKG_VERSION:=5.19
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/software/network/iw
|
||||
PKG_HASH:=f167bbe947dd53bb9ebc0c1dcef5db6ad73ac1d6084f2c6f9376c5c360cc4d4e
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
@ -1,345 +1,554 @@
|
||||
--- a/nl80211.h
|
||||
+++ b/nl80211.h
|
||||
@@ -655,6 +655,9 @@
|
||||
* When a security association was established on an 802.1X network using
|
||||
* fast transition, this event should be followed by an
|
||||
* %NL80211_CMD_PORT_AUTHORIZED event.
|
||||
+ * Following a %NL80211_CMD_ROAM event userspace can issue
|
||||
+ * %NL80211_CMD_GET_SCAN in order to obtain the scan information for the
|
||||
+ * new BSS the card/driver roamed to.
|
||||
* @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
|
||||
* userspace that a connection was dropped by the AP or due to other
|
||||
* reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and
|
||||
@@ -757,7 +760,8 @@
|
||||
* of any other interfaces, and other interfaces will again take
|
||||
* precedence when they are used.
|
||||
@@ -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-2021 Intel Corporation
|
||||
*
|
||||
- * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface.
|
||||
+ * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface
|
||||
+ * (no longer supported).
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -301,29 +301,6 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
- * DOC: FILS shared key crypto offload
|
||||
- *
|
||||
- * This feature is applicable to drivers running in AP mode.
|
||||
- *
|
||||
- * FILS shared key crypto offload can be advertised by drivers by setting
|
||||
- * @NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD flag. The drivers that support
|
||||
- * FILS shared key crypto offload should be able to encrypt and decrypt
|
||||
- * association frames for FILS shared key authentication as per IEEE 802.11ai.
|
||||
- * With this capability, for FILS key derivation, drivers depend on userspace.
|
||||
- *
|
||||
- * After FILS key derivation, userspace shares the FILS AAD details with the
|
||||
- * driver and the driver stores the same to use in decryption of association
|
||||
- * request and in encryption of association response. The below parameters
|
||||
- * should be given to the driver in %NL80211_CMD_SET_FILS_AAD.
|
||||
- * %NL80211_ATTR_MAC - STA MAC address, used for storing FILS AAD per STA
|
||||
- * %NL80211_ATTR_FILS_KEK - Used for encryption or decryption
|
||||
- * %NL80211_ATTR_FILS_NONCES - Used for encryption or decryption
|
||||
- * (STA Nonce 16 bytes followed by AP Nonce 16 bytes)
|
||||
- *
|
||||
- * Once the association is done, the driver cleans the FILS AAD data.
|
||||
- */
|
||||
-
|
||||
-/**
|
||||
* enum nl80211_commands - supported nl80211 commands
|
||||
*
|
||||
* @NL80211_CMD_SET_MULTICAST_TO_UNICAST: Configure if this AP should perform
|
||||
* multicast to unicast conversion. When enabled, all multicast packets
|
||||
@@ -1177,6 +1181,25 @@
|
||||
* includes the contents of the frame. %NL80211_ATTR_ACK flag is included
|
||||
* if the recipient acknowledged the frame.
|
||||
* @NL80211_CMD_UNSPEC: unspecified command to catch errors
|
||||
@@ -1226,17 +1203,6 @@
|
||||
* @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change
|
||||
* has completed
|
||||
*
|
||||
+ * @NL80211_CMD_SET_SAR_SPECS: SAR power limitation configuration is
|
||||
+ * passed using %NL80211_ATTR_SAR_SPEC. %NL80211_ATTR_WIPHY is used to
|
||||
+ * specify the wiphy index to be applied to.
|
||||
+ *
|
||||
+ * @NL80211_CMD_OBSS_COLOR_COLLISION: This notification is sent out whenever
|
||||
+ * mac80211/drv detects a bss color collision.
|
||||
+ *
|
||||
+ * @NL80211_CMD_COLOR_CHANGE_REQUEST: This command is used to indicate that
|
||||
+ * userspace wants to change the BSS color.
|
||||
+ *
|
||||
+ * @NL80211_CMD_COLOR_CHANGE_STARTED: Notify userland, that a color change has
|
||||
+ * started
|
||||
+ *
|
||||
+ * @NL80211_CMD_COLOR_CHANGE_ABORTED: Notify userland, that the color change has
|
||||
+ * been aborted
|
||||
+ *
|
||||
+ * @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change
|
||||
+ * has completed
|
||||
+ *
|
||||
- * @NL80211_CMD_SET_FILS_AAD: Set FILS AAD data to the driver using -
|
||||
- * &NL80211_ATTR_MAC - for STA MAC address
|
||||
- * &NL80211_ATTR_FILS_KEK - for KEK
|
||||
- * &NL80211_ATTR_FILS_NONCES - for FILS Nonces
|
||||
- * (STA Nonce 16 bytes followed by AP Nonce 16 bytes)
|
||||
- *
|
||||
- * @NL80211_CMD_ASSOC_COMEBACK: notification about an association
|
||||
- * temporal rejection with comeback. The event includes %NL80211_ATTR_MAC
|
||||
- * to describe the BSSID address of the AP and %NL80211_ATTR_TIMEOUT to
|
||||
- * specify the timeout value.
|
||||
- *
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -1407,6 +1430,16 @@ enum nl80211_commands {
|
||||
@@ -1477,10 +1443,6 @@ enum nl80211_commands {
|
||||
NL80211_CMD_COLOR_CHANGE_ABORTED,
|
||||
NL80211_CMD_COLOR_CHANGE_COMPLETED,
|
||||
|
||||
NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS,
|
||||
|
||||
+ NL80211_CMD_SET_SAR_SPECS,
|
||||
+
|
||||
+ NL80211_CMD_OBSS_COLOR_COLLISION,
|
||||
+
|
||||
+ NL80211_CMD_COLOR_CHANGE_REQUEST,
|
||||
+
|
||||
+ NL80211_CMD_COLOR_CHANGE_STARTED,
|
||||
+ NL80211_CMD_COLOR_CHANGE_ABORTED,
|
||||
+ NL80211_CMD_COLOR_CHANGE_COMPLETED,
|
||||
+
|
||||
- NL80211_CMD_SET_FILS_AAD,
|
||||
-
|
||||
- NL80211_CMD_ASSOC_COMEBACK,
|
||||
-
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@@ -1750,8 +1783,9 @@ enum nl80211_commands {
|
||||
* specify just a single bitrate, which is to be used for the beacon.
|
||||
* The driver must also specify support for this with the extended
|
||||
* features NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
|
||||
- * NL80211_EXT_FEATURE_BEACON_RATE_HT and
|
||||
- * NL80211_EXT_FEATURE_BEACON_RATE_VHT.
|
||||
+ * NL80211_EXT_FEATURE_BEACON_RATE_HT,
|
||||
+ * NL80211_EXT_FEATURE_BEACON_RATE_VHT and
|
||||
+ * NL80211_EXT_FEATURE_BEACON_RATE_HE.
|
||||
@@ -2477,9 +2439,7 @@ enum nl80211_commands {
|
||||
* space supports external authentication. This attribute shall be used
|
||||
* with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
|
||||
* may offload authentication processing to user space if this capability
|
||||
- * is indicated in the respective requests from the user space. (This flag
|
||||
- * attribute deprecated for %NL80211_CMD_START_AP, use
|
||||
- * %NL80211_ATTR_AP_SETTINGS_FLAGS)
|
||||
+ * is indicated in the respective requests from the user space.
|
||||
*
|
||||
* @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain
|
||||
* at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME.
|
||||
@@ -1955,8 +1989,15 @@ enum nl80211_commands {
|
||||
* @NL80211_ATTR_PROBE_RESP: Probe Response template data. Contains the entire
|
||||
* probe-response frame. The DA field in the 802.11 header is zero-ed out,
|
||||
* to be filled by the FW.
|
||||
- * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable
|
||||
- * this feature. Currently, only supported in mac80211 drivers.
|
||||
+ * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable
|
||||
+ * this feature during association. This is a flag attribute.
|
||||
+ * Currently only supported in mac80211 drivers.
|
||||
+ * @NL80211_ATTR_DISABLE_VHT: Force VHT capable interfaces to disable
|
||||
+ * this feature during association. This is a flag attribute.
|
||||
+ * Currently only supported in mac80211 drivers.
|
||||
+ * @NL80211_ATTR_DISABLE_HE: Force HE capable interfaces to disable
|
||||
+ * this feature during association. This is a flag attribute.
|
||||
+ * Currently only supported in mac80211 drivers.
|
||||
* @NL80211_ATTR_HT_CAPABILITY_MASK: Specify which bits of the
|
||||
* ATTR_HT_CAPABILITY to which attention should be paid.
|
||||
* Currently, only mac80211 NICs support this feature.
|
||||
@@ -2077,7 +2118,8 @@ enum nl80211_commands {
|
||||
* until the channel switch event.
|
||||
* @NL80211_ATTR_CH_SWITCH_BLOCK_TX: flag attribute specifying that transmission
|
||||
* must be blocked on the current channel (before the channel switch
|
||||
- * operation).
|
||||
+ * operation). Also included in the channel switch started event if quiet
|
||||
+ * was requested by the AP.
|
||||
* @NL80211_ATTR_CSA_IES: Nested set of attributes containing the IE information
|
||||
* for the time while performing a channel switch.
|
||||
* @NL80211_ATTR_CNTDWN_OFFS_BEACON: An array of offsets (u16) to the channel
|
||||
@@ -2527,6 +2569,33 @@ enum nl80211_commands {
|
||||
* override mask. Used with NL80211_ATTR_S1G_CAPABILITY in
|
||||
* NL80211_CMD_ASSOCIATE or NL80211_CMD_CONNECT.
|
||||
* @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
|
||||
* u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
|
||||
@@ -2655,13 +2615,8 @@ enum nl80211_commands {
|
||||
* switching on a different channel during CAC detection on the selected
|
||||
* radar channel.
|
||||
*
|
||||
+ * @NL80211_ATTR_SAE_PWE: Indicates the mechanism(s) allowed for SAE PWE
|
||||
+ * derivation in WPA3-Personal networks which are using SAE authentication.
|
||||
+ * This is a u8 attribute that encapsulates one of the values from
|
||||
+ * &enum nl80211_sae_pwe_mechanism.
|
||||
+ *
|
||||
+ * @NL80211_ATTR_SAR_SPEC: SAR power limitation specification when
|
||||
+ * used with %NL80211_CMD_SET_SAR_SPECS. The message contains fields
|
||||
+ * of %nl80211_sar_attrs which specifies the sar type and related
|
||||
+ * sar specs. Sar specs contains array of %nl80211_sar_specs_attrs.
|
||||
+ *
|
||||
+ * @NL80211_ATTR_RECONNECT_REQUESTED: flag attribute, used with deauth and
|
||||
+ * disassoc events to indicate that an immediate reconnect to the AP
|
||||
+ * is desired.
|
||||
+ *
|
||||
+ * @NL80211_ATTR_OBSS_COLOR_BITMAP: bitmap of the u64 BSS colors for the
|
||||
+ * %NL80211_CMD_OBSS_COLOR_COLLISION event.
|
||||
+ *
|
||||
+ * @NL80211_ATTR_COLOR_CHANGE_COUNT: u8 attribute specifying the number of TBTT's
|
||||
+ * until the color switch event.
|
||||
+ * @NL80211_ATTR_COLOR_CHANGE_COLOR: u8 attribute specifying the color that we are
|
||||
+ * switching to
|
||||
+ * @NL80211_ATTR_COLOR_CHANGE_ELEMS: Nested set of attributes containing the IE
|
||||
+ * information for the time while performing a color switch.
|
||||
+ *
|
||||
- * @NL80211_ATTR_AP_SETTINGS_FLAGS: u32 attribute contains ap settings flags,
|
||||
- * enumerated in &enum nl80211_ap_settings_flags. This attribute shall be
|
||||
- * used with %NL80211_CMD_START_AP request.
|
||||
- *
|
||||
- * @NL80211_ATTR_EHT_CAPABILITY: EHT Capability information element (from
|
||||
- * association request when used with NL80211_CMD_NEW_STATION). Can be set
|
||||
- * only if %NL80211_STA_FLAG_WME is set.
|
||||
+ * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce
|
||||
+ * transmit power to stay within regulatory limits. u32, dBi.
|
||||
+ *
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -3016,6 +3085,22 @@ enum nl80211_attrs {
|
||||
NL80211_ATTR_S1G_CAPABILITY,
|
||||
NL80211_ATTR_S1G_CAPABILITY_MASK,
|
||||
@@ -3171,11 +3126,7 @@ enum nl80211_attrs {
|
||||
|
||||
+ NL80211_ATTR_SAE_PWE,
|
||||
+
|
||||
+ NL80211_ATTR_RECONNECT_REQUESTED,
|
||||
+
|
||||
+ NL80211_ATTR_SAR_SPEC,
|
||||
+
|
||||
+ NL80211_ATTR_DISABLE_HE,
|
||||
+
|
||||
+ NL80211_ATTR_OBSS_COLOR_BITMAP,
|
||||
+
|
||||
+ NL80211_ATTR_COLOR_CHANGE_COUNT,
|
||||
+ NL80211_ATTR_COLOR_CHANGE_COLOR,
|
||||
+ NL80211_ATTR_COLOR_CHANGE_ELEMS,
|
||||
+
|
||||
NL80211_ATTR_RADAR_BACKGROUND,
|
||||
|
||||
- NL80211_ATTR_AP_SETTINGS_FLAGS,
|
||||
-
|
||||
- NL80211_ATTR_EHT_CAPABILITY,
|
||||
-
|
||||
- NL80211_ATTR_DISABLE_EHT,
|
||||
+ NL80211_ATTR_WIPHY_ANTENNA_GAIN,
|
||||
+
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -5896,6 +5981,22 @@ enum nl80211_feature_flags {
|
||||
* @NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP: Driver/device supports
|
||||
* unsolicited broadcast probe response transmission
|
||||
*
|
||||
+ * @NL80211_EXT_FEATURE_BEACON_RATE_HE: Driver supports beacon rate
|
||||
+ * configuration (AP/mesh) with HE rates.
|
||||
+ *
|
||||
+ * @NL80211_EXT_FEATURE_SECURE_LTF: Device supports secure LTF measurement
|
||||
+ * exchange protocol.
|
||||
+ *
|
||||
+ * @NL80211_EXT_FEATURE_SECURE_RTT: Device supports secure RTT measurement
|
||||
+ * exchange protocol.
|
||||
+ *
|
||||
+ * @NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE: Device supports management
|
||||
+ * frame protection for all management frames exchanged during the
|
||||
+ * negotiation and range measurement procedure.
|
||||
+ *
|
||||
+ * @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision
|
||||
+ * detection and change announcemnts.
|
||||
+ *
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
*/
|
||||
@@ -5956,6 +6057,11 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_SAE_OFFLOAD_AP,
|
||||
NL80211_EXT_FEATURE_FILS_DISCOVERY,
|
||||
NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP,
|
||||
+ NL80211_EXT_FEATURE_BEACON_RATE_HE,
|
||||
+ NL80211_EXT_FEATURE_SECURE_LTF,
|
||||
+ NL80211_EXT_FEATURE_SECURE_RTT,
|
||||
+ NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,
|
||||
+ NL80211_EXT_FEATURE_BSS_COLOR,
|
||||
@@ -3232,8 +3183,6 @@ enum nl80211_attrs {
|
||||
#define NL80211_HE_MAX_CAPABILITY_LEN 54
|
||||
#define NL80211_MAX_NR_CIPHER_SUITES 5
|
||||
#define NL80211_MAX_NR_AKM_SUITES 2
|
||||
-#define NL80211_EHT_MIN_CAPABILITY_LEN 13
|
||||
-#define NL80211_EHT_MAX_CAPABILITY_LEN 51
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
@@ -6253,11 +6359,13 @@ struct nl80211_vendor_cmd_info {
|
||||
* @NL80211_TDLS_PEER_HT: TDLS peer is HT capable.
|
||||
* @NL80211_TDLS_PEER_VHT: TDLS peer is VHT capable.
|
||||
* @NL80211_TDLS_PEER_WMM: TDLS peer is WMM capable.
|
||||
+ * @NL80211_TDLS_PEER_HE: TDLS peer is HE capable.
|
||||
*/
|
||||
enum nl80211_tdls_peer_capability {
|
||||
NL80211_TDLS_PEER_HT = 1<<0,
|
||||
NL80211_TDLS_PEER_VHT = 1<<1,
|
||||
NL80211_TDLS_PEER_WMM = 1<<2,
|
||||
+ NL80211_TDLS_PEER_HE = 1<<3,
|
||||
#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10
|
||||
|
||||
@@ -3261,7 +3210,7 @@ enum nl80211_attrs {
|
||||
* and therefore can't be created in the normal ways, use the
|
||||
* %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE
|
||||
* commands to create and destroy one
|
||||
- * @NL80211_IFTYPE_OCB: Outside Context of a BSS
|
||||
+ * @NL80211_IF_TYPE_OCB: Outside Context of a BSS
|
||||
* This mode corresponds to the MIB variable dot11OCBActivated=true
|
||||
* @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev)
|
||||
* @NL80211_IFTYPE_MAX: highest interface type number currently defined
|
||||
@@ -3403,56 +3352,6 @@ enum nl80211_he_ru_alloc {
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -6849,6 +6957,9 @@ enum nl80211_peer_measurement_ftm_capa {
|
||||
* if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
|
||||
* %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
|
||||
* ranging will be used.
|
||||
+ * @NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK: negotiate for LMR feedback. Only
|
||||
+ * valid if either %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED or
|
||||
+ * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set.
|
||||
- * enum nl80211_eht_gi - EHT guard interval
|
||||
- * @NL80211_RATE_INFO_EHT_GI_0_8: 0.8 usec
|
||||
- * @NL80211_RATE_INFO_EHT_GI_1_6: 1.6 usec
|
||||
- * @NL80211_RATE_INFO_EHT_GI_3_2: 3.2 usec
|
||||
- */
|
||||
-enum nl80211_eht_gi {
|
||||
- NL80211_RATE_INFO_EHT_GI_0_8,
|
||||
- NL80211_RATE_INFO_EHT_GI_1_6,
|
||||
- NL80211_RATE_INFO_EHT_GI_3_2,
|
||||
-};
|
||||
-
|
||||
-/**
|
||||
- * 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
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_52P26: 52+26-tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106: 106-tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106P26: 106+26 tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_242: 242-tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484: 484-tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484P242: 484+242 tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996: 996-tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484: 996+484 tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242: 996+484+242 tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996: 2x996-tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484: 2x996+484 tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996: 3x996-tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484: 3x996+484 tone RU allocation
|
||||
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_4x996: 4x996-tone RU allocation
|
||||
- */
|
||||
-enum nl80211_eht_ru_alloc {
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_26,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_52,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_52P26,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_106,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_106P26,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_242,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_484,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_484P242,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_996,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC_4x996,
|
||||
-};
|
||||
-
|
||||
-/**
|
||||
* enum nl80211_rate_info - bitrate information
|
||||
*
|
||||
* @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
|
||||
* @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
|
||||
@@ -6867,6 +6978,7 @@ enum nl80211_peer_measurement_ftm_req {
|
||||
NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
|
||||
NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
|
||||
+ NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK,
|
||||
* These attribute types are used with %NL80211_STA_INFO_TXRATE
|
||||
@@ -3491,13 +3390,6 @@ enum nl80211_eht_ru_alloc {
|
||||
* @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1)
|
||||
* @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then
|
||||
* non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc)
|
||||
- * @NL80211_RATE_INFO_320_MHZ_WIDTH: 320 MHz bitrate
|
||||
- * @NL80211_RATE_INFO_EHT_MCS: EHT MCS index (u8, 0-15)
|
||||
- * @NL80211_RATE_INFO_EHT_NSS: EHT NSS value (u8, 1-8)
|
||||
- * @NL80211_RATE_INFO_EHT_GI: EHT guard interval identifier
|
||||
- * (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_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_rate_info {
|
||||
@@ -3519,11 +3411,6 @@ enum nl80211_rate_info {
|
||||
NL80211_RATE_INFO_HE_GI,
|
||||
NL80211_RATE_INFO_HE_DCM,
|
||||
NL80211_RATE_INFO_HE_RU_ALLOC,
|
||||
- NL80211_RATE_INFO_320_MHZ_WIDTH,
|
||||
- NL80211_RATE_INFO_EHT_MCS,
|
||||
- NL80211_RATE_INFO_EHT_NSS,
|
||||
- NL80211_RATE_INFO_EHT_GI,
|
||||
- NL80211_RATE_INFO_EHT_RU_ALLOC,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_PMSR_FTM_REQ_ATTR,
|
||||
@@ -7124,4 +7236,115 @@ enum nl80211_unsol_bcast_probe_resp_attr
|
||||
NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX =
|
||||
__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST - 1
|
||||
__NL80211_RATE_INFO_AFTER_LAST,
|
||||
@@ -3834,20 +3721,13 @@ enum nl80211_mpath_info {
|
||||
* capabilities IE
|
||||
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as
|
||||
* defined in HE capabilities IE
|
||||
+ * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently
|
||||
+ * defined
|
||||
* @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),
|
||||
* given for all 6 GHz band channels
|
||||
* @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are
|
||||
* advertised on this band/for this iftype (binary)
|
||||
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC: EHT MAC capabilities as in EHT
|
||||
- * capabilities element
|
||||
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY: EHT PHY capabilities as in EHT
|
||||
- * capabilities element
|
||||
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET: EHT supported NSS/MCS as in EHT
|
||||
- * capabilities element
|
||||
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE: EHT PPE thresholds information as
|
||||
- * defined in EHT capabilities element
|
||||
* @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
|
||||
- * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band attribute currently defined
|
||||
*/
|
||||
enum nl80211_band_iftype_attr {
|
||||
__NL80211_BAND_IFTYPE_ATTR_INVALID,
|
||||
@@ -3859,10 +3739,6 @@ enum nl80211_band_iftype_attr {
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
|
||||
NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,
|
||||
NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS,
|
||||
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC,
|
||||
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY,
|
||||
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET,
|
||||
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
|
||||
@@ -4007,10 +3883,6 @@ enum nl80211_wmm_rule {
|
||||
* on this channel in current regulatory domain.
|
||||
* @NL80211_FREQUENCY_ATTR_16MHZ: 16 MHz operation is allowed
|
||||
* on this channel in current regulatory domain.
|
||||
- * @NL80211_FREQUENCY_ATTR_NO_320MHZ: any 320 MHz channel using this channel
|
||||
- * 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_MAX: highest frequency attribute number
|
||||
* currently defined
|
||||
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
||||
@@ -4047,8 +3919,6 @@ enum nl80211_frequency_attr {
|
||||
NL80211_FREQUENCY_ATTR_4MHZ,
|
||||
NL80211_FREQUENCY_ATTR_8MHZ,
|
||||
NL80211_FREQUENCY_ATTR_16MHZ,
|
||||
- NL80211_FREQUENCY_ATTR_NO_320MHZ,
|
||||
- NL80211_FREQUENCY_ATTR_NO_EHT,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
||||
@@ -4247,7 +4117,6 @@ enum nl80211_sched_scan_match_attr {
|
||||
* @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
|
||||
* @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
|
||||
* @NL80211_RRF_NO_HE: HE operation not allowed
|
||||
- * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
|
||||
*/
|
||||
enum nl80211_reg_rule_flags {
|
||||
NL80211_RRF_NO_OFDM = 1<<0,
|
||||
@@ -4266,7 +4135,6 @@ enum nl80211_reg_rule_flags {
|
||||
NL80211_RRF_NO_80MHZ = 1<<15,
|
||||
NL80211_RRF_NO_160MHZ = 1<<16,
|
||||
NL80211_RRF_NO_HE = 1<<17,
|
||||
- NL80211_RRF_NO_320MHZ = 1<<18,
|
||||
};
|
||||
|
||||
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
||||
@@ -4764,8 +4632,6 @@ enum nl80211_key_mode {
|
||||
* @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel
|
||||
* @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel
|
||||
- * @NL80211_CHAN_WIDTH_320: 320 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
|
||||
- * attribute must be provided as well
|
||||
*/
|
||||
enum nl80211_chan_width {
|
||||
NL80211_CHAN_WIDTH_20_NOHT,
|
||||
@@ -4781,7 +4647,6 @@ enum nl80211_chan_width {
|
||||
NL80211_CHAN_WIDTH_4,
|
||||
NL80211_CHAN_WIDTH_8,
|
||||
NL80211_CHAN_WIDTH_16,
|
||||
- NL80211_CHAN_WIDTH_320,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -5096,7 +4961,6 @@ enum nl80211_txrate_gi {
|
||||
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
|
||||
* @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
|
||||
* @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs
|
||||
- * @NL80211_BAND_LC: light communication band (placeholder)
|
||||
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
|
||||
* since newer kernel versions may support more bands
|
||||
*/
|
||||
@@ -5106,7 +4970,6 @@ enum nl80211_band {
|
||||
NL80211_BAND_60GHZ,
|
||||
NL80211_BAND_6GHZ,
|
||||
NL80211_BAND_S1GHZ,
|
||||
- NL80211_BAND_LC,
|
||||
|
||||
NUM_NL80211_BANDS,
|
||||
};
|
||||
@@ -5673,7 +5536,7 @@ enum nl80211_iface_limit_attrs {
|
||||
* => allows 8 of AP/GO that can have BI gcd >= min gcd
|
||||
*
|
||||
* numbers = [ #{STA} <= 2 ], channels = 2, max = 2
|
||||
- * => allows two STAs on the same or on different channels
|
||||
+ * => allows two STAs on different channels
|
||||
*
|
||||
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
|
||||
* => allows a STA plus three P2P interfaces
|
||||
@@ -5718,7 +5581,7 @@ enum nl80211_if_combination_attrs {
|
||||
* @NL80211_PLINK_ESTAB: mesh peer link is established
|
||||
* @NL80211_PLINK_HOLDING: mesh peer link is being closed or cancelled
|
||||
* @NL80211_PLINK_BLOCKED: all frames transmitted from this mesh
|
||||
- * plink are discarded, except for authentication frames
|
||||
+ * plink are discarded
|
||||
* @NUM_NL80211_PLINK_STATES: number of peer link states
|
||||
* @MAX_NL80211_PLINK_STATES: highest numerical value of plink states
|
||||
*/
|
||||
@@ -5855,15 +5718,13 @@ enum nl80211_tdls_operation {
|
||||
NL80211_TDLS_DISABLE_LINK,
|
||||
};
|
||||
|
||||
-/**
|
||||
+/*
|
||||
* enum nl80211_ap_sme_features - device-integrated AP features
|
||||
- * @NL80211_AP_SME_SA_QUERY_OFFLOAD: SA Query procedures offloaded to driver
|
||||
- * when user space indicates support for SA Query procedures offload during
|
||||
- * "start ap" with %NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT.
|
||||
- */
|
||||
+ * Reserved for future use, no bits are defined in
|
||||
+ * NL80211_ATTR_DEVICE_AP_SME yet.
|
||||
enum nl80211_ap_sme_features {
|
||||
- NL80211_AP_SME_SA_QUERY_OFFLOAD = 1 << 0,
|
||||
};
|
||||
+
|
||||
+/**
|
||||
+ * enum nl80211_sae_pwe_mechanism - The mechanism(s) allowed for SAE PWE
|
||||
+ * derivation. Applicable only when WPA3-Personal SAE authentication is
|
||||
+ * used.
|
||||
+ *
|
||||
+ * @NL80211_SAE_PWE_UNSPECIFIED: not specified, used internally to indicate that
|
||||
+ * attribute is not present from userspace.
|
||||
+ * @NL80211_SAE_PWE_HUNT_AND_PECK: hunting-and-pecking loop only
|
||||
+ * @NL80211_SAE_PWE_HASH_TO_ELEMENT: hash-to-element only
|
||||
+ * @NL80211_SAE_PWE_BOTH: both hunting-and-pecking loop and hash-to-element
|
||||
+ * can be used.
|
||||
+ */
|
||||
+enum nl80211_sae_pwe_mechanism {
|
||||
+ NL80211_SAE_PWE_UNSPECIFIED,
|
||||
+ NL80211_SAE_PWE_HUNT_AND_PECK,
|
||||
+ NL80211_SAE_PWE_HASH_TO_ELEMENT,
|
||||
+ NL80211_SAE_PWE_BOTH,
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * enum nl80211_sar_type - type of SAR specs
|
||||
+ *
|
||||
+ * @NL80211_SAR_TYPE_POWER: power limitation specified in 0.25dBm unit
|
||||
+ *
|
||||
+ */
|
||||
+enum nl80211_sar_type {
|
||||
+ NL80211_SAR_TYPE_POWER,
|
||||
+
|
||||
+ /* add new type here */
|
||||
+
|
||||
+ /* Keep last */
|
||||
+ NUM_NL80211_SAR_TYPE,
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * enum nl80211_sar_attrs - Attributes for SAR spec
|
||||
+ *
|
||||
+ * @NL80211_SAR_ATTR_TYPE: the SAR type as defined in &enum nl80211_sar_type.
|
||||
+ *
|
||||
+ * @NL80211_SAR_ATTR_SPECS: Nested array of SAR power
|
||||
+ * limit specifications. Each specification contains a set
|
||||
+ * of %nl80211_sar_specs_attrs.
|
||||
+ *
|
||||
+ * For SET operation, it contains array of %NL80211_SAR_ATTR_SPECS_POWER
|
||||
+ * and %NL80211_SAR_ATTR_SPECS_RANGE_INDEX.
|
||||
+ *
|
||||
+ * For sar_capa dump, it contains array of
|
||||
+ * %NL80211_SAR_ATTR_SPECS_START_FREQ
|
||||
+ * and %NL80211_SAR_ATTR_SPECS_END_FREQ.
|
||||
+ *
|
||||
+ * @__NL80211_SAR_ATTR_LAST: Internal
|
||||
+ * @NL80211_SAR_ATTR_MAX: highest sar attribute
|
||||
+ *
|
||||
+ * These attributes are used with %NL80211_CMD_SET_SAR_SPEC
|
||||
+ */
|
||||
+enum nl80211_sar_attrs {
|
||||
+ __NL80211_SAR_ATTR_INVALID,
|
||||
+
|
||||
+ NL80211_SAR_ATTR_TYPE,
|
||||
+ NL80211_SAR_ATTR_SPECS,
|
||||
+
|
||||
+ __NL80211_SAR_ATTR_LAST,
|
||||
+ NL80211_SAR_ATTR_MAX = __NL80211_SAR_ATTR_LAST - 1,
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * enum nl80211_sar_specs_attrs - Attributes for SAR power limit specs
|
||||
+ *
|
||||
+ * @NL80211_SAR_ATTR_SPECS_POWER: Required (s32)value to specify the actual
|
||||
+ * power limit value in units of 0.25 dBm if type is
|
||||
+ * NL80211_SAR_TYPE_POWER. (i.e., a value of 44 represents 11 dBm).
|
||||
+ * 0 means userspace doesn't have SAR limitation on this associated range.
|
||||
+ *
|
||||
+ * @NL80211_SAR_ATTR_SPECS_RANGE_INDEX: Required (u32) value to specify the
|
||||
+ * index of exported freq range table and the associated power limitation
|
||||
+ * is applied to this range.
|
||||
+ *
|
||||
+ * Userspace isn't required to set all the ranges advertised by WLAN driver,
|
||||
+ * and userspace can skip some certain ranges. These skipped ranges don't
|
||||
+ * have SAR limitations, and they are same as setting the
|
||||
+ * %NL80211_SAR_ATTR_SPECS_POWER to any unreasonable high value because any
|
||||
+ * value higher than regulatory allowed value just means SAR power
|
||||
+ * limitation is removed, but it's required to set at least one range.
|
||||
+ * It's not allowed to set duplicated range in one SET operation.
|
||||
+ *
|
||||
+ * Every SET operation overwrites previous SET operation.
|
||||
+ *
|
||||
+ * @NL80211_SAR_ATTR_SPECS_START_FREQ: Required (u32) value to specify the start
|
||||
+ * frequency of this range edge when registering SAR capability to wiphy.
|
||||
+ * It's not a channel center frequency. The unit is kHz.
|
||||
+ *
|
||||
+ * @NL80211_SAR_ATTR_SPECS_END_FREQ: Required (u32) value to specify the end
|
||||
+ * frequency of this range edge when registering SAR capability to wiphy.
|
||||
+ * It's not a channel center frequency. The unit is kHz.
|
||||
+ *
|
||||
+ * @__NL80211_SAR_ATTR_SPECS_LAST: Internal
|
||||
+ * @NL80211_SAR_ATTR_SPECS_MAX: highest sar specs attribute
|
||||
+ */
|
||||
+enum nl80211_sar_specs_attrs {
|
||||
+ __NL80211_SAR_ATTR_SPECS_INVALID,
|
||||
+
|
||||
+ NL80211_SAR_ATTR_SPECS_POWER,
|
||||
+ NL80211_SAR_ATTR_SPECS_RANGE_INDEX,
|
||||
+ NL80211_SAR_ATTR_SPECS_START_FREQ,
|
||||
+ NL80211_SAR_ATTR_SPECS_END_FREQ,
|
||||
+
|
||||
+ __NL80211_SAR_ATTR_SPECS_LAST,
|
||||
+ NL80211_SAR_ATTR_SPECS_MAX = __NL80211_SAR_ATTR_SPECS_LAST - 1,
|
||||
+};
|
||||
+
|
||||
|
||||
/**
|
||||
* enum nl80211_feature_flags - device/driver features
|
||||
@@ -6166,11 +6027,6 @@ enum nl80211_feature_flags {
|
||||
* @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision
|
||||
* detection and change announcemnts.
|
||||
*
|
||||
- * @NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD: Driver running in AP mode supports
|
||||
- * FILS encryption and decryption for (Re)Association Request and Response
|
||||
- * frames. Userspace has to share FILS AAD details to the driver by using
|
||||
- * @NL80211_CMD_SET_FILS_AAD.
|
||||
- *
|
||||
* @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC
|
||||
* detection.
|
||||
*
|
||||
@@ -6239,7 +6095,6 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_SECURE_RTT,
|
||||
NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,
|
||||
NL80211_EXT_FEATURE_BSS_COLOR,
|
||||
- NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
|
||||
NL80211_EXT_FEATURE_RADAR_BACKGROUND,
|
||||
|
||||
/* add new features before the definition below */
|
||||
@@ -7548,7 +7403,7 @@ enum nl80211_sar_specs_attrs {
|
||||
* @NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY: Used by the kernel
|
||||
* to advertise the maximum profile periodicity supported by the driver
|
||||
* if EMA is enabled. Driver should indicate EMA support to the userspace
|
||||
- * by setting wiphy->ema_max_profile_periodicity to
|
||||
+ * by setting wiphy->mbssid_max_ema_profile_periodicity to
|
||||
* a non-zero value.
|
||||
*
|
||||
* @NL80211_MBSSID_CONFIG_ATTR_INDEX: Mandatory parameter to pass the index of
|
||||
@@ -7567,7 +7422,7 @@ enum nl80211_sar_specs_attrs {
|
||||
*
|
||||
* @NL80211_MBSSID_CONFIG_ATTR_EMA: Flag used to enable EMA AP feature.
|
||||
* Setting this flag is permitted only if the driver advertises EMA support
|
||||
- * by setting wiphy->ema_max_profile_periodicity to non-zero.
|
||||
+ * by setting wiphy->mbssid_max_ema_profile_periodicity to non-zero.
|
||||
*
|
||||
* @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal
|
||||
* @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute
|
||||
@@ -7586,20 +7441,4 @@ enum nl80211_mbssid_config_attributes {
|
||||
NL80211_MBSSID_CONFIG_ATTR_MAX = __NL80211_MBSSID_CONFIG_ATTR_LAST - 1,
|
||||
};
|
||||
|
||||
-/**
|
||||
- * enum nl80211_ap_settings_flags - AP settings flags
|
||||
- *
|
||||
- * @NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT: AP supports external
|
||||
- * authentication.
|
||||
- * @NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT: Userspace supports SA Query
|
||||
- * procedures offload to driver. If driver advertises
|
||||
- * %NL80211_AP_SME_SA_QUERY_OFFLOAD in AP SME features, userspace shall
|
||||
- * ignore SA Query procedures and validations when this flag is set by
|
||||
- * userspace.
|
||||
- */
|
||||
-enum nl80211_ap_settings_flags {
|
||||
- NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 1 << 0,
|
||||
- NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1,
|
||||
-};
|
||||
-
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
--- a/event.c
|
||||
+++ b/event.c
|
||||
@@ -1292,9 +1292,6 @@ static int print_event(struct nl_msg *ms
|
||||
case NL80211_CMD_CH_SWITCH_NOTIFY:
|
||||
parse_ch_switch_notify(tb, gnlh->cmd);
|
||||
break;
|
||||
- case NL80211_CMD_ASSOC_COMEBACK: /* 147 */
|
||||
- parse_assoc_comeback(tb, gnlh->cmd);
|
||||
- break;
|
||||
default:
|
||||
printf("unknown event %d (%s)\n",
|
||||
gnlh->cmd, command_name(gnlh->cmd));
|
||||
--- a/info.c
|
||||
+++ b/info.c
|
||||
@@ -164,7 +164,6 @@ static void ext_feat_print(enum nl80211_
|
||||
ext_feat_case(PROT_RANGE_NEGO_AND_MEASURE,
|
||||
"support for MFP in range measurement negotiation/procedure");
|
||||
ext_feat_case(BSS_COLOR, "BSS coloring support");
|
||||
- ext_feat_case(FILS_CRYPTO_OFFLOAD, "FILS crypto offload");
|
||||
ext_feat_case(RADAR_BACKGROUND, "Radar background support");
|
||||
}
|
||||
}
|
||||
--- a/interface.c
|
||||
+++ b/interface.c
|
||||
@@ -362,8 +362,6 @@ char *channel_width_name(enum nl80211_ch
|
||||
return "5 MHz";
|
||||
case NL80211_CHAN_WIDTH_10:
|
||||
return "10 MHz";
|
||||
- case NL80211_CHAN_WIDTH_320:
|
||||
- return "320 MHz";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
--- a/util.c
|
||||
+++ b/util.c
|
||||
@@ -508,7 +508,6 @@ static int parse_freqs(struct chandef *c
|
||||
case NL80211_CHAN_WIDTH_40:
|
||||
case NL80211_CHAN_WIDTH_80:
|
||||
case NL80211_CHAN_WIDTH_160:
|
||||
- case NL80211_CHAN_WIDTH_320:
|
||||
need_cf1 = true;
|
||||
break;
|
||||
case NL80211_CHAN_WIDTH_1:
|
||||
@@ -626,10 +625,6 @@ int parse_freqchan(struct chandef *chand
|
||||
.width = NL80211_CHAN_WIDTH_160,
|
||||
.freq1_diff = 0,
|
||||
.chantype = -1 },
|
||||
- { .name = "320MHz",
|
||||
- .width = NL80211_CHAN_WIDTH_320,
|
||||
- .freq1_diff = 0,
|
||||
- .chantype = -1 },
|
||||
};
|
||||
const struct chanmode *chanmode_selected = NULL;
|
||||
unsigned int freq;
|
||||
@@ -1599,48 +1594,6 @@ void print_eht_info(struct nlattr *nl_if
|
||||
print_iftype_line(tb[NL80211_BAND_IFTYPE_ATTR_IFTYPES]);
|
||||
printf("\n");
|
||||
|
||||
- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]) {
|
||||
- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]);
|
||||
- if (len > sizeof(mac_cap))
|
||||
- len = sizeof(mac_cap);
|
||||
- memcpy(mac_cap,
|
||||
- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]),
|
||||
- len);
|
||||
- }
|
||||
-
|
||||
- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]) {
|
||||
- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]);
|
||||
-
|
||||
- if (len > sizeof(phy_cap))
|
||||
- len = sizeof(phy_cap);
|
||||
-
|
||||
- memcpy(phy_cap,
|
||||
- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]),
|
||||
- len);
|
||||
- }
|
||||
-
|
||||
- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]) {
|
||||
- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]);
|
||||
- if (len > sizeof(mcs_set))
|
||||
- len = sizeof(mcs_set);
|
||||
- memcpy(mcs_set,
|
||||
- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]),
|
||||
- len);
|
||||
-
|
||||
- // Assume that all parts of the MCS set are present
|
||||
- mcs_len = sizeof(mcs_set);
|
||||
- }
|
||||
-
|
||||
- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]) {
|
||||
- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]);
|
||||
- if (len > sizeof(ppet))
|
||||
- len = sizeof(ppet);
|
||||
- memcpy(ppet,
|
||||
- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]),
|
||||
- len);
|
||||
- ppet_len = len;
|
||||
- }
|
||||
-
|
||||
if (tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]) {
|
||||
len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]);
|
||||
|
||||
--- a/reg.c
|
||||
+++ b/reg.c
|
||||
@@ -210,7 +210,6 @@ static int print_reg_handler(struct nl_m
|
||||
PARSE_FLAG(NL80211_RRF_NO_80MHZ, "NO-80MHZ");
|
||||
PARSE_FLAG(NL80211_RRF_NO_160MHZ, "NO-160MHZ");
|
||||
PARSE_FLAG(NL80211_RRF_NO_HE, "NO-HE");
|
||||
- PARSE_FLAG(NL80211_RRF_NO_320MHZ, "NO-320MHZ");
|
||||
|
||||
/* Kernels that support NO_IR always turn on both flags */
|
||||
if ((flags & NL80211_RRF_NO_IR) && (flags & __NL80211_RRF_NO_IBSS)) {
|
||||
--- a/station.c
|
||||
+++ b/station.c
|
||||
@@ -239,8 +239,6 @@ void parse_bitrate(struct nlattr *bitrat
|
||||
pos += snprintf(pos, buflen - (pos - buf), " 80P80MHz");
|
||||
if (rinfo[NL80211_RATE_INFO_160_MHZ_WIDTH])
|
||||
pos += snprintf(pos, buflen - (pos - buf), " 160MHz");
|
||||
- if (rinfo[NL80211_RATE_INFO_320_MHZ_WIDTH])
|
||||
- pos += snprintf(pos, buflen - (pos - buf), " 320MHz");
|
||||
if (rinfo[NL80211_RATE_INFO_SHORT_GI])
|
||||
pos += snprintf(pos, buflen - (pos - buf), " short GI");
|
||||
if (rinfo[NL80211_RATE_INFO_VHT_NSS])
|
||||
@@ -261,18 +259,6 @@ void parse_bitrate(struct nlattr *bitrat
|
||||
if (rinfo[NL80211_RATE_INFO_HE_RU_ALLOC])
|
||||
pos += snprintf(pos, buflen - (pos - buf),
|
||||
" HE-RU-ALLOC %d", nla_get_u8(rinfo[NL80211_RATE_INFO_HE_RU_ALLOC]));
|
||||
- if (rinfo[NL80211_RATE_INFO_EHT_MCS])
|
||||
- pos += snprintf(pos, buflen - (pos - buf),
|
||||
- " EHT-MCS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_MCS]));
|
||||
- if (rinfo[NL80211_RATE_INFO_EHT_NSS])
|
||||
- pos += snprintf(pos, buflen - (pos - buf),
|
||||
- " EHT-NSS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_NSS]));
|
||||
- if (rinfo[NL80211_RATE_INFO_EHT_GI])
|
||||
- pos += snprintf(pos, buflen - (pos - buf),
|
||||
- " EHT-GI %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_GI]));
|
||||
- if (rinfo[NL80211_RATE_INFO_EHT_RU_ALLOC])
|
||||
- pos += snprintf(pos, buflen - (pos - buf),
|
||||
- " EHT-RU-ALLOC %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_RU_ALLOC]));
|
||||
}
|
||||
|
||||
static char *get_chain_signal(struct nlattr *attr_list)
|
||||
|
@ -0,0 +1,68 @@
|
||||
From 1f3706d10812d70adefe32fe0d7d3a3ec25374f0 Mon Sep 17 00:00:00 2001
|
||||
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Date: Sun, 21 Nov 2021 00:02:57 +0100
|
||||
Subject: Revert "iw: allow specifying CFLAGS/LIBS externally"
|
||||
|
||||
This reverts commit 1325244b77d56fd7a16d1e35fdae0efc151920b1.
|
||||
|
||||
The OpenWrt build system provides the CFLAGS and LIBS names from the
|
||||
package Makefile to overwrite them for libnl-tiny. This is not possible
|
||||
after this upstream change which we revert here any more
|
||||
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
---
|
||||
Makefile | 20 ++++++++++----------
|
||||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -45,30 +45,30 @@ NLLIBNAME = libnl-1
|
||||
endif
|
||||
|
||||
ifeq ($(NL2FOUND),Y)
|
||||
-override CFLAGS += -DCONFIG_LIBNL20
|
||||
-override LIBS += -lnl-genl
|
||||
+CFLAGS += -DCONFIG_LIBNL20
|
||||
+LIBS += -lnl-genl
|
||||
NLLIBNAME = libnl-2.0
|
||||
endif
|
||||
|
||||
ifeq ($(NL3xFOUND),Y)
|
||||
# libnl 3.2 might be found as 3.2 and 3.0
|
||||
NL3FOUND = N
|
||||
-override CFLAGS += -DCONFIG_LIBNL30
|
||||
-override LIBS += -lnl-genl-3
|
||||
+CFLAGS += -DCONFIG_LIBNL30
|
||||
+LIBS += -lnl-genl-3
|
||||
NLLIBNAME = libnl-3.0
|
||||
endif
|
||||
|
||||
ifeq ($(NL3FOUND),Y)
|
||||
-override CFLAGS += -DCONFIG_LIBNL30
|
||||
-override LIBS += -lnl-genl
|
||||
+CFLAGS += -DCONFIG_LIBNL30
|
||||
+LIBS += -lnl-genl
|
||||
NLLIBNAME = libnl-3.0
|
||||
endif
|
||||
|
||||
# nl-3.1 has a broken libnl-gnl-3.1.pc file
|
||||
# as show by pkg-config --debug --libs --cflags --exact-version=3.1 libnl-genl-3.1;echo $?
|
||||
ifeq ($(NL31FOUND),Y)
|
||||
-override CFLAGS += -DCONFIG_LIBNL30
|
||||
-override LIBS += -lnl-genl
|
||||
+CFLAGS += -DCONFIG_LIBNL30
|
||||
+LIBS += -lnl-genl
|
||||
NLLIBNAME = libnl-3.1
|
||||
endif
|
||||
|
||||
@@ -76,8 +76,8 @@ ifeq ($(NLLIBNAME),)
|
||||
$(error Cannot find development files for any supported version of libnl)
|
||||
endif
|
||||
|
||||
-override LIBS += $(shell $(PKG_CONFIG) --libs $(NLLIBNAME))
|
||||
-override CFLAGS += $(shell $(PKG_CONFIG) --cflags $(NLLIBNAME))
|
||||
+LIBS += $(shell $(PKG_CONFIG) --libs $(NLLIBNAME))
|
||||
+CFLAGS += $(shell $(PKG_CONFIG) --cflags $(NLLIBNAME))
|
||||
endif # NO_PKG_CONFIG
|
||||
|
||||
ifeq ($(V),1)
|
@ -1,6 +1,6 @@
|
||||
--- a/event.c
|
||||
+++ b/event.c
|
||||
@@ -956,6 +956,7 @@ static int print_event(struct nl_msg *ms
|
||||
@@ -971,6 +971,7 @@ static int print_event(struct nl_msg *ms
|
||||
}
|
||||
|
||||
switch (gnlh->cmd) {
|
||||
@ -8,7 +8,7 @@
|
||||
case NL80211_CMD_NEW_WIPHY:
|
||||
printf("renamed to %s\n", nla_get_string(tb[NL80211_ATTR_WIPHY_NAME]));
|
||||
break;
|
||||
@@ -991,6 +992,7 @@ static int print_event(struct nl_msg *ms
|
||||
@@ -1006,6 +1007,7 @@ static int print_event(struct nl_msg *ms
|
||||
case NL80211_CMD_SCHED_SCAN_RESULTS:
|
||||
printf("got scheduled scan results\n");
|
||||
break;
|
||||
@ -16,7 +16,7 @@
|
||||
case NL80211_CMD_WIPHY_REG_CHANGE:
|
||||
case NL80211_CMD_REG_CHANGE:
|
||||
if (gnlh->cmd == NL80211_CMD_WIPHY_REG_CHANGE)
|
||||
@@ -1073,6 +1075,7 @@ static int print_event(struct nl_msg *ms
|
||||
@@ -1088,6 +1090,7 @@ static int print_event(struct nl_msg *ms
|
||||
mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC]));
|
||||
printf("del station %s\n", macbuf);
|
||||
break;
|
||||
@ -24,7 +24,7 @@
|
||||
case NL80211_CMD_JOIN_IBSS:
|
||||
mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC]));
|
||||
printf("IBSS %s joined\n", macbuf);
|
||||
@@ -1271,9 +1274,9 @@ static int print_event(struct nl_msg *ms
|
||||
@@ -1292,9 +1295,9 @@ static int print_event(struct nl_msg *ms
|
||||
case NL80211_CMD_CH_SWITCH_NOTIFY:
|
||||
parse_ch_switch_notify(tb, gnlh->cmd);
|
||||
break;
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
--- a/info.c
|
||||
+++ b/info.c
|
||||
@@ -216,6 +216,7 @@ next:
|
||||
@@ -308,6 +308,7 @@ next:
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
if (tb_band[NL80211_BAND_ATTR_RATES]) {
|
||||
printf("\t\tBitrates (non-HT):\n");
|
||||
nla_for_each_nested(nl_rate, tb_band[NL80211_BAND_ATTR_RATES], rem_rate) {
|
||||
@@ -232,6 +233,7 @@ next:
|
||||
@@ -324,6 +325,7 @@ next:
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
@ -54,7 +54,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,6 +299,7 @@ next:
|
||||
@@ -389,6 +391,7 @@ next:
|
||||
printf("\tCoverage class: %d (up to %dm)\n", coverage, 450 * coverage);
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
if (tb_msg[NL80211_ATTR_CIPHER_SUITES]) {
|
||||
int num = nla_len(tb_msg[NL80211_ATTR_CIPHER_SUITES]) / sizeof(__u32);
|
||||
int i;
|
||||
@@ -308,6 +311,7 @@ next:
|
||||
@@ -400,6 +403,7 @@ next:
|
||||
cipher_name(ciphers[i]));
|
||||
}
|
||||
}
|
||||
@ -70,21 +70,19 @@
|
||||
|
||||
if (tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX] &&
|
||||
tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX])
|
||||
@@ -327,11 +331,13 @@ next:
|
||||
printf("\t\t * %s\n", iftype_name(nla_type(nl_mode)));
|
||||
}
|
||||
@@ -417,9 +421,11 @@ next:
|
||||
print_iftype_list("\tSupported interface modes", "\t\t",
|
||||
tb_msg[NL80211_ATTR_SUPPORTED_IFTYPES]);
|
||||
|
||||
+#ifdef IW_FULL
|
||||
if (tb_msg[NL80211_ATTR_SOFTWARE_IFTYPES]) {
|
||||
printf("\tsoftware interface modes (can always be added):\n");
|
||||
nla_for_each_nested(nl_mode, tb_msg[NL80211_ATTR_SOFTWARE_IFTYPES], rem_mode)
|
||||
printf("\t\t * %s\n", iftype_name(nla_type(nl_mode)));
|
||||
}
|
||||
if (tb_msg[NL80211_ATTR_SOFTWARE_IFTYPES])
|
||||
print_iftype_list("\tsoftware interface modes (can always be added)",
|
||||
"\t\t", tb_msg[NL80211_ATTR_SOFTWARE_IFTYPES]);
|
||||
+#endif
|
||||
|
||||
if (tb_msg[NL80211_ATTR_INTERFACE_COMBINATIONS]) {
|
||||
struct nlattr *nl_combi;
|
||||
@@ -428,6 +434,7 @@ broken_combination:
|
||||
@@ -509,6 +515,7 @@ broken_combination:
|
||||
printf("\tinterface combinations are not supported\n");
|
||||
}
|
||||
|
||||
@ -92,7 +90,7 @@
|
||||
if (tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS]) {
|
||||
printf("\tSupported commands:\n");
|
||||
nla_for_each_nested(nl_cmd, tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS], rem_cmd)
|
||||
@@ -525,6 +532,7 @@ broken_combination:
|
||||
@@ -606,6 +613,7 @@ broken_combination:
|
||||
printf("\t\t * wake up on TCP connection\n");
|
||||
}
|
||||
}
|
||||
@ -100,7 +98,7 @@
|
||||
|
||||
if (tb_msg[NL80211_ATTR_ROAM_SUPPORT])
|
||||
printf("\tDevice supports roaming.\n");
|
||||
@@ -563,6 +571,7 @@ broken_combination:
|
||||
@@ -644,6 +652,7 @@ broken_combination:
|
||||
}
|
||||
}
|
||||
|
||||
@ -108,7 +106,7 @@
|
||||
if (tb_msg[NL80211_ATTR_FEATURE_FLAGS]) {
|
||||
unsigned int features = nla_get_u32(tb_msg[NL80211_ATTR_FEATURE_FLAGS]);
|
||||
|
||||
@@ -627,6 +636,7 @@ broken_combination:
|
||||
@@ -708,6 +717,7 @@ broken_combination:
|
||||
if (features & NL80211_FEATURE_ND_RANDOM_MAC_ADDR)
|
||||
printf("\tDevice supports randomizing MAC-addr in net-detect scans.\n");
|
||||
}
|
||||
@ -116,7 +114,7 @@
|
||||
|
||||
if (tb_msg[NL80211_ATTR_TDLS_SUPPORT])
|
||||
printf("\tDevice supports T-DLS.\n");
|
||||
@@ -762,6 +772,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP
|
||||
@@ -773,6 +783,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP
|
||||
"List all wireless devices and their capabilities.");
|
||||
TOPLEVEL(phy, NULL, NL80211_CMD_GET_WIPHY, NLM_F_DUMP, CIB_NONE, handle_info, NULL);
|
||||
|
||||
@ -124,7 +122,7 @@
|
||||
static int handle_commands(struct nl80211_state *state, struct nl_msg *msg,
|
||||
int argc, char **argv, enum id_input id)
|
||||
{
|
||||
@@ -773,6 +784,7 @@ static int handle_commands(struct nl8021
|
||||
@@ -784,6 +795,7 @@ static int handle_commands(struct nl8021
|
||||
}
|
||||
TOPLEVEL(commands, NULL, NL80211_CMD_GET_WIPHY, 0, CIB_NONE, handle_commands,
|
||||
"list all known commands and their decimal & hex value");
|
||||
|
Loading…
x
Reference in New Issue
Block a user