]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
update nl80211.h
authorJohannes Berg <johannes.berg@intel.com>
Tue, 24 Jun 2025 07:31:14 +0000 (09:31 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 24 Jun 2025 07:31:38 +0000 (09:31 +0200)
From Linux 6.16-rc2.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
nl80211.h

index 6d11437596b9109f9dc320cf7fa8978233cb24f2..e9ccf43fe3c6adcb14071960ac71c68328a26e1f 100644 (file)
--- 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-2024 Intel Corporation
+ * Copyright (C) 2018-2025 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
  *      %NL80211_ATTR_MLO_TTLM_ULINK attributes are used to specify the
  *      TID to Link mapping for downlink/uplink traffic.
  *
+ * @NL80211_CMD_ASSOC_MLO_RECONF: For a non-AP MLD station, request to
+ *      add/remove links to/from the association.
+ *
+ * @NL80211_CMD_EPCS_CFG: EPCS configuration for a station. Used by userland to
+ *     control EPCS configuration. Used to notify userland on the current state
+ *     of EPCS.
+ *
  * @NL80211_CMD_MAX: highest used command number
  * @__NL80211_CMD_AFTER_LAST: internal use
  */
@@ -1586,6 +1593,9 @@ enum nl80211_commands {
 
        NL80211_CMD_SET_TID_TO_LINK_MAPPING,
 
+       NL80211_CMD_ASSOC_MLO_RECONF,
+       NL80211_CMD_EPCS_CFG,
+
        /* add new commands above here */
 
        /* used to define NL80211_CMD_MAX below */
@@ -2871,6 +2881,24 @@ enum nl80211_commands {
  * @NL80211_ATTR_VIF_RADIO_MASK: Bitmask of allowed radios (u32).
  *     A value of 0 means all radios.
  *
+ * @NL80211_ATTR_SUPPORTED_SELECTORS: supported BSS Membership Selectors, array
+ *     of supported selectors as defined by IEEE Std 802.11-2020 9.4.2.3 but
+ *     without the length restriction (at most %NL80211_MAX_SUPP_SELECTORS).
+ *     This can be used to provide a list of selectors that are implemented
+ *     by the supplicant. If not given, support for SAE_H2E is assumed.
+ *
+ * @NL80211_ATTR_MLO_RECONF_REM_LINKS: (u16) A bitmask of the links requested
+ *      to be removed from the MLO association.
+ *
+ * @NL80211_ATTR_EPCS: Flag attribute indicating that EPCS is enabled for a
+ *     station interface.
+ *
+ * @NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS: Extended MLD capabilities and
+ *     operations that userspace implements to use during association/ML
+ *     link reconfig, currently only "BTM MLD Recommendation For Multiple
+ *     APs Support". Drivers may set additional flags that they support
+ *     in the kernel or device.
+ *
  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3421,6 +3449,13 @@ enum nl80211_attrs {
 
        NL80211_ATTR_VIF_RADIO_MASK,
 
+       NL80211_ATTR_SUPPORTED_SELECTORS,
+
+       NL80211_ATTR_MLO_RECONF_REM_LINKS,
+       NL80211_ATTR_EPCS,
+
+       NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS,
+
        /* add attributes here, update the policy in nl80211.c */
 
        __NL80211_ATTR_AFTER_LAST,
@@ -3465,6 +3500,7 @@ enum nl80211_attrs {
 #define NL80211_WIPHY_NAME_MAXLEN              64
 
 #define NL80211_MAX_SUPP_RATES                 32
+#define NL80211_MAX_SUPP_SELECTORS             128
 #define NL80211_MAX_SUPP_HT_RATES              77
 #define NL80211_MAX_SUPP_REG_RULES             128
 #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY      0
@@ -4299,6 +4335,8 @@ enum nl80211_wmm_rule {
  *     otherwise completely disabled.
  * @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a
  *     very low power (VLP) AP, despite being NO_IR.
+ * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in
+ *     20 MHz bandwidth, despite being NO_IR.
  * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
  *     currently defined
  * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4343,6 +4381,7 @@ enum nl80211_frequency_attr {
        NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
        NL80211_FREQUENCY_ATTR_CAN_MONITOR,
        NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
+       NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY,
 
        /* keep last */
        __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -4554,31 +4593,34 @@ enum nl80211_sched_scan_match_attr {
  * @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed
  * @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted
  *     despite NO_IR configuration.
+ * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth,
+ *     despite NO_IR configuration.
  */
 enum nl80211_reg_rule_flags {
-       NL80211_RRF_NO_OFDM             = 1<<0,
-       NL80211_RRF_NO_CCK              = 1<<1,
-       NL80211_RRF_NO_INDOOR           = 1<<2,
-       NL80211_RRF_NO_OUTDOOR          = 1<<3,
-       NL80211_RRF_DFS                 = 1<<4,
-       NL80211_RRF_PTP_ONLY            = 1<<5,
-       NL80211_RRF_PTMP_ONLY           = 1<<6,
-       NL80211_RRF_NO_IR               = 1<<7,
-       __NL80211_RRF_NO_IBSS           = 1<<8,
-       NL80211_RRF_AUTO_BW             = 1<<11,
-       NL80211_RRF_IR_CONCURRENT       = 1<<12,
-       NL80211_RRF_NO_HT40MINUS        = 1<<13,
-       NL80211_RRF_NO_HT40PLUS         = 1<<14,
-       NL80211_RRF_NO_80MHZ            = 1<<15,
-       NL80211_RRF_NO_160MHZ           = 1<<16,
-       NL80211_RRF_NO_HE               = 1<<17,
-       NL80211_RRF_NO_320MHZ           = 1<<18,
-       NL80211_RRF_NO_EHT              = 1<<19,
-       NL80211_RRF_PSD                 = 1<<20,
-       NL80211_RRF_DFS_CONCURRENT      = 1<<21,
-       NL80211_RRF_NO_6GHZ_VLP_CLIENT  = 1<<22,
-       NL80211_RRF_NO_6GHZ_AFC_CLIENT  = 1<<23,
-       NL80211_RRF_ALLOW_6GHZ_VLP_AP   = 1<<24,
+       NL80211_RRF_NO_OFDM                 = 1 << 0,
+       NL80211_RRF_NO_CCK                  = 1 << 1,
+       NL80211_RRF_NO_INDOOR               = 1 << 2,
+       NL80211_RRF_NO_OUTDOOR              = 1 << 3,
+       NL80211_RRF_DFS                     = 1 << 4,
+       NL80211_RRF_PTP_ONLY                = 1 << 5,
+       NL80211_RRF_PTMP_ONLY               = 1 << 6,
+       NL80211_RRF_NO_IR                   = 1 << 7,
+       __NL80211_RRF_NO_IBSS               = 1 << 8,
+       NL80211_RRF_AUTO_BW                 = 1 << 11,
+       NL80211_RRF_IR_CONCURRENT           = 1 << 12,
+       NL80211_RRF_NO_HT40MINUS            = 1 << 13,
+       NL80211_RRF_NO_HT40PLUS             = 1 << 14,
+       NL80211_RRF_NO_80MHZ                = 1 << 15,
+       NL80211_RRF_NO_160MHZ               = 1 << 16,
+       NL80211_RRF_NO_HE                   = 1 << 17,
+       NL80211_RRF_NO_320MHZ               = 1 << 18,
+       NL80211_RRF_NO_EHT                  = 1 << 19,
+       NL80211_RRF_PSD                     = 1 << 20,
+       NL80211_RRF_DFS_CONCURRENT          = 1 << 21,
+       NL80211_RRF_NO_6GHZ_VLP_CLIENT      = 1 << 22,
+       NL80211_RRF_NO_6GHZ_AFC_CLIENT      = 1 << 23,
+       NL80211_RRF_ALLOW_6GHZ_VLP_AP       = 1 << 24,
+       NL80211_RRF_ALLOW_20MHZ_ACTIVITY    = 1 << 25,
 };
 
 #define NL80211_RRF_PASSIVE_SCAN       NL80211_RRF_NO_IR
@@ -4699,8 +4741,8 @@ enum nl80211_survey_info {
  * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP
  * @NL80211_MNTR_FLAG_CONTROL: pass control frames
  * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering
- * @NL80211_MNTR_FLAG_COOK_FRAMES: report frames after processing.
- *     overrides all other flags.
+ * @NL80211_MNTR_FLAG_COOK_FRAMES: deprecated
+ *     will unconditionally be refused
  * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address
  *     and ACK incoming unicast packets.
  * @NL80211_MNTR_FLAG_SKIP_TX: do not pass local tx packets
@@ -7994,6 +8036,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: Link ID of the transmitted profile.
+ *     This parameter is mandatory when NL80211_ATTR_MBSSID_CONFIG attributes
+ *     are sent for a non-transmitted profile and if the transmitted profile
+ *     is part of an MLD. For all other cases this parameter is unnecessary.
+ *
  * @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal
  * @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute
  */
@@ -8005,6 +8052,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,