History

Merge tag 'mac80211-next-for-davem-2017-04-18' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next

Johannes Berg says: ==================== My last pull request has been a while, we now have: * connection quality monitoring with multiple thresholds * support for FILS shared key authentication offload * pre-CAC regulatory compliance - only ETSI allows this * sanity check for some rate confusion that hit ChromeOS (but nobody else uses it, evidently) * some documentation updates * lots of cleanups ====================

David S. Miller committed 9 years ago

Commit 028f43b2 parents 0ef9059 bbf67e484 files · +1802 −540Browse files

Showing the changes to include/uapi/linux (1 of 84 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+96−4
@@ -172,6 +172,42 @@ · 171 unmodified lines
172 * Multiple such rules can be created.172 * Multiple such rules can be created.
173 */173 */
174 174
175/**
176 * DOC: FILS shared key authentication offload
177 *
178 * FILS shared key authentication offload can be advertized by drivers by
179 * setting @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD flag. The drivers that support
180 * FILS shared key authentication offload should be able to construct the
181 * authentication and association frames for FILS shared key authentication and
182 * eventually do a key derivation as per IEEE 802.11ai. The below additional
183 * parameters should be given to driver in %NL80211_CMD_CONNECT.
184 * %NL80211_ATTR_FILS_ERP_USERNAME - used to construct keyname_nai
185 * %NL80211_ATTR_FILS_ERP_REALM - used to construct keyname_nai
186 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used to construct erp message
187 * %NL80211_ATTR_FILS_ERP_RRK - used to generate the rIK and rMSK
188 * rIK should be used to generate an authentication tag on the ERP message and
189 * rMSK should be used to derive a PMKSA.
190 * rIK, rMSK should be generated and keyname_nai, sequence number should be used
191 * as specified in IETF RFC 6696.
192 *
193 * When FILS shared key authentication is completed, driver needs to provide the
194 * below additional parameters to userspace.
195 * %NL80211_ATTR_FILS_KEK - used for key renewal
196 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used in further EAP-RP exchanges
197 * %NL80211_ATTR_PMKID - used to identify the PMKSA used/generated
198 * %Nl80211_ATTR_PMK - used to update PMKSA cache in userspace
199 * The PMKSA can be maintained in userspace persistently so that it can be used
200 * later after reboots or wifi turn off/on also.
201 *
202 * %NL80211_ATTR_FILS_CACHE_ID is the cache identifier advertized by a FILS
203 * capable AP supporting PMK caching. It specifies the scope within which the
204 * PMKSAs are cached in an ESS. %NL80211_CMD_SET_PMKSA and
205 * %NL80211_CMD_DEL_PMKSA are enhanced to allow support for PMKSA caching based
206 * on FILS cache identifier. Additionally %NL80211_ATTR_PMK is used with
207 * %NL80211_SET_PMKSA to specify the PMK corresponding to a PMKSA for driver to
208 * use in a FILS shared key connection with PMKSA caching.
209 */
210
175/**211/**
176 * enum nl80211_commands - supported nl80211 commands212 * enum nl80211_commands - supported nl80211 commands
177 *213 *
@@ -370,10 +406,18 @@ · 192 unmodified lines
370 * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to406 * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to
371 * NL80211_CMD_GET_SURVEY and on the "scan" multicast group)407 * NL80211_CMD_GET_SURVEY and on the "scan" multicast group)
372 *408 *
373 * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry, using %NL80211_ATTR_MAC409 * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry using %NL80211_ATTR_MAC
374 * (for the BSSID) and %NL80211_ATTR_PMKID.410 * (for the BSSID), %NL80211_ATTR_PMKID, and optionally %NL80211_ATTR_PMK
411 * (PMK is used for PTKSA derivation in case of FILS shared key offload) or
412 * using %NL80211_ATTR_SSID, %NL80211_ATTR_FILS_CACHE_ID,
413 * %NL80211_ATTR_PMKID, and %NL80211_ATTR_PMK in case of FILS
414 * authentication where %NL80211_ATTR_FILS_CACHE_ID is the identifier
415 * advertized by a FILS capable AP identifying the scope of PMKSA in an
416 * ESS.
375 * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC417 * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC
376 * (for the BSSID) and %NL80211_ATTR_PMKID.418 * (for the BSSID) and %NL80211_ATTR_PMKID or using %NL80211_ATTR_SSID,
419 * %NL80211_ATTR_FILS_CACHE_ID, and %NL80211_ATTR_PMKID in case of FILS
420 * authentication.
377 * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries.421 * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries.
378 *422 *
379 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain423 * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain
@@ -2012,6 +2056,31 @@ enum nl80211_commands { · 1632 unmodified lines
2012 * u32 attribute with an &enum nl80211_timeout_reason value. This is used,2056 * u32 attribute with an &enum nl80211_timeout_reason value. This is used,
2013 * e.g., with %NL80211_CMD_CONNECT event.2057 * e.g., with %NL80211_CMD_CONNECT event.
2014 *2058 *
2059 * @NL80211_ATTR_FILS_ERP_USERNAME: EAP Re-authentication Protocol (ERP)
2060 * username part of NAI used to refer keys rRK and rIK. This is used with
2061 * %NL80211_CMD_CONNECT.
2062 *
2063 * @NL80211_ATTR_FILS_ERP_REALM: EAP Re-authentication Protocol (ERP) realm part
2064 * of NAI specifying the domain name of the ER server. This is used with
2065 * %NL80211_CMD_CONNECT.
2066 *
2067 * @NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM: Unsigned 16-bit ERP next sequence number
2068 * to use in ERP messages. This is used in generating the FILS wrapped data
2069 * for FILS authentication and is used with %NL80211_CMD_CONNECT.
2070 *
2071 * @NL80211_ATTR_FILS_ERP_RRK: ERP re-authentication Root Key (rRK) for the
2072 * NAI specified by %NL80211_ATTR_FILS_ERP_USERNAME and
2073 * %NL80211_ATTR_FILS_ERP_REALM. This is used for generating rIK and rMSK
2074 * from successful FILS authentication and is used with
2075 * %NL80211_CMD_CONNECT.
2076 *
2077 * @NL80211_ATTR_FILS_CACHE_ID: A 2-octet identifier advertized by a FILS AP
2078 * identifying the scope of PMKSAs. This is used with
2079 * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA.
2080 *
2081 * @NL80211_ATTR_PMK: PMK for the PMKSA identified by %NL80211_ATTR_PMKID.
2082 * This is used with @NL80211_CMD_SET_PMKSA.
2083 *
2015 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2084 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2016 * @NL80211_ATTR_MAX: highest attribute number currently defined2085 * @NL80211_ATTR_MAX: highest attribute number currently defined
2017 * @__NL80211_ATTR_AFTER_LAST: internal use2086 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2423,6 +2492,14 @@ enum nl80211_attrs { · 405 unmodified lines
2423 2492
2424 NL80211_ATTR_TIMEOUT_REASON,2493 NL80211_ATTR_TIMEOUT_REASON,
2425 2494
2495 NL80211_ATTR_FILS_ERP_USERNAME,
2496 NL80211_ATTR_FILS_ERP_REALM,
2497 NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM,
2498 NL80211_ATTR_FILS_ERP_RRK,
2499 NL80211_ATTR_FILS_CACHE_ID,
2500
2501 NL80211_ATTR_PMK,
2502
2426 /* add attributes here, update the policy in nl80211.c */2503 /* add attributes here, update the policy in nl80211.c */
2427 2504
2428 __NL80211_ATTR_AFTER_LAST,2505 __NL80211_ATTR_AFTER_LAST,
@@ -3942,7 +4019,10 @@ enum nl80211_ps_state { · 1513 unmodified lines
3942 * @__NL80211_ATTR_CQM_INVALID: invalid4019 * @__NL80211_ATTR_CQM_INVALID: invalid
3943 * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies4020 * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies
3944 * the threshold for the RSSI level at which an event will be sent. Zero4021 * the threshold for the RSSI level at which an event will be sent. Zero
3945 * to disable.4022 * to disable. Alternatively, if %NL80211_EXT_FEATURE_CQM_RSSI_LIST is
4023 * set, multiple values can be supplied as a low-to-high sorted array of
4024 * threshold values in dBm. Events will be sent when the RSSI value
4025 * crosses any of the thresholds.
3946 * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies4026 * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies
3947 * the minimum amount the RSSI level must change after an event before a4027 * the minimum amount the RSSI level must change after an event before a
3948 * new event may be issued (to reduce effects of RSSI oscillation).4028 * new event may be issued (to reduce effects of RSSI oscillation).
@@ -4753,6 +4833,11 @@ enum nl80211_feature_flags { · 804 unmodified lines
4753 * @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan4833 * @NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI: The driver supports sched_scan
4754 * for reporting BSSs with better RSSI than the current connected BSS4834 * for reporting BSSs with better RSSI than the current connected BSS
4755 * (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI).4835 * (%NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI).
4836 * @NL80211_EXT_FEATURE_CQM_RSSI_LIST: With this driver the
4837 * %NL80211_ATTR_CQM_RSSI_THOLD attribute accepts a list of zero or more
4838 * RSSI threshold values to monitor rather than exactly one threshold.
4839 * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key
4840 * authentication with %NL80211_CMD_CONNECT.
4756 *4841 *
4757 * @NUM_NL80211_EXT_FEATURES: number of extended features.4842 * @NUM_NL80211_EXT_FEATURES: number of extended features.
4758 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.4843 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4771,6 +4856,8 @@ enum nl80211_ext_feature_index { · 12 unmodified lines
4771 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA,4856 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA,
4772 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED,4857 NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED,
4773 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,4858 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,
4859 NL80211_EXT_FEATURE_CQM_RSSI_LIST,
4860 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD,
4774 4861
4775 /* add new features before the definition below */4862 /* add new features before the definition below */
4776 NUM_NL80211_EXT_FEATURES,4863 NUM_NL80211_EXT_FEATURES,
@@ -4906,12 +4993,17 @@ enum nl80211_smps_mode { · 129 unmodified lines
4906 * change to the channel status.4993 * change to the channel status.
4907 * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is4994 * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is
4908 * over, channel becomes usable.4995 * over, channel becomes usable.
4996 * @NL80211_RADAR_PRE_CAC_EXPIRED: Channel Availability Check done on this
4997 * non-operating channel is expired and no longer valid. New CAC must
4998 * be done on this channel before starting the operation. This is not
4999 * applicable for ETSI dfs domain where pre-CAC is valid for ever.
4909 */5000 */
4910enum nl80211_radar_event {5001enum nl80211_radar_event {
4911 NL80211_RADAR_DETECTED,5002 NL80211_RADAR_DETECTED,
4912 NL80211_RADAR_CAC_FINISHED,5003 NL80211_RADAR_CAC_FINISHED,
4913 NL80211_RADAR_CAC_ABORTED,5004 NL80211_RADAR_CAC_ABORTED,
4914 NL80211_RADAR_NOP_FINISHED,5005 NL80211_RADAR_NOP_FINISHED,
5006 NL80211_RADAR_PRE_CAC_EXPIRED,
4915};5007};
4916 5008
4917/**5009/**