v1.5 branch refresh based upon upstream master @ c8677ca89e53e3be7988d54280fce166cc894a7e
[librecmc/librecmc.git] / package / network / utils / iw / patches / 001-nl80211_h_sync.patch
index 88e47cce82c8e2d36d7dde9d6d06e85ab1e4009b..2052cb2afaaf79fa00e07e3598cb85ab0210e7e8 100644 (file)
 --- a/nl80211.h
 +++ b/nl80211.h
-@@ -323,7 +323,7 @@
-  * @NL80211_CMD_GET_SCAN: get scan results
-  * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters
-  *    %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
-- *    probe requests at CCK rate or not. %NL80211_ATTR_MAC can be used to
-+ *    probe requests at CCK rate or not. %NL80211_ATTR_BSSID can be used to
-  *    specify a BSSID to scan for; if not included, the wildcard BSSID will
-  *    be used.
-  * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to
-@@ -600,6 +600,20 @@
+@@ -2153,6 +2153,9 @@ enum nl80211_commands {
+  * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT.
+  * @NL80211_ATTR_PORT_AUTHORIZED: (reserved)
   *
-  * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface.
-  *
-+ * @NL80211_CMD_SET_MULTICAST_TO_UNICAST: Configure if this AP should perform
-+ *    multicast to unicast conversion. When enabled, all multicast packets
-+ *    with ethertype ARP, IPv4 or IPv6 (possibly within an 802.1Q header)
-+ *    will be sent out to each station once with the destination (multicast)
-+ *    MAC address replaced by the station's MAC address. Note that this may
-+ *    break certain expectations of the receiver, e.g. the ability to drop
-+ *    unicast IP packets encapsulated in multicast L2 frames, or the ability
-+ *    to not send destination unreachable messages in such cases.
-+ *    This can only be toggled per BSS. Configure this on an interface of
-+ *    type %NL80211_IFTYPE_AP. It applies to all its VLAN interfaces
-+ *    (%NL80211_IFTYPE_AP_VLAN), except for those in 4addr (WDS) mode.
-+ *    If %NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED is not present with this
-+ *    command, the feature is disabled.
-+ *
-  * @NL80211_CMD_JOIN_MESH: Join a mesh. The mesh ID must be given, and initial
-  *    mesh config parameters may be given.
-  * @NL80211_CMD_LEAVE_MESH: Leave the mesh network -- no special arguments, the
-@@ -874,6 +888,12 @@
-  *    This will contain a %NL80211_ATTR_NAN_MATCH nested attribute and
-  *    %NL80211_ATTR_COOKIE.
-  *
-+ * @NL80211_CMD_UPDATE_CONNECT_PARAMS: Update one or more connect parameters
-+ *    for subsequent roaming cases if the driver or firmware uses internal
-+ *    BSS selection. This command can be issued only while connected and it
-+ *    does not result in a change for the current association. Currently,
-+ *    only the %NL80211_ATTR_IE data is used and updated with this command.
-+ *
-  * @NL80211_CMD_MAX: highest used command number
-  * @__NL80211_CMD_AFTER_LAST: internal use
-  */
-@@ -1069,6 +1089,10 @@ enum nl80211_commands {
-       NL80211_CMD_CHANGE_NAN_CONFIG,
-       NL80211_CMD_NAN_MATCH,
-+      NL80211_CMD_SET_MULTICAST_TO_UNICAST,
-+
-+      NL80211_CMD_UPDATE_CONNECT_PARAMS,
-+
-       /* add new commands above here */
-       /* used to define NL80211_CMD_MAX below */
-@@ -1638,8 +1662,16 @@ enum nl80211_commands {
-  *    the connection request from a station. nl80211_connect_failed_reason
-  *    enum has different reasons of connection failure.
-  *
-- * @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts
-- *    with the Authentication transaction sequence number field.
-+ * @NL80211_ATTR_AUTH_DATA: Fields and elements in Authentication frames.
-+ *    This contains the authentication frame body (non-IE and IE data),
-+ *    excluding the Authentication algorithm number, i.e., starting at the
-+ *    Authentication transaction sequence number field. It is used with
-+ *    authentication algorithms that need special fields to be added into
-+ *    the frames (SAE and FILS). Currently, only the SAE cases use the
-+ *    initial two fields (Authentication transaction sequence number and
-+ *    Status code). However, those fields are included in the attribute data
-+ *    for all authentication algorithms to keep the attribute definition
-+ *    consistent.
-  *
-  * @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from
-  *    association request when used with NL80211_CMD_NEW_STATION)
-@@ -1740,7 +1772,9 @@ enum nl80211_commands {
-  *
-  * @NL80211_ATTR_OPMODE_NOTIF: Operating mode field from Operating Mode
-  *    Notification Element based on association request when used with
-- *    %NL80211_CMD_NEW_STATION; u8 attribute.
-+ *    %NL80211_CMD_NEW_STATION or %NL80211_CMD_SET_STATION (only when
-+ *    %NL80211_FEATURE_FULL_AP_CLIENT_STATE is supported, or with TDLS);
-+ *    u8 attribute.
-  *
-  * @NL80211_ATTR_VENDOR_ID: The vendor ID, either a 24-bit OUI or, if
-  *    %NL80211_VENDOR_ID_IS_LINUX is set, a special Linux ID (not used yet)
-@@ -1788,6 +1822,8 @@ enum nl80211_commands {
-  *    and remove functions. NAN notifications will be sent in unicast to that
-  *    socket. Without this attribute, any socket can add functions and the
-  *    notifications will be sent to the %NL80211_MCGRP_NAN multicast group.
-+ *    If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the
-+ *    station will deauthenticate when the socket is closed.
-  *
-  * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
-  *    the TDLS link initiator.
-@@ -1936,6 +1972,38 @@ enum nl80211_commands {
-  *    attribute.
-  * @NL80211_ATTR_NAN_MATCH: used to report a match. This is a nested attribute.
-  *    See &enum nl80211_nan_match_attributes.
-+ * @NL80211_ATTR_FILS_KEK: KEK for FILS (Re)Association Request/Response frame
-+ *    protection.
-+ * @NL80211_ATTR_FILS_NONCES: Nonces (part of AAD) for FILS (Re)Association
-+ *    Request/Response frame protection. This attribute contains the 16 octet
-+ *    STA Nonce followed by 16 octets of AP Nonce.
-+ *
-+ * @NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED: Indicates whether or not multicast
-+ *    packets should be send out as unicast to all stations (flag attribute).
-+ *
-+ * @NL80211_ATTR_BSSID: The BSSID of the AP. Note that %NL80211_ATTR_MAC is also
-+ *    used in various commands/events for specifying the BSSID.
-+ *
-+ * @NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI: Relative RSSI threshold by which
-+ *    other BSSs has to be better or slightly worse than the current
-+ *    connected BSS so that they get reported to user space.
-+ *    This will give an opportunity to userspace to consider connecting to
-+ *    other matching BSSs which have better or slightly worse RSSI than
-+ *    the current connected BSS by using an offloaded operation to avoid
-+ *    unnecessary wakeups.
-+ *
-+ * @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in
-+ *    the specified band is to be adjusted before doing
-+ *    %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparision to figure out
-+ *    better BSSs. The attribute value is a packed structure
-+ *    value as specified by &struct nl80211_bss_select_rssi_adjust.
-+ *
-+ * @NL80211_ATTR_TIMEOUT_REASON: The reason for which an operation timed out.
-+ *    u32 attribute with an &enum nl80211_timeout_reason value. This is used,
-+ *    e.g., with %NL80211_CMD_CONNECT event.
-+ *
 + * @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
-@@ -2195,7 +2263,7 @@ enum nl80211_attrs {
-       NL80211_ATTR_CONN_FAILED_REASON,
--      NL80211_ATTR_SAE_DATA,
-+      NL80211_ATTR_AUTH_DATA,
-       NL80211_ATTR_VHT_CAPABILITY,
+  * @__NL80211_ATTR_AFTER_LAST: internal use
+@@ -2579,6 +2582,8 @@ enum nl80211_attrs {
+       NL80211_ATTR_PMKR0_NAME,
+       NL80211_ATTR_PORT_AUTHORIZED,
  
-@@ -2336,6 +2404,20 @@ enum nl80211_attrs {
-       NL80211_ATTR_NAN_FUNC,
-       NL80211_ATTR_NAN_MATCH,
-+      NL80211_ATTR_FILS_KEK,
-+      NL80211_ATTR_FILS_NONCES,
-+
-+      NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED,
-+
-+      NL80211_ATTR_BSSID,
-+
-+      NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI,
-+      NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST,
-+
-+      NL80211_ATTR_TIMEOUT_REASON,
-+
 +      NL80211_ATTR_WIPHY_ANTENNA_GAIN,
 +
        /* add attributes here, update the policy in nl80211.c */
  
        __NL80211_ATTR_AFTER_LAST,
-@@ -2347,6 +2429,7 @@ enum nl80211_attrs {
- #define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
- #define       NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
- #define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER
-+#define NL80211_ATTR_SAE_DATA NL80211_ATTR_AUTH_DATA
- /*
-  * Allow user space programs to use #ifdef on new attributes by defining them
-@@ -3027,6 +3110,13 @@ enum nl80211_reg_rule_attr {
-  *    how this API was implemented in the past. Also, due to the same problem,
-  *    the only way to create a matchset with only an RSSI filter (with this
-  *    attribute) is if there's only a single matchset with the RSSI attribute.
-+ * @NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI: Flag indicating whether
-+ *    %NL80211_SCHED_SCAN_MATCH_ATTR_RSSI to be used as absolute RSSI or
-+ *    relative to current bss's RSSI.
-+ * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST: When present the RSSI level for
-+ *    BSS-es in the specified band is to be adjusted before doing
-+ *    RSSI-based BSS selection. The attribute value is a packed structure
-+ *    value as specified by &struct nl80211_bss_select_rssi_adjust.
-  * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
-  *    attribute number currently defined
-  * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
-@@ -3036,6 +3126,8 @@ enum nl80211_sched_scan_match_attr {
-       NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
-       NL80211_SCHED_SCAN_MATCH_ATTR_RSSI,
-+      NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
-+      NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
-       /* keep last */
-       __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
-@@ -3660,6 +3752,9 @@ enum nl80211_bss_status {
-  * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r)
-  * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP)
-  * @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals
-+ * @NL80211_AUTHTYPE_FILS_SK: Fast Initial Link Setup shared key
-+ * @NL80211_AUTHTYPE_FILS_SK_PFS: Fast Initial Link Setup shared key with PFS
-+ * @NL80211_AUTHTYPE_FILS_PK: Fast Initial Link Setup public key
-  * @__NL80211_AUTHTYPE_NUM: internal
-  * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm
-  * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by
-@@ -3672,6 +3767,9 @@ enum nl80211_auth_type {
-       NL80211_AUTHTYPE_FT,
-       NL80211_AUTHTYPE_NETWORK_EAP,
-       NL80211_AUTHTYPE_SAE,
-+      NL80211_AUTHTYPE_FILS_SK,
-+      NL80211_AUTHTYPE_FILS_SK_PFS,
-+      NL80211_AUTHTYPE_FILS_PK,
-       /* keep last */
-       __NL80211_AUTHTYPE_NUM,
-@@ -4280,6 +4378,9 @@ enum nl80211_iface_limit_attrs {
-  *    of supported channel widths for radar detection.
-  * @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap
-  *    of supported regulatory regions for radar detection.
-+ * @NL80211_IFACE_COMB_BI_MIN_GCD: u32 attribute specifying the minimum GCD of
-+ *    different beacon intervals supported by all the interface combinations
-+ *    in this group (if not present, all beacon intervals be identical).
-  * @NUM_NL80211_IFACE_COMB: number of attributes
-  * @MAX_NL80211_IFACE_COMB: highest attribute number
-  *
-@@ -4287,8 +4388,8 @@ enum nl80211_iface_limit_attrs {
-  *    limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2
-  *    => allows an AP and a STA that must match BIs
-  *
-- *    numbers = [ #{AP, P2P-GO} <= 8 ], channels = 1, max = 8
-- *    => allows 8 of AP/GO
-+ *    numbers = [ #{AP, P2P-GO} <= 8 ], BI min gcd, channels = 1, max = 8,
-+ *    => allows 8 of AP/GO that can have BI gcd >= min gcd
-  *
-  *    numbers = [ #{STA} <= 2 ], channels = 2, max = 2
-  *    => allows two STAs on different channels
-@@ -4314,6 +4415,7 @@ enum nl80211_if_combination_attrs {
-       NL80211_IFACE_COMB_NUM_CHANNELS,
-       NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
-       NL80211_IFACE_COMB_RADAR_DETECT_REGIONS,
-+      NL80211_IFACE_COMB_BI_MIN_GCD,
+@@ -3862,9 +3867,6 @@ enum nl80211_bss_scan_width {
+  *    @NL80211_BSS_PARENT_BSSID. (u64).
+  * @NL80211_BSS_PARENT_BSSID: the BSS according to which @NL80211_BSS_PARENT_TSF
+  *    is set.
+- * @NL80211_BSS_CHAIN_SIGNAL: per-chain signal strength of last BSS update.
+- *    Contains a nested array of signal strength attributes (u8, dBm),
+- *    using the nesting index as the antenna number.
+  * @__NL80211_BSS_AFTER_LAST: internal
+  * @NL80211_BSS_MAX: highest BSS attribute
+  */
+@@ -3888,7 +3890,6 @@ enum nl80211_bss {
+       NL80211_BSS_PAD,
+       NL80211_BSS_PARENT_TSF,
+       NL80211_BSS_PARENT_BSSID,
+-      NL80211_BSS_CHAIN_SIGNAL,
  
        /* keep last */
-       NUM_NL80211_IFACE_COMB,
-@@ -4634,6 +4736,15 @@ enum nl80211_feature_flags {
-  *    configuration (AP/mesh) with HT rates.
-  * @NL80211_EXT_FEATURE_BEACON_RATE_VHT: Driver supports beacon rate
-  *    configuration (AP/mesh) with VHT rates.
-+ * @NL80211_EXT_FEATURE_FILS_STA: This driver supports Fast Initial Link Setup
-+ *    with user space SME (NL80211_CMD_AUTHENTICATE) in station mode.
-+ * @NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA: This driver supports randomized TA
-+ *    in @NL80211_CMD_FRAME while not associated.
-+ * @NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED: This driver supports
-+ *    randomized TA in @NL80211_CMD_FRAME while associated.
-+ * @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan
-+ *    for reporting BSSs with better RSSI than the current connected BSS
-+ *    (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI).
-  *
-  * @NUM_NL80211_EXT_FEATURES: number of extended features.
-  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
-@@ -4648,6 +4759,10 @@ enum nl80211_ext_feature_index {
-       NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
-       NL80211_EXT_FEATURE_BEACON_RATE_HT,
-       NL80211_EXT_FEATURE_BEACON_RATE_VHT,
-+      NL80211_EXT_FEATURE_FILS_STA,
-+      NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA,
-+      NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED,
-+      NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,
-       /* add new features before the definition below */
-       NUM_NL80211_EXT_FEATURES,
-@@ -4687,6 +4802,21 @@ enum nl80211_connect_failed_reason {
- };
- /**
-+ * enum nl80211_timeout_reason - timeout reasons
-+ *
-+ * @NL80211_TIMEOUT_UNSPECIFIED: Timeout reason unspecified.
-+ * @NL80211_TIMEOUT_SCAN: Scan (AP discovery) timed out.
-+ * @NL80211_TIMEOUT_AUTH: Authentication timed out.
-+ * @NL80211_TIMEOUT_ASSOC: Association timed out.
-+ */
-+enum nl80211_timeout_reason {
-+      NL80211_TIMEOUT_UNSPECIFIED,
-+      NL80211_TIMEOUT_SCAN,
-+      NL80211_TIMEOUT_AUTH,
-+      NL80211_TIMEOUT_ASSOC,
-+};
-+
-+/**
-  * enum nl80211_scan_flags -  scan request control flags
-  *
-  * Scan request control flags are used to control the handling
-@@ -4900,8 +5030,9 @@ enum nl80211_sched_scan_plan {
- /**
-  * struct nl80211_bss_select_rssi_adjust - RSSI adjustment parameters.
-  *
-- * @band: band of BSS that must match for RSSI value adjustment.
-- * @delta: value used to adjust the RSSI value of matching BSS.
-+ * @band: band of BSS that must match for RSSI value adjustment. The value
-+ *    of this field is according to &enum nl80211_band.
-+ * @delta: value used to adjust the RSSI value of matching BSS in dB.
-  */
- struct nl80211_bss_select_rssi_adjust {
-       __u8 band;
+       __NL80211_BSS_AFTER_LAST,