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
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 GmbH13 * Copyright 2015-2017 Intel Deutschland GmbH
14 * Copyright (C) 2018 Intel Corporation14 * Copyright (C) 2018-2019 Intel Corporation
15 *15 *
16 * Permission to use, copy, modify, and/or distribute this software for any16 * Permission to use, copy, modify, and/or distribute this software for any
17 * purpose with or without fee is hereby granted, provided that the above17 * purpose with or without fee is hereby granted, provided that the above
@@ -1065,6 +1065,26 @@ · 1047 unmodified lines
1065 * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes1065 * 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 number1088 * @NL80211_CMD_MAX: highest used command number
1069 * @__NL80211_CMD_AFTER_LAST: internal use1089 * @__NL80211_CMD_AFTER_LAST: internal use
1070 */1090 */
@@ -1285,6 +1305,10 @@ enum nl80211_commands { · 214 unmodified lines
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 { · 1017 unmodified lines
2308 * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime2332 * @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 available2344 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2312 * @NL80211_ATTR_MAX: highest attribute number currently defined2345 * @NL80211_ATTR_MAX: highest attribute number currently defined
2313 * @__NL80211_ATTR_AFTER_LAST: internal use2346 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2758,6 +2791,8 @@ enum nl80211_attrs { · 444 unmodified lines
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 { · 38 unmodified lines
2802 2837
2803#define NL80211_MAX_SUPP_RATES 322838#define NL80211_MAX_SUPP_RATES 32
2804#define NL80211_MAX_SUPP_HT_RATES 772839#define NL80211_MAX_SUPP_HT_RATES 77
2805#define NL80211_MAX_SUPP_REG_RULES 642840#define NL80211_MAX_SUPP_REG_RULES 128
2806#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 02841#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
2807#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 162842#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
2808#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 242843#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
@@ -3139,6 +3174,7 @@ enum nl80211_sta_bss_param { · 330 unmodified lines
3139 * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames3174 * @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: internal3178 * @__NL80211_STA_INFO_AFTER_LAST: internal
3143 * @NL80211_STA_INFO_MAX: highest possible station info attribute3179 * @NL80211_STA_INFO_MAX: highest possible station info attribute
3144 */3180 */
@@ -3184,6 +3220,7 @@ enum nl80211_sta_info { · 39 unmodified lines
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 { · 448 unmodified lines
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 matching3676 * @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 filter3686 * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
3642 * attribute number currently defined3687 * attribute number currently defined
3643 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use3688 * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
@@ -3650,6 +3695,7 @@ enum nl80211_sched_scan_match_attr { · 6 unmodified lines
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,
@@ -4134,6 +4180,27 @@ enum nl80211_channel_type { · 478 unmodified lines
4134 NL80211_CHAN_HT40PLUS4180 NL80211_CHAN_HT40PLUS
4135};4181};
4136 4182
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
4137/**4204/**
4138 * enum nl80211_chan_width - channel width definitions4205 * enum nl80211_chan_width - channel width definitions
4139 *4206 *
@@ -4377,6 +4444,9 @@ enum nl80211_key_default_types { · 237 unmodified lines
4377 * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags4444 * @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: internal4450 * @__NL80211_KEY_AFTER_LAST: internal
4381 * @NL80211_KEY_MAX: highest key attribute4451 * @NL80211_KEY_MAX: highest key attribute
4382 */4452 */
@@ -4390,6 +4460,7 @@ enum nl80211_key_attributes { · 7 unmodified lines
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 { · 939 unmodified lines
5335 * able to rekey an in-use key correctly. Userspace must not rekey PTK keys5406 * 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/or5407 * 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 airtime5412 * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
5340 * fairness for transmitted packets and has enabled airtime fairness5413 * fairness for transmitted packets and has enabled airtime fairness
@@ -5343,6 +5416,12 @@ enum nl80211_feature_flags { · 2 unmodified lines
5343 * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching5416 * @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 { · 35 unmodified lines
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,