diff options
Diffstat (limited to 'package/network/utils/iw/patches')
-rw-r--r-- | package/network/utils/iw/patches/001-nl80211_h_sync.patch | 101 |
1 files changed, 77 insertions, 24 deletions
diff --git a/package/network/utils/iw/patches/001-nl80211_h_sync.patch b/package/network/utils/iw/patches/001-nl80211_h_sync.patch index 5c0993a7b7..884261621e 100644 --- a/package/network/utils/iw/patches/001-nl80211_h_sync.patch +++ b/package/network/utils/iw/patches/001-nl80211_h_sync.patch @@ -1,5 +1,3 @@ -diff --git a/nl80211.h b/nl80211.h -index 31ae5c7..9fb7370 100644 --- a/nl80211.h +++ b/nl80211.h @@ -11,7 +11,7 @@ @@ -11,7 +9,23 @@ index 31ae5c7..9fb7370 100644 * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above -@@ -1065,6 +1065,26 @@ +@@ -235,6 +235,15 @@ + */ + + /** ++ * DOC: SAE authentication offload ++ * ++ * By setting @NL80211_EXT_FEATURE_SAE_OFFLOAD flag drivers can indicate they ++ * support offloading SAE authentication for WPA3-Personal networks. In ++ * %NL80211_CMD_CONNECT the password for SAE should be specified using ++ * %NL80211_ATTR_SAE_PASSWORD. ++ */ ++ ++/** + * enum nl80211_commands - supported nl80211 commands + * + * @NL80211_CMD_UNSPEC: unspecified command to catch errors +@@ -1065,6 +1074,26 @@ * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes * determining the width and type. * @@ -38,7 +52,7 @@ index 31ae5c7..9fb7370 100644 * @NL80211_CMD_MAX: highest used command number * @__NL80211_CMD_AFTER_LAST: internal use */ -@@ -1285,6 +1305,10 @@ enum nl80211_commands { +@@ -1285,6 +1314,10 @@ enum nl80211_commands { NL80211_CMD_NOTIFY_RADAR, @@ -49,7 +63,7 @@ index 31ae5c7..9fb7370 100644 /* add new commands above here */ /* used to define NL80211_CMD_MAX below */ -@@ -1565,6 +1589,12 @@ enum nl80211_commands { +@@ -1565,6 +1598,12 @@ enum nl80211_commands { * (a u32 with flags from &enum nl80211_wpa_versions). * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to * indicate which key management algorithm(s) to use (an array of u32). @@ -62,7 +76,7 @@ index 31ae5c7..9fb7370 100644 * * @NL80211_ATTR_REQ_IE: (Re)association request information elements as * sent out by the card, for ROAM and successful CONNECT events. -@@ -2260,10 +2290,10 @@ enum nl80211_commands { +@@ -2260,10 +2299,10 @@ enum nl80211_commands { * &enum nl80211_external_auth_action value). This is used with the * %NL80211_CMD_EXTERNAL_AUTH request event. * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user @@ -77,7 +91,7 @@ index 31ae5c7..9fb7370 100644 * * @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED. -@@ -2299,6 +2329,21 @@ enum nl80211_commands { +@@ -2299,6 +2338,27 @@ enum nl80211_commands { * This is also used for capability advertisement in the wiphy information, * with the appropriate sub-attributes. * @@ -93,13 +107,19 @@ index 31ae5c7..9fb7370 100644 + * should be picking up the lowest tx power, either tx power per-interface + * or per-station. + * ++ * @NL80211_ATTR_SAE_PASSWORD: attribute for passing SAE password material. It ++ * is used with %NL80211_CMD_CONNECT to provide password for offloading ++ * SAE authentication for WPA3-Personal networks. ++ * ++ * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support. ++ * + * @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 -@@ -2748,6 +2793,12 @@ enum nl80211_attrs { +@@ -2748,6 +2808,16 @@ enum nl80211_attrs { NL80211_ATTR_PEER_MEASUREMENTS, @@ -107,12 +127,16 @@ index 31ae5c7..9fb7370 100644 + NL80211_ATTR_STA_TX_POWER_SETTING, + NL80211_ATTR_STA_TX_POWER, + ++ NL80211_ATTR_SAE_PASSWORD, ++ ++ NL80211_ATTR_TWT_RESPONDER, ++ + NL80211_ATTR_WIPHY_ANTENNA_GAIN, + /* add attributes here, update the policy in nl80211.c */ __NL80211_ATTR_AFTER_LAST, -@@ -2791,7 +2842,7 @@ enum nl80211_attrs { +@@ -2791,14 +2861,14 @@ enum nl80211_attrs { #define NL80211_MAX_SUPP_RATES 32 #define NL80211_MAX_SUPP_HT_RATES 77 @@ -121,7 +145,15 @@ index 31ae5c7..9fb7370 100644 #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 { + #define NL80211_HT_CAPABILITY_LEN 26 + #define NL80211_VHT_CAPABILITY_LEN 12 + #define NL80211_HE_MIN_CAPABILITY_LEN 16 +-#define NL80211_HE_MAX_CAPABILITY_LEN 51 ++#define NL80211_HE_MAX_CAPABILITY_LEN 54 + #define NL80211_MAX_NR_CIPHER_SUITES 5 + #define NL80211_MAX_NR_AKM_SUITES 2 + +@@ -3125,6 +3195,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) @@ -132,7 +164,7 @@ index 31ae5c7..9fb7370 100644 * @__NL80211_STA_INFO_AFTER_LAST: internal * @NL80211_STA_INFO_MAX: highest possible station info attribute */ -@@ -3168,6 +3223,9 @@ enum nl80211_sta_info { +@@ -3168,6 +3242,9 @@ enum nl80211_sta_info { NL80211_STA_INFO_RX_MPDUS, NL80211_STA_INFO_FCS_ERROR_COUNT, NL80211_STA_INFO_CONNECTED_TO_GATE, @@ -142,7 +174,7 @@ index 31ae5c7..9fb7370 100644 /* keep last */ __NL80211_STA_INFO_AFTER_LAST, -@@ -3277,8 +3335,10 @@ enum nl80211_mpath_flags { +@@ -3277,8 +3354,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 @@ -154,7 +186,7 @@ index 31ae5c7..9fb7370 100644 * @__NL80211_MPATH_INFO_AFTER_LAST: internal use */ enum nl80211_mpath_info { -@@ -3290,6 +3350,8 @@ enum nl80211_mpath_info { +@@ -3290,6 +3369,8 @@ enum nl80211_mpath_info { NL80211_MPATH_INFO_FLAGS, NL80211_MPATH_INFO_DISCOVERY_TIMEOUT, NL80211_MPATH_INFO_DISCOVERY_RETRIES, @@ -163,7 +195,7 @@ index 31ae5c7..9fb7370 100644 /* keep last */ __NL80211_MPATH_INFO_AFTER_LAST, -@@ -3618,6 +3680,14 @@ enum nl80211_reg_rule_attr { +@@ -3618,6 +3699,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). @@ -178,7 +210,7 @@ index 31ae5c7..9fb7370 100644 * @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 { +@@ -3630,6 +3719,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, @@ -186,11 +218,10 @@ index 31ae5c7..9fb7370 100644 /* keep last */ __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, -@@ -4114,6 +4185,27 @@ enum nl80211_channel_type { - NL80211_CHAN_HT40PLUS +@@ -4115,6 +4205,27 @@ enum nl80211_channel_type { }; -+/** + /** + * enum nl80211_key_mode - Key mode + * + * @NL80211_KEY_RX_TX: (Default) @@ -211,10 +242,19 @@ index 31ae5c7..9fb7370 100644 + NL80211_KEY_SET_TX +}; + - /** ++/** * enum nl80211_chan_width - channel width definitions * -@@ -4357,6 +4449,9 @@ enum nl80211_key_default_types { + * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH +@@ -4319,6 +4430,7 @@ enum nl80211_mfp { + enum nl80211_wpa_versions { + NL80211_WPA_VERSION_1 = 1 << 0, + NL80211_WPA_VERSION_2 = 1 << 1, ++ NL80211_WPA_VERSION_3 = 1 << 2, + }; + + /** +@@ -4357,6 +4469,9 @@ enum nl80211_key_default_types { * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags * attributes, specifying what a key should be set as default as. * See &enum nl80211_key_default_types. @@ -224,7 +264,7 @@ index 31ae5c7..9fb7370 100644 * @__NL80211_KEY_AFTER_LAST: internal * @NL80211_KEY_MAX: highest key attribute */ -@@ -4370,6 +4465,7 @@ enum nl80211_key_attributes { +@@ -4370,6 +4485,7 @@ enum nl80211_key_attributes { NL80211_KEY_DEFAULT_MGMT, NL80211_KEY_TYPE, NL80211_KEY_DEFAULT_TYPES, @@ -232,7 +272,16 @@ index 31ae5c7..9fb7370 100644 /* keep last */ __NL80211_KEY_AFTER_LAST, -@@ -5315,6 +5411,21 @@ enum nl80211_feature_flags { +@@ -5223,7 +5339,7 @@ enum nl80211_feature_flags { + NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28, + NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29, + NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30, +- NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31, ++ NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1U << 31, + }; + + /** +@@ -5315,6 +5431,24 @@ enum nl80211_feature_flags { * able to rekey an in-use key correctly. Userspace must not rekey PTK keys * if this flag is not set. Ignoring this can leak clear text packets and/or * freeze the connection. @@ -251,10 +300,13 @@ index 31ae5c7..9fb7370 100644 + * + * @NL80211_EXT_FEATURE_STA_TX_PWR: This driver supports controlling tx power + * to a station. ++ * ++ * @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in ++ * station mode (SAE password is passed as part of the connect command). * * @NUM_NL80211_EXT_FEATURES: number of extended features. * @MAX_NL80211_EXT_FEATURES: highest extended feature index. -@@ -5355,6 +5466,11 @@ enum nl80211_ext_feature_index { +@@ -5355,6 +5489,12 @@ enum nl80211_ext_feature_index { NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0, NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, @@ -263,10 +315,11 @@ index 31ae5c7..9fb7370 100644 + NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD, + NL80211_EXT_FEATURE_EXT_KEY_ID, + NL80211_EXT_FEATURE_STA_TX_PWR, ++ NL80211_EXT_FEATURE_SAE_OFFLOAD, /* add new features before the definition below */ NUM_NL80211_EXT_FEATURES, -@@ -5606,9 +5722,14 @@ enum nl80211_crit_proto_id { +@@ -5606,9 +5746,14 @@ enum nl80211_crit_proto_id { * Used by cfg80211_rx_mgmt() * * @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver. |