History

Merge tag 'mac80211-next-for-davem-2020-07-31' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next

Johannes Berg says: ==================== We have a number of changes * code cleanups and fixups as usual * AQL & internal TXQ improvements from Felix * some mesh 802.1X support bits * some injection improvements from Mathy of KRACK fame, so we'll see what this results in ;-) * some more initial S1G supports bits, this time (some of?) the userspace APIs ====================

David S. Miller committed 6 years ago

Commit 6f3de752 parents 829eb20 c8ad01042 files · +511 −235Browse files

Showing the changes to include/uapi/linux (2 of 42 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/nl80211.h +72 −22
  2. include/uapi/linux/wireless.h +1 −1
include/uapi/linux/nl80211.h+72−22
@@ -183,18 +183,27 @@ · 182 unmodified lines
183183 *
184184 * By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK flag drivers
185185 * can indicate they support offloading EAPOL handshakes for WPA/WPA2
186− * preshared key authentication. In %NL80211_CMD_CONNECT the preshared
187− * key should be specified using %NL80211_ATTR_PMK. Drivers supporting
188− * this offload may reject the %NL80211_CMD_CONNECT when no preshared
189− * key material is provided, for example when that driver does not
190− * support setting the temporal keys through %CMD_NEW_KEY.
186+ * preshared key authentication in station mode. In %NL80211_CMD_CONNECT
187+ * the preshared key should be specified using %NL80211_ATTR_PMK. Drivers
188+ * supporting this offload may reject the %NL80211_CMD_CONNECT when no
189+ * preshared key material is provided, for example when that driver does
190+ * not support setting the temporal keys through %NL80211_CMD_NEW_KEY.
191191 *
192192 * Similarly @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X flag can be
193193 * set by drivers indicating offload support of the PTK/GTK EAPOL
194− * handshakes during 802.1X authentication. In order to use the offload
195− * the %NL80211_CMD_CONNECT should have %NL80211_ATTR_WANT_1X_4WAY_HS
196− * attribute flag. Drivers supporting this offload may reject the
197− * %NL80211_CMD_CONNECT when the attribute flag is not present.
194+ * handshakes during 802.1X authentication in station mode. In order to
195+ * use the offload the %NL80211_CMD_CONNECT should have
196+ * %NL80211_ATTR_WANT_1X_4WAY_HS attribute flag. Drivers supporting this
197+ * offload may reject the %NL80211_CMD_CONNECT when the attribute flag is
198+ * not present.
199+ *
200+ * By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK flag drivers
201+ * can indicate they support offloading EAPOL handshakes for WPA/WPA2
202+ * preshared key authentication in AP mode. In %NL80211_CMD_START_AP
203+ * the preshared key should be specified using %NL80211_ATTR_PMK. Drivers
204+ * supporting this offload may reject the %NL80211_CMD_START_AP when no
205+ * preshared key material is provided, for example when that driver does
206+ * not support setting the temporal keys through %NL80211_CMD_NEW_KEY.
198207 *
199208 * For 802.1X the PMK or PMK-R0 are set by providing %NL80211_ATTR_PMK
200209 * using %NL80211_CMD_SET_PMK. For offloaded FT support also
@@ -363,7 +372,7 @@ · 162 unmodified lines
363372 * @NL80211_CMD_SET_STATION: Set station attributes for station identified by
364373 * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX.
365374 * @NL80211_CMD_NEW_STATION: Add a station with given attributes to the
366− * the interface identified by %NL80211_ATTR_IFINDEX.
375+ * interface identified by %NL80211_ATTR_IFINDEX.
367376 * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC
368377 * or, if no MAC address given, all stations, on the interface identified
369378 * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and
@@ -383,7 +392,7 @@ · 13 unmodified lines
383392 * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by
384393 * %NL80211_ATTR_MAC.
385394 * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the
386− * the interface identified by %NL80211_ATTR_IFINDEX.
395+ * interface identified by %NL80211_ATTR_IFINDEX.
387396 * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC
388397 * or, if no MAC address given, all mesh paths, on the interface identified
389398 * by %NL80211_ATTR_IFINDEX.
@@ -934,7 +943,7 @@ · 544 unmodified lines
934943 * @NL80211_CMD_SET_COALESCE: Configure coalesce rules or clear existing rules.
935944 *
936945 * @NL80211_CMD_CHANNEL_SWITCH: Perform a channel switch by announcing the
937− * the new channel information (Channel Switch Announcement - CSA)
946+ * new channel information (Channel Switch Announcement - CSA)
938947 * in the beacon for some time (as defined in the
939948 * %NL80211_ATTR_CH_SWITCH_COUNT parameter) and then change to the
940949 * new channel. Userspace provides the new channel information (using
@@ -1113,7 +1122,7 @@ · 172 unmodified lines
11131122 * randomization may be enabled and configured by specifying the
11141123 * %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes.
11151124 * If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute.
1116− * A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in
1125+ * A u64 cookie for further %NL80211_ATTR_COOKIE use is returned in
11171126 * the netlink extended ack message.
11181127 *
11191128 * To cancel a measurement, close the socket that requested it.
@@ -1511,7 +1520,7 @@ enum nl80211_commands { · 391 unmodified lines
15111520 * rates as defined by IEEE 802.11 7.3.2.2 but without the length
15121521 * restriction (at most %NL80211_MAX_SUPP_RATES).
15131522 * @NL80211_ATTR_STA_VLAN: interface index of VLAN interface to move station
1514− * to, or the AP interface the station was originally added to to.
1523+ * to, or the AP interface the station was originally added to.
15151524 * @NL80211_ATTR_STA_INFO: information about a station, part of station info
15161525 * given for %NL80211_CMD_GET_STATION, nested attribute containing
15171526 * info as possible, see &enum nl80211_sta_info.
@@ -2084,7 +2093,7 @@ enum nl80211_commands { · 566 unmodified lines
20842093 * @NL80211_ATTR_STA_SUPPORTED_CHANNELS: array of supported channels.
20852094 *
20862095 * @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported
2087− * supported operating classes.
2096+ * operating classes.
20882097 *
20892098 * @NL80211_ATTR_HANDLE_DFS: A flag indicating whether user space
20902099 * controls DFS operation in IBSS mode. If the flag is included in
@@ -2362,10 +2371,11 @@ enum nl80211_commands { · 271 unmodified lines
23622371 *
23632372 * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with
23642373 * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID.
2365− * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way
2366− * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is
2367− * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute
2368− * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well.
2374+ * For %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP it is used to provide
2375+ * PSK for offloading 4-way handshake for WPA/WPA2-PSK networks. For 802.1X
2376+ * authentication it is used with %NL80211_CMD_SET_PMK. For offloaded FT
2377+ * support this attribute specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME
2378+ * is included as well.
23692379 *
23702380 * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to
23712381 * indicate that it supports multiple active scheduled scan requests.
@@ -2395,7 +2405,7 @@ enum nl80211_commands { · 23 unmodified lines
23952405 * nl80211_txq_stats)
23962406 * @NL80211_ATTR_TXQ_LIMIT: Total packet limit for the TXQ queues for this phy.
23972407 * The smaller of this and the memory limit is enforced.
2398− * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory memory limit (in bytes) for the
2408+ * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory limit (in bytes) for the
23992409 * TXQ queues for this phy. The smaller of this and the packet limit is
24002410 * enforced.
24012411 * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes
@@ -3370,6 +3380,8 @@ enum nl80211_sta_bss_param { · 968 unmodified lines
33703380 * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
33713381 * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
33723382 * of STA's association
3383+ * @NL80211_STA_INFO_CONNECTED_TO_AS: set to true if STA has a path to a
3384+ * authentication server (u8, 0 or 1)
33733385 * @__NL80211_STA_INFO_AFTER_LAST: internal
33743386 * @NL80211_STA_INFO_MAX: highest possible station info attribute
33753387 */
@@ -3417,6 +3429,7 @@ enum nl80211_sta_info { · 41 unmodified lines
34173429 NL80211_STA_INFO_AIRTIME_WEIGHT,
34183430 NL80211_STA_INFO_AIRTIME_LINK_METRIC,
34193431 NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
3432+ NL80211_STA_INFO_CONNECTED_TO_AS,
34203433
34213434 /* keep last */
34223435 __NL80211_STA_INFO_AFTER_LAST,
@@ -4236,6 +4249,16 @@ enum nl80211_mesh_power_mode { · 813 unmodified lines
42364249 * field. If left unset then the mesh formation field will only
42374250 * advertise such if there is an active root mesh path.
42384251 *
4252+ * @NL80211_MESHCONF_NOLEARN: Try to avoid multi-hop path discovery (e.g.
4253+ * PREQ/PREP for HWMP) if the destination is a direct neighbor. Note that
4254+ * this might not be the optimal decision as a multi-hop route might be
4255+ * better. So if using this setting you will likely also want to disable
4256+ * dot11MeshForwarding and use another mesh routing protocol on top.
4257+ *
4258+ * @NL80211_MESHCONF_CONNECTED_TO_AS: If set to true then this mesh STA
4259+ * will advertise that it is connected to a authentication server
4260+ * in the mesh formation field.
4261+ *
42394262 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
42404263 */
42414264 enum nl80211_meshconf_params {
@@ -4269,6 +4292,8 @@ enum nl80211_meshconf_params { · 27 unmodified lines
42694292 NL80211_MESHCONF_AWAKE_WINDOW,
42704293 NL80211_MESHCONF_PLINK_TIMEOUT,
42714294 NL80211_MESHCONF_CONNECTED_TO_GATE,
4295+ NL80211_MESHCONF_NOLEARN,
4296+ NL80211_MESHCONF_CONNECTED_TO_AS,
42724297
42734298 /* keep last */
42744299 __NL80211_MESHCONF_ATTR_AFTER_LAST,
@@ -4437,6 +4462,11 @@ enum nl80211_key_mode { · 162 unmodified lines
44374462 * attribute must be provided as well
44384463 * @NL80211_CHAN_WIDTH_5: 5 MHz OFDM channel
44394464 * @NL80211_CHAN_WIDTH_10: 10 MHz OFDM channel
4465+ * @NL80211_CHAN_WIDTH_1: 1 MHz OFDM channel
4466+ * @NL80211_CHAN_WIDTH_2: 2 MHz OFDM channel
4467+ * @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel
4468+ * @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel
4469+ * @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel
44404470 */
44414471 enum nl80211_chan_width {
44424472 NL80211_CHAN_WIDTH_20_NOHT,
@@ -4447,6 +4477,11 @@ enum nl80211_chan_width { · 4 unmodified lines
44474477 NL80211_CHAN_WIDTH_160,
44484478 NL80211_CHAN_WIDTH_5,
44494479 NL80211_CHAN_WIDTH_10,
4480+ NL80211_CHAN_WIDTH_1,
4481+ NL80211_CHAN_WIDTH_2,
4482+ NL80211_CHAN_WIDTH_4,
4483+ NL80211_CHAN_WIDTH_8,
4484+ NL80211_CHAN_WIDTH_16,
44504485 };
44514486
44524487 /**
@@ -4457,11 +4492,15 @@ enum nl80211_chan_width { · 4 unmodified lines
44574492 * @NL80211_BSS_CHAN_WIDTH_20: control channel is 20 MHz wide or compatible
44584493 * @NL80211_BSS_CHAN_WIDTH_10: control channel is 10 MHz wide
44594494 * @NL80211_BSS_CHAN_WIDTH_5: control channel is 5 MHz wide
4495+ * @NL80211_BSS_CHAN_WIDTH_1: control channel is 1 MHz wide
4496+ * @NL80211_BSS_CHAN_WIDTH_2: control channel is 2 MHz wide
44604497 */
44614498 enum nl80211_bss_scan_width {
44624499 NL80211_BSS_CHAN_WIDTH_20,
44634500 NL80211_BSS_CHAN_WIDTH_10,
44644501 NL80211_BSS_CHAN_WIDTH_5,
4502+ NL80211_BSS_CHAN_WIDTH_1,
4503+ NL80211_BSS_CHAN_WIDTH_2,
44654504 };
44664505
44674506 /**
@@ -4740,6 +4779,7 @@ enum nl80211_txrate_gi { · 272 unmodified lines
47404779 * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
47414780 * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
47424781 * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
4782+ * @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs
47434783 * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
47444784 * since newer kernel versions may support more bands
47454785 */
@@ -4748,6 +4788,7 @@ enum nl80211_band { · 2 unmodified lines
47484788 NL80211_BAND_5GHZ,
47494789 NL80211_BAND_60GHZ,
47504790 NL80211_BAND_6GHZ,
4791+ NL80211_BAND_S1GHZ,
47514792
47524793 NUM_NL80211_BANDS,
47534794 };
@@ -5636,7 +5677,7 @@ enum nl80211_feature_flags { · 882 unmodified lines
56365677 * enum nl80211_ext_feature_index - bit index of extended features.
56375678 * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates.
56385679 * @NL80211_EXT_FEATURE_RRM: This driver supports RRM. When featured, user can
5639− * can request to use RRM (see %NL80211_ATTR_USE_RRM) with
5680+ * request to use RRM (see %NL80211_ATTR_USE_RRM) with
56405681 * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set
56415682 * the ASSOC_REQ_USE_RRM flag in the association request even if
56425683 * NL80211_FEATURE_QUIET is not advertized.
@@ -5773,6 +5814,13 @@ enum nl80211_feature_flags { · 130 unmodified lines
57735814 * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS: The driver
57745815 * can report tx status for control port over nl80211 tx operations.
57755816 *
5817+ * @NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION: Driver supports Operating
5818+ * Channel Validation (OCV) when using driver's SME for RSNA handshakes.
5819+ *
5820+ * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK: Device wants to do 4-way
5821+ * handshake with PSK in AP mode (PSK is passed as part of the start AP
5822+ * command).
5823+ *
57765824 * @NUM_NL80211_EXT_FEATURES: number of extended features.
57775825 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
57785826 */
@@ -5828,6 +5876,8 @@ enum nl80211_ext_feature_index { · 49 unmodified lines
58285876 NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT,
58295877 NL80211_EXT_FEATURE_SCAN_FREQ_KHZ,
58305878 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS,
5879+ NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION,
5880+ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK,
58315881
58325882 /* add new features before the definition below */
58335883 NUM_NL80211_EXT_FEATURES,
@@ -6045,7 +6095,7 @@ enum nl80211_dfs_state { · 211 unmodified lines
60456095 };
60466096
60476097 /**
6048− * enum enum nl80211_protocol_features - nl80211 protocol features
6098+ * enum nl80211_protocol_features - nl80211 protocol features
60496099 * @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting
60506100 * wiphy dumps (if requested by the application with the attribute
60516101 * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the
include/uapi/linux/wireless.h+1−1
@@ -914,7 +914,7 @@ union iwreq_data { · 913 unmodified lines
914914 struct iw_param sens; /* signal level threshold */
915915 struct iw_param bitrate; /* default bit rate */
916916 struct iw_param txpower; /* default transmit power */
917− struct iw_param rts; /* RTS threshold threshold */
917+ struct iw_param rts; /* RTS threshold */
918918 struct iw_param frag; /* Fragmentation threshold */
919919 __u32 mode; /* Operation mode */
920920 struct iw_param retry; /* Retry limits & lifetime */