Johannes Berg says: ==================== A couple of weeks worth of updates - looks like things are quiet: * merged net-next back to get a patch from net that another patch here depends on * various small improvements/cleanups across the board * 4-way handshake offload (many thanks to Arend for shepherding that) * mesh CSA/DFS support in mac80211 * the skb_put_zero() we discussed previously ====================
Showing the changes to include/uapi/linux (1 of 32 files). Show all
Unified · Split
| @@ -172,6 +172,29 @@ · 171 unmodified lines | ||
| 172 | 172 | * Multiple such rules can be created. |
| 173 | 173 | */ |
| 174 | 174 | |
| 175 | +/** | |
| 176 | + * DOC: WPA/WPA2 EAPOL handshake offload | |
| 177 | + * | |
| 178 | + * By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK flag drivers | |
| 179 | + * can indicate they support offloading EAPOL handshakes for WPA/WPA2 | |
| 180 | + * preshared key authentication. In %NL80211_CMD_CONNECT the preshared | |
| 181 | + * key should be specified using %NL80211_ATTR_PMK. Drivers supporting | |
| 182 | + * this offload may reject the %NL80211_CMD_CONNECT when no preshared | |
| 183 | + * key material is provided, for example when that driver does not | |
| 184 | + * support setting the temporal keys through %CMD_NEW_KEY. | |
| 185 | + * | |
| 186 | + * Similarly @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X flag can be | |
| 187 | + * set by drivers indicating offload support of the PTK/GTK EAPOL | |
| 188 | + * handshakes during 802.1X authentication. In order to use the offload | |
| 189 | + * the %NL80211_CMD_CONNECT should have %NL80211_ATTR_WANT_1X_4WAY_HS | |
| 190 | + * attribute flag. Drivers supporting this offload may reject the | |
| 191 | + * %NL80211_CMD_CONNECT when the attribute flag is not present. | |
| 192 | + * | |
| 193 | + * For 802.1X the PMK or PMK-R0 are set by providing %NL80211_ATTR_PMK | |
| 194 | + * using %NL80211_CMD_SET_PMK. For offloaded FT support also | |
| 195 | + * %NL80211_ATTR_PMKR0_NAME must be provided. | |
| 196 | + */ | |
| 197 | + | |
| 175 | 198 | /** |
| 176 | 199 | * DOC: FILS shared key authentication offload |
| 177 | 200 | * |
| @@ -546,8 +569,13 @@ · 368 unmodified lines | ||
| 546 | 569 | * authentication/association or not receiving a response from the AP. |
| 547 | 570 | * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as |
| 548 | 571 | * well to remain backwards compatible. |
| 549 | − * @NL80211_CMD_ROAM: request that the card roam (currently not implemented), | |
| 550 | − * sent as an event when the card/driver roamed by itself. | |
| 572 | + * @NL80211_CMD_ROAM: notifcation indicating the card/driver roamed by itself. | |
| 573 | + * When the driver roamed in a network that requires 802.1X authentication, | |
| 574 | + * %NL80211_ATTR_PORT_AUTHORIZED should be set if the 802.1X authentication | |
| 575 | + * was done by the driver or if roaming was done using Fast Transition | |
| 576 | + * protocol (in which case 802.1X authentication is not needed). If | |
| 577 | + * %NL80211_ATTR_PORT_AUTHORIZED is not set, user space is responsible for | |
| 578 | + * the 802.1X authentication. | |
| 551 | 579 | * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify |
| 552 | 580 | * userspace that a connection was dropped by the AP or due to other |
| 553 | 581 | * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and |
| @@ -947,6 +975,14 @@ · 393 unmodified lines | ||
| 947 | 975 | * does not result in a change for the current association. Currently, |
| 948 | 976 | * only the %NL80211_ATTR_IE data is used and updated with this command. |
| 949 | 977 | * |
| 978 | + * @NL80211_CMD_SET_PMK: For offloaded 4-Way handshake, set the PMK or PMK-R0 | |
| 979 | + * for the given authenticator address (specified with &NL80211_ATTR_MAC). | |
| 980 | + * When &NL80211_ATTR_PMKR0_NAME is set, &NL80211_ATTR_PMK specifies the | |
| 981 | + * PMK-R0, otherwise it specifies the PMK. | |
| 982 | + * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously | |
| 983 | + * configured PMK for the authenticator address identified by | |
| 984 | + * &NL80211_ATTR_MAC. | |
| 985 | + * | |
| 950 | 986 | * @NL80211_CMD_MAX: highest used command number |
| 951 | 987 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 952 | 988 | */ |
| @@ -1146,6 +1182,9 @@ enum nl80211_commands { · 193 unmodified lines | ||
| 1146 | 1182 | |
| 1147 | 1183 | NL80211_CMD_UPDATE_CONNECT_PARAMS, |
| 1148 | 1184 | |
| 1185 | + NL80211_CMD_SET_PMK, | |
| 1186 | + NL80211_CMD_DEL_PMK, | |
| 1187 | + | |
| 1149 | 1188 | /* add new commands above here */ |
| 1150 | 1189 | |
| 1151 | 1190 | /* used to define NL80211_CMD_MAX below */ |
| @@ -2080,14 +2119,27 @@ enum nl80211_commands { · 928 unmodified lines | ||
| 2080 | 2119 | * identifying the scope of PMKSAs. This is used with |
| 2081 | 2120 | * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA. |
| 2082 | 2121 | * |
| 2083 | − * @NL80211_ATTR_PMK: PMK for the PMKSA identified by %NL80211_ATTR_PMKID. | |
| 2084 | − * This is used with @NL80211_CMD_SET_PMKSA. | |
| 2122 | + * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with | |
| 2123 | + * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID. | |
| 2124 | + * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way | |
| 2125 | + * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is | |
| 2126 | + * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute | |
| 2127 | + * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well. | |
| 2085 | 2128 | * |
| 2086 | 2129 | * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to |
| 2087 | 2130 | * indicate that it supports multiple active scheduled scan requests. |
| 2088 | 2131 | * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled |
| 2089 | 2132 | * scan request that may be active for the device (u32). |
| 2090 | 2133 | * |
| 2134 | + * @NL80211_ATTR_WANT_1X_4WAY_HS: flag attribute which user-space can include | |
| 2135 | + * in %NL80211_CMD_CONNECT to indicate that for 802.1X authentication it | |
| 2136 | + * wants to use the supported offload of the 4-way handshake. | |
| 2137 | + * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT. | |
| 2138 | + * @NL80211_ATTR_PORT_AUTHORIZED: flag attribute used in %NL80211_CMD_ROAMED | |
| 2139 | + * notification indicating that that 802.1X authentication was done by | |
| 2140 | + * the driver or is not needed (because roaming used the Fast Transition | |
| 2141 | + * protocol). | |
| 2142 | + * | |
| 2091 | 2143 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2092 | 2144 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2093 | 2145 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -2510,6 +2562,10 @@ enum nl80211_attrs { · 416 unmodified lines | ||
| 2510 | 2562 | NL80211_ATTR_SCHED_SCAN_MULTI, |
| 2511 | 2563 | NL80211_ATTR_SCHED_SCAN_MAX_REQS, |
| 2512 | 2564 | |
| 2565 | + NL80211_ATTR_WANT_1X_4WAY_HS, | |
| 2566 | + NL80211_ATTR_PMKR0_NAME, | |
| 2567 | + NL80211_ATTR_PORT_AUTHORIZED, | |
| 2568 | + | |
| 2513 | 2569 | /* add attributes here, update the policy in nl80211.c */ |
| 2514 | 2570 | |
| 2515 | 2571 | __NL80211_ATTR_AFTER_LAST, |
| @@ -4852,6 +4908,13 @@ enum nl80211_feature_flags { · 2336 unmodified lines | ||
| 4852 | 4908 | * RSSI threshold values to monitor rather than exactly one threshold. |
| 4853 | 4909 | * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key |
| 4854 | 4910 | * authentication with %NL80211_CMD_CONNECT. |
| 4911 | + * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK: Device wants to do 4-way | |
| 4912 | + * handshake with PSK in station mode (PSK is passed as part of the connect | |
| 4913 | + * and associate commands), doing it in the host might not be supported. | |
| 4914 | + * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X: Device wants to do doing 4-way | |
| 4915 | + * handshake with 802.1X in station mode (will pass EAP frames to the host | |
| 4916 | + * and accept the set_pmk/del_pmk commands), doing it in the host might not | |
| 4917 | + * be supported. | |
| 4855 | 4918 | * |
| 4856 | 4919 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 4857 | 4920 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| @@ -4872,6 +4935,8 @@ enum nl80211_ext_feature_index { · 14 unmodified lines | ||
| 4872 | 4935 | NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI, |
| 4873 | 4936 | NL80211_EXT_FEATURE_CQM_RSSI_LIST, |
| 4874 | 4937 | NL80211_EXT_FEATURE_FILS_SK_OFFLOAD, |
| 4938 | + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK, | |
| 4939 | + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X, | |
| 4875 | 4940 | |
| 4876 | 4941 | /* add new features before the definition below */ |
| 4877 | 4942 | NUM_NL80211_EXT_FEATURES, |