diff options
| author | David S. Miller <davem@davemloft.net> | 2019-04-26 16:05:52 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2019-04-26 16:05:52 -0400 |
| commit | 30e5a9a5ba853b896250f0665a2e10bbafa2f6bc (patch) | |
| tree | 31f4be512bc417c03f7479d6c69d24f50ecfb00b /include/uapi | |
| parent | 148f025d41a8bf8fe7e72d1a86024b5e4d25f224 (diff) | |
| parent | 8828f81ad4a2f4e89ebe6e7793c06ed767c31d53 (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.h | 86 |
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 | */ | ||
| 4198 | enum 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, |
