iw: bump to 5.19
authorStijn Tintel <stijn@linux-ipv6.be>
Mon, 6 Jun 2022 14:36:15 +0000 (17:36 +0300)
committerStijn Tintel <stijn@linux-ipv6.be>
Sat, 11 Jun 2022 13:03:14 +0000 (16:03 +0300)
  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>
package/network/utils/iw/Makefile
package/network/utils/iw/patches/001-nl80211_h_sync.patch
package/network/utils/iw/patches/200-reduce_size.patch

index da2b5564168f94b60c854860b9435ddcea225eae..eb3a9ba091d2a2c3674316898f430a50b9c1bf1e 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=iw
-PKG_VERSION:=5.16
+PKG_VERSION:=5.19
 PKG_RELEASE:=1
  
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/network/iw
-PKG_HASH:=4c44e42762f903f9094ba5a598998c800a97a62afd6fd31ec1e0a799e308659c
+PKG_HASH:=f167bbe947dd53bb9ebc0c1dcef5db6ad73ac1d6084f2c6f9376c5c360cc4d4e
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 PKG_LICENSE:=GPL-2.0
index 3fb5ca255c3f7e9d95493a0bec6ca0a5dcb183ac..49d08d9b01a09382d500ab15a532c5585a4df30a 100644 (file)
@@ -1,5 +1,14 @@
 --- 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-2021 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
 @@ -301,29 +301,6 @@
   */
  
@@ -30,7 +39,7 @@
   * enum nl80211_commands - supported nl80211 commands
   *
   * @NL80211_CMD_UNSPEC: unspecified command to catch errors
-@@ -1226,12 +1203,6 @@
+@@ -1226,17 +1203,6 @@
   * @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change
   *    has completed
   *
 - *    &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
   */
-@@ -1472,8 +1443,6 @@ enum nl80211_commands {
+@@ -1477,10 +1443,6 @@ enum nl80211_commands {
        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 */
-@@ -2639,6 +2608,9 @@ enum nl80211_commands {
-  *    Mandatory parameter for the transmitting interface to enable MBSSID.
-  *    Optional for the non-transmitting interfaces.
+@@ -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_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_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
-@@ -3145,6 +3117,8 @@ enum nl80211_attrs {
-       NL80211_ATTR_MBSSID_CONFIG,
-       NL80211_ATTR_MBSSID_ELEMS,
+@@ -3171,11 +3126,7 @@ enum nl80211_attrs {
  
+       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,
-@@ -4978,7 +4952,6 @@ enum nl80211_txrate_gi {
+@@ -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
+ #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 {
+ };
+ /**
+- * 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
+  *
+  * 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 */
+       __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
   * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
   *    since newer kernel versions may support more bands
   */
-@@ -4988,7 +4961,6 @@ enum nl80211_band {
+@@ -5106,7 +4970,6 @@ enum nl80211_band {
        NL80211_BAND_60GHZ,
        NL80211_BAND_6GHZ,
        NL80211_BAND_S1GHZ,
  
        NUM_NL80211_BANDS,
  };
-@@ -6046,11 +6018,6 @@ enum nl80211_feature_flags {
+@@ -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_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.
   *
 - *    frames. Userspace has to share FILS AAD details to the driver by using
 - *    @NL80211_CMD_SET_FILS_AAD.
 - *
-  * @NUM_NL80211_EXT_FEATURES: number of extended features.
-  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
-  */
-@@ -6116,7 +6083,6 @@ enum nl80211_ext_feature_index {
+  * @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 */
-       NUM_NL80211_EXT_FEATURES,
-@@ -7424,7 +7390,7 @@ enum nl80211_sar_specs_attrs {
+@@ -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
   *    a non-zero value.
   *
   * @NL80211_MBSSID_CONFIG_ATTR_INDEX: Mandatory parameter to pass the index of
-@@ -7443,7 +7409,7 @@ enum nl80211_sar_specs_attrs {
+@@ -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
   *
   * @__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
-@@ -701,7 +701,6 @@ broken_combination:
-               ext_feat_print(tb, OPERATING_CHANNEL_VALIDATION, "Operating Channel Validation (OCV) support");
-               ext_feat_print(tb, 4WAY_HANDSHAKE_AP_PSK, "AP mode PSK offload support");
-               ext_feat_print(tb, BSS_COLOR, "BSS coloring support");
--              ext_feat_print(tb, FILS_CRYPTO_OFFLOAD, "FILS crypto offload");
+@@ -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]));
+ }
  
-       if (tb_msg[NL80211_ATTR_COALESCE_RULE]) {
+ static char *get_chain_signal(struct nlattr *attr_list)
index d0e837c69532c608954762745305d3e38eca9eaa..88df56b385cd080705eb6a585a0cfece9e447dff 100644 (file)
@@ -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
-@@ -215,6 +215,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) {
-@@ -231,6 +232,7 @@ next:
+@@ -324,6 +325,7 @@ next:
                                printf("\n");
                        }
                        }
@@ -54,7 +54,7 @@
                }
        }
  
-@@ -296,6 +298,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;
-@@ -307,6 +310,7 @@ next:
+@@ -400,6 +403,7 @@ next:
                                        cipher_name(ciphers[i]));
                }
        }
@@ -70,7 +70,7 @@
  
        if (tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX] &&
            tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX])
-@@ -324,9 +328,11 @@ next:
+@@ -417,9 +421,11 @@ next:
                print_iftype_list("\tSupported interface modes", "\t\t",
                                  tb_msg[NL80211_ATTR_SUPPORTED_IFTYPES]);
  
@@ -82,7 +82,7 @@
  
        if (tb_msg[NL80211_ATTR_INTERFACE_COMBINATIONS]) {
                struct nlattr *nl_combi;
-@@ -416,6 +422,7 @@ broken_combination:
+@@ -509,6 +515,7 @@ broken_combination:
                        printf("\tinterface combinations are not supported\n");
        }
  
@@ -90,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)
-@@ -513,6 +520,7 @@ broken_combination:
+@@ -606,6 +613,7 @@ broken_combination:
                                printf("\t\t * wake up on TCP connection\n");
                }
        }
@@ -98,7 +98,7 @@
  
        if (tb_msg[NL80211_ATTR_ROAM_SUPPORT])
                printf("\tDevice supports roaming.\n");
-@@ -551,6 +559,7 @@ broken_combination:
+@@ -644,6 +652,7 @@ broken_combination:
                }
        }
  
        if (tb_msg[NL80211_ATTR_FEATURE_FLAGS]) {
                unsigned int features = nla_get_u32(tb_msg[NL80211_ATTR_FEATURE_FLAGS]);
  
-@@ -615,6 +624,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");
        }
  
        if (tb_msg[NL80211_ATTR_TDLS_SUPPORT])
                printf("\tDevice supports T-DLS.\n");
-@@ -751,6 +761,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);
  
  static int handle_commands(struct nl80211_state *state, struct nl_msg *msg,
                           int argc, char **argv, enum id_input id)
  {
-@@ -762,6 +773,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");