History

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

Johannes Berg says: ==================== Various updates, notably: * extended key ID support (from 802.11-2016) * per-STA TX power control support * mac80211 TX performance improvements * HE (802.11ax) updates * mesh link probing support * enhancements of multi-BSSID support (also related to HE) * OWE userspace processing support ====================

David S. Miller committed 7 years ago

Commit 30e5a9a2 parents 148f025 8828f8136 files · +1465 −360Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+84−2
@@ -11,7 +11,7 @@ · 10 unmodified lines
1111 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
1212 * Copyright 2008 Colin McCabe <colin@cozybit.com>
1313 * Copyright 2015-2017 Intel Deutschland GmbH
14− * Copyright (C) 2018 Intel Corporation
14+ * Copyright (C) 2018-2019 Intel Corporation
1515 *
1616 * Permission to use, copy, modify, and/or distribute this software for any
1717 * purpose with or without fee is hereby granted, provided that the above
@@ -1065,6 +1065,26 @@ · 1047 unmodified lines
10651065 * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
10661066 * determining the width and type.
10671067 *
1068+ * @NL80211_CMD_UPDATE_OWE_INFO: This interface allows the host driver to
1069+ * offload OWE processing to user space. This intends to support
1070+ * OWE AKM by the host drivers that implement SME but rely
1071+ * on the user space for the cryptographic/DH IE processing in AP mode.
1072+ *
1073+ * @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric
1074+ * refreshing, is that from one mesh point we be able to send some data
1075+ * frames to other mesh points which are not currently selected as a
1076+ * primary traffic path, but which are only 1 hop away. The absence of
1077+ * the primary path to the chosen node makes it necessary to apply some
1078+ * form of marking on a chosen packet stream so that the packets can be
1079+ * properly steered to the selected node for testing, and not by the
1080+ * regular mesh path lookup. Further, the packets must be of type data
1081+ * so that the rate control (often embedded in firmware) is used for
1082+ * rate selection.
1083+ *
1084+ * Here attribute %NL80211_ATTR_MAC is used to specify connected mesh
1085+ * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
1086+ * content. The frame is ethernet data.
1087+ *
10681088 * @NL80211_CMD_MAX: highest used command number
10691089 * @__NL80211_CMD_AFTER_LAST: internal use
10701090 */
@@ -1285,6 +1305,10 @@ enum nl80211_commands { · 214 unmodified lines
12851305
12861306 NL80211_CMD_NOTIFY_RADAR,
12871307
1308+ NL80211_CMD_UPDATE_OWE_INFO,
1309+
1310+ NL80211_CMD_PROBE_MESH_LINK,
1311+
12881312 /* add new commands above here */
12891313
12901314 /* used to define NL80211_CMD_MAX below */
@@ -2308,6 +2332,15 @@ enum nl80211_commands { · 1017 unmodified lines
23082332 * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime
23092333 * scheduler.
23102334 *
2335+ * @NL80211_ATTR_STA_TX_POWER_SETTING: Transmit power setting type (u8) for
2336+ * station associated with the AP. See &enum nl80211_tx_power_setting for
2337+ * possible values.
2338+ * @NL80211_ATTR_STA_TX_POWER: Transmit power level (s16) in dBm units. This
2339+ * allows to set Tx power for a station. If this attribute is not included,
2340+ * the default per-interface tx power setting will be overriding. Driver
2341+ * should be picking up the lowest tx power, either tx power per-interface
2342+ * or per-station.
2343+ *
23112344 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
23122345 * @NL80211_ATTR_MAX: highest attribute number currently defined
23132346 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2758,6 +2791,8 @@ enum nl80211_attrs { · 444 unmodified lines
27582791 NL80211_ATTR_PEER_MEASUREMENTS,
27592792
27602793 NL80211_ATTR_AIRTIME_WEIGHT,
2794+ NL80211_ATTR_STA_TX_POWER_SETTING,
2795+ NL80211_ATTR_STA_TX_POWER,
27612796
27622797 /* add attributes here, update the policy in nl80211.c */
27632798
@@ -2802,7 +2837,7 @@ enum nl80211_attrs { · 38 unmodified lines
28022837
28032838 #define NL80211_MAX_SUPP_RATES 32
28042839 #define NL80211_MAX_SUPP_HT_RATES 77
2805−#define NL80211_MAX_SUPP_REG_RULES 64
2840+#define NL80211_MAX_SUPP_REG_RULES 128
28062841 #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
28072842 #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
28082843 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
@@ -3139,6 +3174,7 @@ enum nl80211_sta_bss_param { · 330 unmodified lines
31393174 * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
31403175 * sent to the station (u64, usec)
31413176 * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
3177+ * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
31423178 * @__NL80211_STA_INFO_AFTER_LAST: internal
31433179 * @NL80211_STA_INFO_MAX: highest possible station info attribute
31443180 */
@@ -3184,6 +3220,7 @@ enum nl80211_sta_info { · 39 unmodified lines
31843220 NL80211_STA_INFO_CONNECTED_TO_GATE,
31853221 NL80211_STA_INFO_TX_DURATION,
31863222 NL80211_STA_INFO_AIRTIME_WEIGHT,
3223+ NL80211_STA_INFO_AIRTIME_LINK_METRIC,
31873224
31883225 /* keep last */
31893226 __NL80211_STA_INFO_AFTER_LAST,
@@ -3638,6 +3675,14 @@ enum nl80211_reg_rule_attr { · 448 unmodified lines
36383675 * value as specified by &struct nl80211_bss_select_rssi_adjust.
36393676 * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
36403677 * (this cannot be used together with SSID).
3678+ * @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the
3679+ * band specific minimum rssi thresholds for the bands defined in
3680+ * enum nl80211_band. The minimum rssi threshold value(s32) specific to a
3681+ * band shall be encapsulated in attribute with type value equals to one
3682+ * of the NL80211_BAND_* defined in enum nl80211_band. For example, the
3683+ * minimum rssi threshold value for 2.4GHZ band shall be encapsulated
3684+ * within an attribute of type NL80211_BAND_2GHZ. And one or more of such
3685+ * attributes will be nested within this attribute.
36413686 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
36423687 * attribute number currently defined
36433688 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
@@ -3650,6 +3695,7 @@ enum nl80211_sched_scan_match_attr { · 6 unmodified lines
36503695 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
36513696 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
36523697 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
3698+ NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI,
36533699
36543700 /* keep last */
36553701 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
@@ -4134,6 +4180,27 @@ enum nl80211_channel_type { · 478 unmodified lines
41344180 NL80211_CHAN_HT40PLUS
41354181 };
41364182
4183+/**
4184+ * enum nl80211_key_mode - Key mode
4185+ *
4186+ * @NL80211_KEY_RX_TX: (Default)
4187+ * Key can be used for Rx and Tx immediately
4188+ *
4189+ * The following modes can only be selected for unicast keys and when the
4190+ * driver supports @NL80211_EXT_FEATURE_EXT_KEY_ID:
4191+ *
4192+ * @NL80211_KEY_NO_TX: Only allowed in combination with @NL80211_CMD_NEW_KEY:
4193+ * Unicast key can only be used for Rx, Tx not allowed, yet
4194+ * @NL80211_KEY_SET_TX: Only allowed in combination with @NL80211_CMD_SET_KEY:
4195+ * The unicast key identified by idx and mac is cleared for Tx and becomes
4196+ * the preferred Tx key for the station.
4197+ */
4198+enum nl80211_key_mode {
4199+ NL80211_KEY_RX_TX,
4200+ NL80211_KEY_NO_TX,
4201+ NL80211_KEY_SET_TX
4202+};
4203+
41374204 /**
41384205 * enum nl80211_chan_width - channel width definitions
41394206 *
@@ -4377,6 +4444,9 @@ enum nl80211_key_default_types { · 237 unmodified lines
43774444 * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags
43784445 * attributes, specifying what a key should be set as default as.
43794446 * See &enum nl80211_key_default_types.
4447+ * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.
4448+ * Defaults to @NL80211_KEY_RX_TX.
4449+ *
43804450 * @__NL80211_KEY_AFTER_LAST: internal
43814451 * @NL80211_KEY_MAX: highest key attribute
43824452 */
@@ -4390,6 +4460,7 @@ enum nl80211_key_attributes { · 7 unmodified lines
43904460 NL80211_KEY_DEFAULT_MGMT,
43914461 NL80211_KEY_TYPE,
43924462 NL80211_KEY_DEFAULT_TYPES,
4463+ NL80211_KEY_MODE,
43934464
43944465 /* keep last */
43954466 __NL80211_KEY_AFTER_LAST,
@@ -5335,6 +5406,8 @@ enum nl80211_feature_flags { · 939 unmodified lines
53355406 * able to rekey an in-use key correctly. Userspace must not rekey PTK keys
53365407 * if this flag is not set. Ignoring this can leak clear text packets and/or
53375408 * freeze the connection.
5409+ * @NL80211_EXT_FEATURE_EXT_KEY_ID: Driver supports "Extended Key ID for
5410+ * Individually Addressed Frames" from IEEE802.11-2016.
53385411 *
53395412 * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
53405413 * fairness for transmitted packets and has enabled airtime fairness
@@ -5343,6 +5416,12 @@ enum nl80211_feature_flags { · 2 unmodified lines
53435416 * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
53445417 * (set/del PMKSA operations) in AP mode.
53455418 *
5419+ * @NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD: Driver supports
5420+ * filtering of sched scan results using band specific RSSI thresholds.
5421+ *
5422+ * @NL80211_EXT_FEATURE_STA_TX_PWR: This driver supports controlling tx power
5423+ * to a station.
5424+ *
53465425 * @NUM_NL80211_EXT_FEATURES: number of extended features.
53475426 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
53485427 */
@@ -5384,6 +5463,9 @@ enum nl80211_ext_feature_index { · 35 unmodified lines
53845463 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
53855464 NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
53865465 NL80211_EXT_FEATURE_AP_PMKSA_CACHING,
5466+ NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
5467+ NL80211_EXT_FEATURE_EXT_KEY_ID,
5468+ NL80211_EXT_FEATURE_STA_TX_PWR,
53875469
53885470 /* add new features before the definition below */
53895471 NUM_NL80211_EXT_FEATURES,