-@@ -2791,7 +2842,7 @@ enum nl80211_attrs {
-
- #define NL80211_MAX_SUPP_RATES 32
- #define NL80211_MAX_SUPP_HT_RATES 77
--#define NL80211_MAX_SUPP_REG_RULES 64
-+#define NL80211_MAX_SUPP_REG_RULES 128
- #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
- #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
- #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
-@@ -3125,6 +3176,10 @@ enum nl80211_sta_bss_param {
- * might not be fully accurate.
- * @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a
- * mesh gate (u8, 0 or 1)
-+ * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
-+ * 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_AFTER_LAST: internal
- * @NL80211_STA_INFO_MAX: highest possible station info attribute
- */
-@@ -3168,6 +3223,9 @@ enum nl80211_sta_info {
- NL80211_STA_INFO_RX_MPDUS,
- NL80211_STA_INFO_FCS_ERROR_COUNT,
- NL80211_STA_INFO_CONNECTED_TO_GATE,
-+ NL80211_STA_INFO_TX_DURATION,
-+ NL80211_STA_INFO_AIRTIME_WEIGHT,
-+ NL80211_STA_INFO_AIRTIME_LINK_METRIC,
-
- /* keep last */
- __NL80211_STA_INFO_AFTER_LAST,
-@@ -3277,8 +3335,10 @@ enum nl80211_mpath_flags {
- * &enum nl80211_mpath_flags;
- * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
- * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
-+ * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
-+ * @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination
- * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
-- * currently defind
-+ * currently defined
- * @__NL80211_MPATH_INFO_AFTER_LAST: internal use
- */
- enum nl80211_mpath_info {
-@@ -3290,6 +3350,8 @@ enum nl80211_mpath_info {
- NL80211_MPATH_INFO_FLAGS,
- NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
- NL80211_MPATH_INFO_DISCOVERY_RETRIES,
-+ NL80211_MPATH_INFO_HOP_COUNT,
-+ NL80211_MPATH_INFO_PATH_CHANGE,
-
- /* keep last */
- __NL80211_MPATH_INFO_AFTER_LAST,
-@@ -3618,6 +3680,14 @@ enum nl80211_reg_rule_attr {
- * value as specified by &struct nl80211_bss_select_rssi_adjust.
- * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
- * (this cannot be used together with SSID).
-+ * @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the
-+ * band specific minimum rssi thresholds for the bands defined in
-+ * enum nl80211_band. The minimum rssi threshold value(s32) specific to a
-+ * band shall be encapsulated in attribute with type value equals to one
-+ * of the NL80211_BAND_* defined in enum nl80211_band. For example, the
-+ * minimum rssi threshold value for 2.4GHZ band shall be encapsulated
-+ * within an attribute of type NL80211_BAND_2GHZ. And one or more of such
-+ * attributes will be nested within this attribute.
- * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
- * attribute number currently defined
- * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
-@@ -3630,6 +3700,7 @@ enum nl80211_sched_scan_match_attr {
- NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
- NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
- NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
-+ NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI,
-
- /* keep last */
- __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
-@@ -4114,6 +4185,27 @@ enum nl80211_channel_type {
- NL80211_CHAN_HT40PLUS
- };
-
-+/**
-+ * enum nl80211_key_mode - Key mode
-+ *
-+ * @NL80211_KEY_RX_TX: (Default)
-+ * Key can be used for Rx and Tx immediately
-+ *
-+ * The following modes can only be selected for unicast keys and when the
-+ * driver supports @NL80211_EXT_FEATURE_EXT_KEY_ID:
-+ *
-+ * @NL80211_KEY_NO_TX: Only allowed in combination with @NL80211_CMD_NEW_KEY:
-+ * Unicast key can only be used for Rx, Tx not allowed, yet
-+ * @NL80211_KEY_SET_TX: Only allowed in combination with @NL80211_CMD_SET_KEY:
-+ * The unicast key identified by idx and mac is cleared for Tx and becomes
-+ * the preferred Tx key for the station.
-+ */
-+enum nl80211_key_mode {
-+ NL80211_KEY_RX_TX,
-+ NL80211_KEY_NO_TX,
-+ NL80211_KEY_SET_TX
-+};
-+
- /**
- * enum nl80211_chan_width - channel width definitions