]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Sync with wireless-next.git include/uapi/linux/nl80211.h
authorJouni Malinen <j@w1.fi>
Wed, 15 Mar 2023 09:44:08 +0000 (11:44 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 15 Mar 2023 09:46:03 +0000 (11:46 +0200)
This brings in nl80211 definitions as of 2023-03-07.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/drivers/driver_nl80211_event.c
src/drivers/nl80211_copy.h

index abe603e948065cd26cf348a460207bd30bcb0489..821629afe8736e65583b2539cf77625d8553882c 100644 (file)
@@ -184,6 +184,7 @@ static const char * nl80211_command_to_string(enum nl80211_commands cmd)
        C2S(NL80211_CMD_ADD_LINK_STA)
        C2S(NL80211_CMD_MODIFY_LINK_STA)
        C2S(NL80211_CMD_REMOVE_LINK_STA)
+       C2S(NL80211_CMD_SET_HW_TIMESTAMP)
        C2S(__NL80211_CMD_AFTER_LAST)
        }
 #undef C2S
index c14a91bbca7c9e6000978174becfa3e52982d1d2..9a0ac0363f1fc9665cd29f8f6c42fd035b165185 100644 (file)
  *     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
  *     %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.
  * @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_MAX: highest used command number
  * @__NL80211_CMD_AFTER_LAST: internal use
  */
@@ -1532,6 +1560,8 @@ enum nl80211_commands {
        NL80211_CMD_MODIFY_LINK_STA,
        NL80211_CMD_REMOVE_LINK_STA,
 
+       NL80211_CMD_SET_HW_TIMESTAMP,
+
        /* add new commands above here */
 
        /* used to define NL80211_CMD_MAX below */
@@ -2751,6 +2781,19 @@ 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
+ *     reserved.
+ *
+ * @NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS: Maximum number of peers that HW
+ *     timestamping can be enabled for concurrently (u16), a wiphy attribute.
+ *     A value of 0xffff indicates setting for all peers (i.e. not specifying
+ *     an address with %NL80211_CMD_SET_HW_TIMESTAMP) is supported.
+ * @NL80211_ATTR_HW_TIMESTAMP_ENABLED: Indicates whether HW timestamping should
+ *     be enabled or not (flag attribute).
+ *
  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3280,6 +3323,11 @@ enum nl80211_attrs {
        NL80211_ATTR_RX_HW_TIMESTAMP,
        NL80211_ATTR_TD_BITMAP,
 
+       NL80211_ATTR_PUNCT_BITMAP,
+
+       NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS,
+       NL80211_ATTR_HW_TIMESTAMP_ENABLED,
+
        /* add attributes here, update the policy in nl80211.c */
 
        __NL80211_ATTR_AFTER_LAST,
@@ -5869,6 +5917,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
 
 /**
@@ -6294,6 +6343,15 @@ 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.
+ *
  * @NUM_NL80211_EXT_FEATURES: number of extended features.
  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
  */
@@ -6362,6 +6420,9 @@ enum nl80211_ext_feature_index {
        NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
        NL80211_EXT_FEATURE_RADAR_BACKGROUND,
        NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE,
+       NL80211_EXT_FEATURE_PUNCT,
+       NL80211_EXT_FEATURE_SECURE_NAN,
+       NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
 
        /* add new features before the definition below */
        NUM_NL80211_EXT_FEATURES,
@@ -6476,8 +6537,14 @@ 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.
  */
 enum nl80211_scan_flags {
        NL80211_SCAN_FLAG_LOW_PRIORITY                          = 1<<0,