mac80211: Update to version 5.4-rc2
[openwrt/openwrt.git] / package / network / utils / iw / patches / 001-nl80211_h_sync.patch
index 2052cb2afaaf79fa00e07e3598cb85ab0210e7e8..97cf82793d9b17f4e90e837d7ed7f52f191e405b 100644 (file)
 --- a/nl80211.h
 +++ b/nl80211.h
-@@ -2153,6 +2153,9 @@ enum nl80211_commands {
-  * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT.
-  * @NL80211_ATTR_PORT_AUTHORIZED: (reserved)
+@@ -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
-@@ -2579,6 +2582,8 @@ enum nl80211_attrs {
-       NL80211_ATTR_PMKR0_NAME,
-       NL80211_ATTR_PORT_AUTHORIZED,
+@@ -2820,6 +2835,11 @@ enum nl80211_attrs {
  
+       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,
-@@ -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
+@@ -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
   */
-@@ -3888,7 +3890,6 @@ enum nl80211_bss {
-       NL80211_BSS_PAD,
-       NL80211_BSS_PARENT_TSF,
-       NL80211_BSS_PARENT_BSSID,
--      NL80211_BSS_CHAIN_SIGNAL,
+@@ -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_BSS_AFTER_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,
+ };