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 ====================
Showing the changes to include/uapi/linux (1 of 36 files). Show all
Unified · Split
| @@ -11,7 +11,7 @@ · 10 unmodified lines | ||
| 11 | 11 | * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> |
| 12 | 12 | * Copyright 2008 Colin McCabe <colin@cozybit.com> |
| 13 | 13 | * Copyright 2015-2017 Intel Deutschland GmbH |
| 14 | − * Copyright (C) 2018 Intel Corporation | |
| 14 | + * Copyright (C) 2018-2019 Intel Corporation | |
| 15 | 15 | * |
| 16 | 16 | * Permission to use, copy, modify, and/or distribute this software for any |
| 17 | 17 | * purpose with or without fee is hereby granted, provided that the above |
| @@ -1065,6 +1065,26 @@ · 1047 unmodified lines | ||
| 1065 | 1065 | * indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes |
| 1066 | 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 | 1088 | * @NL80211_CMD_MAX: highest used command number |
| 1069 | 1089 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 1070 | 1090 | */ |
| @@ -1285,6 +1305,10 @@ enum nl80211_commands { · 214 unmodified lines | ||
| 1285 | 1305 | |
| 1286 | 1306 | NL80211_CMD_NOTIFY_RADAR, |
| 1287 | 1307 | |
| 1308 | + NL80211_CMD_UPDATE_OWE_INFO, | |
| 1309 | + | |
| 1310 | + NL80211_CMD_PROBE_MESH_LINK, | |
| 1311 | + | |
| 1288 | 1312 | /* add new commands above here */ |
| 1289 | 1313 | |
| 1290 | 1314 | /* used to define NL80211_CMD_MAX below */ |
| @@ -2308,6 +2332,15 @@ enum nl80211_commands { · 1017 unmodified lines | ||
| 2308 | 2332 | * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime |
| 2309 | 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 | 2344 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2312 | 2345 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2313 | 2346 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -2758,6 +2791,8 @@ enum nl80211_attrs { · 444 unmodified lines | ||
| 2758 | 2791 | NL80211_ATTR_PEER_MEASUREMENTS, |
| 2759 | 2792 | |
| 2760 | 2793 | NL80211_ATTR_AIRTIME_WEIGHT, |
| 2794 | + NL80211_ATTR_STA_TX_POWER_SETTING, | |
| 2795 | + NL80211_ATTR_STA_TX_POWER, | |
| 2761 | 2796 | |
| 2762 | 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 | 2838 | #define NL80211_MAX_SUPP_RATES 32 |
| 2804 | 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 | 2841 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 |
| 2807 | 2842 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 |
| 2808 | 2843 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 |
| @@ -3139,6 +3174,7 @@ enum nl80211_sta_bss_param { · 330 unmodified lines | ||
| 3139 | 3174 | * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames |
| 3140 | 3175 | * sent to the station (u64, usec) |
| 3141 | 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 | 3178 | * @__NL80211_STA_INFO_AFTER_LAST: internal |
| 3143 | 3179 | * @NL80211_STA_INFO_MAX: highest possible station info attribute |
| 3144 | 3180 | */ |
| @@ -3184,6 +3220,7 @@ enum nl80211_sta_info { · 39 unmodified lines | ||
| 3184 | 3220 | NL80211_STA_INFO_CONNECTED_TO_GATE, |
| 3185 | 3221 | NL80211_STA_INFO_TX_DURATION, |
| 3186 | 3222 | NL80211_STA_INFO_AIRTIME_WEIGHT, |
| 3223 | + NL80211_STA_INFO_AIRTIME_LINK_METRIC, | |
| 3187 | 3224 | |
| 3188 | 3225 | /* keep last */ |
| 3189 | 3226 | __NL80211_STA_INFO_AFTER_LAST, |
| @@ -3638,6 +3675,14 @@ enum nl80211_reg_rule_attr { · 448 unmodified lines | ||
| 3638 | 3675 | * value as specified by &struct nl80211_bss_select_rssi_adjust. |
| 3639 | 3676 | * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching |
| 3640 | 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 | 3686 | * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter |
| 3642 | 3687 | * attribute number currently defined |
| 3643 | 3688 | * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use |
| @@ -3650,6 +3695,7 @@ enum nl80211_sched_scan_match_attr { · 6 unmodified lines | ||
| 3650 | 3695 | NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI, |
| 3651 | 3696 | NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST, |
| 3652 | 3697 | NL80211_SCHED_SCAN_MATCH_ATTR_BSSID, |
| 3698 | + NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI, | |
| 3653 | 3699 | |
| 3654 | 3700 | /* keep last */ |
| 3655 | 3701 | __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, |
| @@ -4134,6 +4180,27 @@ enum nl80211_channel_type { · 478 unmodified lines | ||
| 4134 | 4180 | 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 | + */ | |
| 4198 | +enum nl80211_key_mode { | |
| 4199 | + NL80211_KEY_RX_TX, | |
| 4200 | + NL80211_KEY_NO_TX, | |
| 4201 | + NL80211_KEY_SET_TX | |
| 4202 | +}; | |
| 4203 | + | |
| 4137 | 4204 | /** |
| 4138 | 4205 | * enum nl80211_chan_width - channel width definitions |
| 4139 | 4206 | * |
| @@ -4377,6 +4444,9 @@ enum nl80211_key_default_types { · 237 unmodified lines | ||
| 4377 | 4444 | * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags |
| 4378 | 4445 | * attributes, specifying what a key should be set as default as. |
| 4379 | 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 | 4450 | * @__NL80211_KEY_AFTER_LAST: internal |
| 4381 | 4451 | * @NL80211_KEY_MAX: highest key attribute |
| 4382 | 4452 | */ |
| @@ -4390,6 +4460,7 @@ enum nl80211_key_attributes { · 7 unmodified lines | ||
| 4390 | 4460 | NL80211_KEY_DEFAULT_MGMT, |
| 4391 | 4461 | NL80211_KEY_TYPE, |
| 4392 | 4462 | NL80211_KEY_DEFAULT_TYPES, |
| 4463 | + NL80211_KEY_MODE, | |
| 4393 | 4464 | |
| 4394 | 4465 | /* keep last */ |
| 4395 | 4466 | __NL80211_KEY_AFTER_LAST, |
| @@ -5335,6 +5406,8 @@ enum nl80211_feature_flags { · 939 unmodified lines | ||
| 5335 | 5406 | * able to rekey an in-use key correctly. Userspace must not rekey PTK keys |
| 5336 | 5407 | * if this flag is not set. Ignoring this can leak clear text packets and/or |
| 5337 | 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 | 5412 | * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime |
| 5340 | 5413 | * fairness for transmitted packets and has enabled airtime fairness |
| @@ -5343,6 +5416,12 @@ enum nl80211_feature_flags { · 2 unmodified lines | ||
| 5343 | 5416 | * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching |
| 5344 | 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 | 5425 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 5347 | 5426 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 5348 | 5427 | */ |
| @@ -5384,6 +5463,9 @@ enum nl80211_ext_feature_index { · 35 unmodified lines | ||
| 5384 | 5463 | NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, |
| 5385 | 5464 | NL80211_EXT_FEATURE_AIRTIME_FAIRNESS, |
| 5386 | 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 | 5470 | /* add new features before the definition below */ |
| 5389 | 5471 | NUM_NL80211_EXT_FEATURES, |