mac80211: Update to version 5.4-rc2
[openwrt/staging/chunkeey.git] / package / network / utils / iw / patches / 001-nl80211_h_sync.patch
index 215c740dd721392479ea80ce1a5def659ce16b27..97cf82793d9b17f4e90e837d7ed7f52f191e405b 100644 (file)
 --- a/nl80211.h
 +++ b/nl80211.h
-@@ -1555,6 +1555,9 @@ enum nl80211_commands {
-  *    data is in the format defined for the payload of the QoS Map Set element
-  *    in IEEE Std 802.11-2012, 8.4.2.97.
+@@ -52,6 +52,11 @@
+ #define NL80211_MULTICAST_GROUP_NAN           "nan"
+ #define NL80211_MULTICAST_GROUP_TESTMODE      "testmode"
++#define NL80211_EDMG_BW_CONFIG_MIN    4
++#define NL80211_EDMG_BW_CONFIG_MAX    15
++#define NL80211_EDMG_CHANNELS_MIN     1
++#define NL80211_EDMG_CHANNELS_MAX     0x3c /* 0b00111100 */
++
+ /**
+  * DOC: Station handling
   *
+@@ -2361,6 +2366,16 @@ enum nl80211_commands {
+  * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
+  *    functionality.
+  *
++ * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ *    channel(s) that are allowed to be used for EDMG transmissions.
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
++ * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ *    the allowed channel bandwidth configurations. (u8 attribute)
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
++ *
 + * @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
-  */
-@@ -1883,6 +1886,8 @@ enum nl80211_attrs {
+@@ -2820,6 +2835,11 @@ enum nl80211_attrs {
  
-       NL80211_ATTR_QOS_MAP,
+       NL80211_ATTR_HE_OBSS_PD,
  
++      NL80211_ATTR_WIPHY_EDMG_CHANNELS,
++      NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
++
 +      NL80211_ATTR_WIPHY_ANTENNA_GAIN,
 +
        /* add attributes here, update the policy in nl80211.c */
  
        __NL80211_ATTR_AFTER_LAST,
-@@ -2442,9 +2447,15 @@ enum nl80211_reg_rule_attr {
-  * enum nl80211_sched_scan_match_attr - scheduled scan match attributes
-  * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved
-  * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching,
-- * only report BSS with matching SSID.
-+ *    only report BSS with matching SSID.
-  * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a
-- *    BSS in scan results. Filtering is turned off if not specified.
-+ *    BSS in scan results. Filtering is turned off if not specified. Note that
-+ *    if this attribute is in a match set of its own, then it is treated as
-+ *    the default value for all matchsets with an SSID, rather than being a
-+ *    matchset of its own without an RSSI filter. This is due to problems with
-+ *    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_MAX: highest scheduled scan filter
-  *    attribute number currently defined
-  * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
+@@ -3201,6 +3221,8 @@ enum nl80211_sta_bss_param {
+  *    sent to the station (u64, usec)
+  * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
+  * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
++ * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
++ *    of STA's association
+  * @__NL80211_STA_INFO_AFTER_LAST: internal
+  * @NL80211_STA_INFO_MAX: highest possible station info attribute
+  */
+@@ -3247,6 +3269,7 @@ enum nl80211_sta_info {
+       NL80211_STA_INFO_TX_DURATION,
+       NL80211_STA_INFO_AIRTIME_WEIGHT,
+       NL80211_STA_INFO_AIRTIME_LINK_METRIC,
++      NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
+       /* keep last */
+       __NL80211_STA_INFO_AFTER_LAST,
+@@ -3428,6 +3451,12 @@ enum nl80211_band_iftype_attr {
+  * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
+  * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
+  *    attributes from &enum nl80211_band_iftype_attr
++ * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
++ *    channel(s) that are allowed to be used for EDMG transmissions.
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
++ * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
++ *    the allowed channel bandwidth configurations.
++ *    Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
+  * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
+  * @__NL80211_BAND_ATTR_AFTER_LAST: internal use
+  */
+@@ -3445,6 +3474,9 @@ enum nl80211_band_attr {
+       NL80211_BAND_ATTR_VHT_CAPA,
+       NL80211_BAND_ATTR_IFTYPE_DATA,
++      NL80211_BAND_ATTR_EDMG_CHANNELS,
++      NL80211_BAND_ATTR_EDMG_BW_CONFIG,
++
+       /* keep last */
+       __NL80211_BAND_ATTR_AFTER_LAST,
+       NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
+@@ -3843,6 +3875,8 @@ enum nl80211_user_reg_hint_type {
+  * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
+  *    (on this channel or globally)
+  * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
++ * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
++ *    receiving frames destined to the local BSS
+  * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
+  *    currently defined
+  * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
+@@ -3859,6 +3893,7 @@ enum nl80211_survey_info {
+       NL80211_SURVEY_INFO_TIME_TX,
+       NL80211_SURVEY_INFO_TIME_SCAN,
+       NL80211_SURVEY_INFO_PAD,
++      NL80211_SURVEY_INFO_TIME_BSS_RX,
+       /* keep last */
+       __NL80211_SURVEY_INFO_AFTER_LAST,
+@@ -4543,6 +4578,7 @@ enum nl80211_txrate_gi {
+  * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
+  * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
+  * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
++ * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
+  * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
+  *    since newer kernel versions may support more bands
+  */
+@@ -4550,6 +4586,7 @@ enum nl80211_band {
+       NL80211_BAND_2GHZ,
+       NL80211_BAND_5GHZ,
+       NL80211_BAND_60GHZ,
++      NL80211_BAND_6GHZ,
+       NUM_NL80211_BANDS,
+ };