aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-04-26 16:05:52 -0400
committerDavid S. Miller <davem@davemloft.net>2019-04-26 16:05:52 -0400
commit30e5a9a5ba853b896250f0665a2e10bbafa2f6bc (patch)
tree31f4be512bc417c03f7479d6c69d24f50ecfb00b /include/uapi
parent148f025d41a8bf8fe7e72d1a86024b5e4d25f224 (diff)
parent8828f81ad4a2f4e89ebe6e7793c06ed767c31d53 (diff)
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 ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/nl80211.h86
1 files changed, 84 insertions, 2 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index dd4f86ee286e..6f09d1500960 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -11,7 +11,7 @@
11 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> 11 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
12 * Copyright 2008 Colin McCabe <colin@cozybit.com> 12 * Copyright 2008 Colin McCabe <colin@cozybit.com>
13 * Copyright 2015-2017 Intel Deutschland GmbH 13 * Copyright 2015-2017 Intel Deutschland GmbH
14 * Copyright (C) 2018 Intel Corporation 14 * Copyright (C) 2018-2019 Intel Corporation
15 * 15 *
16 * Permission to use, copy, modify, and/or distribute this software for any 16 * Permission to use, copy, modify, and/or distribute this software for any
17 * purpose with or without fee is hereby granted, provided that the above 17 * purpose with or without fee is hereby granted, provided that the above
@@ -1065,6 +1065,26 @@
1065 * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes 1065 * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
1066 * determining the width and type. 1066 * determining the width and type.
1067 * 1067 *
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 *
1068 * @NL80211_CMD_MAX: highest used command number 1088 * @NL80211_CMD_MAX: highest used command number
1069 * @__NL80211_CMD_AFTER_LAST: internal use 1089 * @__NL80211_CMD_AFTER_LAST: internal use
1070 */ 1090 */
@@ -1285,6 +1305,10 @@ enum nl80211_commands {
1285 1305
1286 NL80211_CMD_NOTIFY_RADAR, 1306 NL80211_CMD_NOTIFY_RADAR,
1287 1307
1308 NL80211_CMD_UPDATE_OWE_INFO,
1309
1310 NL80211_CMD_PROBE_MESH_LINK,
1311
1288 /* add new commands above here */ 1312 /* add new commands above here */
1289 1313
1290 /* used to define NL80211_CMD_MAX below */ 1314 /* used to define NL80211_CMD_MAX below */
@@ -2308,6 +2332,15 @@ enum nl80211_commands {
2308 * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime 2332 * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime
2309 * scheduler. 2333 * scheduler.
2310 * 2334 *
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 *
2311 * @NUM_NL80211_ATTR: total number of nl80211_attrs available 2344 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2312 * @NL80211_ATTR_MAX: highest attribute number currently defined 2345 * @NL80211_ATTR_MAX: highest attribute number currently defined
2313 * @__NL80211_ATTR_AFTER_LAST: internal use 2346 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2758,6 +2791,8 @@ enum nl80211_attrs {
2758 NL80211_ATTR_PEER_MEASUREMENTS, 2791 NL80211_ATTR_PEER_MEASUREMENTS,
2759 2792
2760 NL80211_ATTR_AIRTIME_WEIGHT, 2793 NL80211_ATTR_AIRTIME_WEIGHT,
2794 NL80211_ATTR_STA_TX_POWER_SETTING,
2795 NL80211_ATTR_STA_TX_POWER,
2761 2796
2762 /* add attributes here, update the policy in nl80211.c */ 2797 /* add attributes here, update the policy in nl80211.c */
2763 2798
@@ -2802,7 +2837,7 @@ enum nl80211_attrs {
2802 2837
2803#define NL80211_MAX_SUPP_RATES 32 2838#define NL80211_MAX_SUPP_RATES 32
2804#define NL80211_MAX_SUPP_HT_RATES 77 2839#define NL80211_MAX_SUPP_HT_RATES 77
2805#define NL80211_MAX_SUPP_REG_RULES 64 2840#define NL80211_MAX_SUPP_REG_RULES 128
2806#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 2841#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
2807#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 2842#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
2808#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 2843#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
@@ -3139,6 +3174,7 @@ enum nl80211_sta_bss_param {
3139 * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames 3174 * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
3140 * sent to the station (u64, usec) 3175 * sent to the station (u64, usec)
3141 * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16) 3176 * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
3177 * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
3142 * @__NL80211_STA_INFO_AFTER_LAST: internal 3178 * @__NL80211_STA_INFO_AFTER_LAST: internal
3143 * @NL80211_STA_INFO_MAX: highest possible station info attribute 3179 * @NL80211_STA_INFO_MAX: highest possible station info attribute
3144 */ 3180 */
@@ -3184,6 +3220,7 @@ enum nl80211_sta_info {
3184 NL80211_STA_INFO_CONNECTED_TO_GATE, 3220 NL80211_STA_INFO_CONNECTED_TO_GATE,
3185 NL80211_STA_INFO_TX_DURATION, 3221 NL80211_STA_INFO_TX_DURATION,
3186 NL80211_STA_INFO_AIRTIME_WEIGHT, 3222 NL80211_STA_INFO_AIRTIME_WEIGHT,
3223 NL80211_STA_INFO_AIRTIME_LINK_METRIC,
3187 3224
3188 /* keep last */ 3225 /* keep last */
3189 __NL80211_STA_INFO_AFTER_LAST, 3226 __NL80211_STA_INFO_AFTER_LAST,
@@ -3638,6 +3675,14 @@ enum nl80211_reg_rule_attr {
3638 * value as specified by &struct nl80211_bss_select_rssi_adjust. 3675 * value as specified by &struct nl80211_bss_select_rssi_adjust.
3639 * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching 3676 * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
3640 * (this cannot be used together with SSID). 3677 * (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.
3641 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter 3686 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
3642 * attribute number currently defined 3687 * attribute number currently defined
3643 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use 3688 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
@@ -3650,6 +3695,7 @@ enum nl80211_sched_scan_match_attr {
3650 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, 3695 NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
3651 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, 3696 NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
3652 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, 3697 NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
3698 NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI,
3653 3699
3654 /* keep last */ 3700 /* keep last */
3655 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, 3701 __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
@@ -4135,6 +4181,27 @@ enum nl80211_channel_type {
4135}; 4181};
4136 4182
4137/** 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 */
4198enum nl80211_key_mode {
4199 NL80211_KEY_RX_TX,
4200 NL80211_KEY_NO_TX,
4201 NL80211_KEY_SET_TX
4202};
4203
4204/**
4138 * enum nl80211_chan_width - channel width definitions 4205 * enum nl80211_chan_width - channel width definitions
4139 * 4206 *
4140 * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH 4207 * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH
@@ -4377,6 +4444,9 @@ enum nl80211_key_default_types {
4377 * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags 4444 * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags
4378 * attributes, specifying what a key should be set as default as. 4445 * attributes, specifying what a key should be set as default as.
4379 * See &enum nl80211_key_default_types. 4446 * 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 *
4380 * @__NL80211_KEY_AFTER_LAST: internal 4450 * @__NL80211_KEY_AFTER_LAST: internal
4381 * @NL80211_KEY_MAX: highest key attribute 4451 * @NL80211_KEY_MAX: highest key attribute
4382 */ 4452 */
@@ -4390,6 +4460,7 @@ enum nl80211_key_attributes {
4390 NL80211_KEY_DEFAULT_MGMT, 4460 NL80211_KEY_DEFAULT_MGMT,
4391 NL80211_KEY_TYPE, 4461 NL80211_KEY_TYPE,
4392 NL80211_KEY_DEFAULT_TYPES, 4462 NL80211_KEY_DEFAULT_TYPES,
4463 NL80211_KEY_MODE,
4393 4464
4394 /* keep last */ 4465 /* keep last */
4395 __NL80211_KEY_AFTER_LAST, 4466 __NL80211_KEY_AFTER_LAST,
@@ -5335,6 +5406,8 @@ enum nl80211_feature_flags {
5335 * able to rekey an in-use key correctly. Userspace must not rekey PTK keys 5406 * able to rekey an in-use key correctly. Userspace must not rekey PTK keys
5336 * if this flag is not set. Ignoring this can leak clear text packets and/or 5407 * if this flag is not set. Ignoring this can leak clear text packets and/or
5337 * freeze the connection. 5408 * freeze the connection.
5409 * @NL80211_EXT_FEATURE_EXT_KEY_ID: Driver supports "Extended Key ID for
5410 * Individually Addressed Frames" from IEEE802.11-2016.
5338 * 5411 *
5339 * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime 5412 * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
5340 * fairness for transmitted packets and has enabled airtime fairness 5413 * fairness for transmitted packets and has enabled airtime fairness
@@ -5343,6 +5416,12 @@ enum nl80211_feature_flags {
5343 * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching 5416 * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
5344 * (set/del PMKSA operations) in AP mode. 5417 * (set/del PMKSA operations) in AP mode.
5345 * 5418 *
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 *
5346 * @NUM_NL80211_EXT_FEATURES: number of extended features. 5425 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5347 * @MAX_NL80211_EXT_FEATURES: highest extended feature index. 5426 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
5348 */ 5427 */
@@ -5384,6 +5463,9 @@ enum nl80211_ext_feature_index {
5384 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, 5463 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
5385 NL80211_EXT_FEATURE_AIRTIME_FAIRNESS, 5464 NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
5386 NL80211_EXT_FEATURE_AP_PMKSA_CACHING, 5465 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,
5387 5469
5388 /* add new features before the definition below */ 5470 /* add new features before the definition below */
5389 NUM_NL80211_EXT_FEATURES, 5471 NUM_NL80211_EXT_FEATURES,