aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-05-23 15:53:00 -0400
committerDavid S. Miller <davem@davemloft.net>2018-05-23 15:53:00 -0400
commit5ee6ad201e6cba94e199da78a7fdece8881352b4 (patch)
treea009bd4981c8682578f32994e480c9deecab5924 /include/uapi/linux
parent5a867abdf6db501af37004c331a7dbe81d4fe0b2 (diff)
parentbad2929733635f80f99930b252757c70372356fe (diff)
Merge tag 'mac80211-next-for-davem-2018-05-23' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says: For this round, we have various things all over the place, notably * a fix for a race in aggregation, which I want to let bake for a bit longer before sending to stable * some new statistics (ACK RSSI, TXQ) * TXQ configuration * preparations for HE, particularly radiotap * replace confusing "country IE" by "country element" since it's not referring to Ireland Note that I merged net-next to get a fix from mac80211 that got there via net, to apply one patch that would otherwise conflict. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/nl80211.h99
1 files changed, 97 insertions, 2 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 9c3630146cec..06f9af23156b 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -11,6 +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 * 15 *
15 * 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
16 * 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
@@ -203,7 +204,8 @@
203 * FILS shared key authentication offload should be able to construct the 204 * FILS shared key authentication offload should be able to construct the
204 * authentication and association frames for FILS shared key authentication and 205 * authentication and association frames for FILS shared key authentication and
205 * eventually do a key derivation as per IEEE 802.11ai. The below additional 206 * eventually do a key derivation as per IEEE 802.11ai. The below additional
206 * parameters should be given to driver in %NL80211_CMD_CONNECT. 207 * parameters should be given to driver in %NL80211_CMD_CONNECT and/or in
208 * %NL80211_CMD_UPDATE_CONNECT_PARAMS.
207 * %NL80211_ATTR_FILS_ERP_USERNAME - used to construct keyname_nai 209 * %NL80211_ATTR_FILS_ERP_USERNAME - used to construct keyname_nai
208 * %NL80211_ATTR_FILS_ERP_REALM - used to construct keyname_nai 210 * %NL80211_ATTR_FILS_ERP_REALM - used to construct keyname_nai
209 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used to construct erp message 211 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used to construct erp message
@@ -214,7 +216,8 @@
214 * as specified in IETF RFC 6696. 216 * as specified in IETF RFC 6696.
215 * 217 *
216 * When FILS shared key authentication is completed, driver needs to provide the 218 * When FILS shared key authentication is completed, driver needs to provide the
217 * below additional parameters to userspace. 219 * below additional parameters to userspace, which can be either after setting
220 * up a connection or after roaming.
218 * %NL80211_ATTR_FILS_KEK - used for key renewal 221 * %NL80211_ATTR_FILS_KEK - used for key renewal
219 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used in further EAP-RP exchanges 222 * %NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM - used in further EAP-RP exchanges
220 * %NL80211_ATTR_PMKID - used to identify the PMKSA used/generated 223 * %NL80211_ATTR_PMKID - used to identify the PMKSA used/generated
@@ -2225,6 +2228,16 @@ enum nl80211_commands {
2225 * @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this 2228 * @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
2226 * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED. 2229 * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
2227 * 2230 *
2231 * @NL80211_ATTR_TXQ_STATS: TXQ statistics (nested attribute, see &enum
2232 * nl80211_txq_stats)
2233 * @NL80211_ATTR_TXQ_LIMIT: Total packet limit for the TXQ queues for this phy.
2234 * The smaller of this and the memory limit is enforced.
2235 * @NL80211_ATTR_TXQ_MEMORY_LIMIT: Total memory memory limit (in bytes) for the
2236 * TXQ queues for this phy. The smaller of this and the packet limit is
2237 * enforced.
2238 * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes
2239 * a flow is assigned on each round of the DRR scheduler.
2240 *
2228 * @NUM_NL80211_ATTR: total number of nl80211_attrs available 2241 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2229 * @NL80211_ATTR_MAX: highest attribute number currently defined 2242 * @NL80211_ATTR_MAX: highest attribute number currently defined
2230 * @__NL80211_ATTR_AFTER_LAST: internal use 2243 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2659,6 +2672,11 @@ enum nl80211_attrs {
2659 2672
2660 NL80211_ATTR_CONTROL_PORT_OVER_NL80211, 2673 NL80211_ATTR_CONTROL_PORT_OVER_NL80211,
2661 2674
2675 NL80211_ATTR_TXQ_STATS,
2676 NL80211_ATTR_TXQ_LIMIT,
2677 NL80211_ATTR_TXQ_MEMORY_LIMIT,
2678 NL80211_ATTR_TXQ_QUANTUM,
2679
2662 /* add attributes here, update the policy in nl80211.c */ 2680 /* add attributes here, update the policy in nl80211.c */
2663 2681
2664 __NL80211_ATTR_AFTER_LAST, 2682 __NL80211_ATTR_AFTER_LAST,
@@ -2982,6 +3000,8 @@ enum nl80211_sta_bss_param {
2982 * received from the station (u64, usec) 3000 * received from the station (u64, usec)
2983 * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment 3001 * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
2984 * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm) 3002 * @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm)
3003 * @NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG: avg signal strength of (data)
3004 * ACK frame (s8, dBm)
2985 * @__NL80211_STA_INFO_AFTER_LAST: internal 3005 * @__NL80211_STA_INFO_AFTER_LAST: internal
2986 * @NL80211_STA_INFO_MAX: highest possible station info attribute 3006 * @NL80211_STA_INFO_MAX: highest possible station info attribute
2987 */ 3007 */
@@ -3021,6 +3041,7 @@ enum nl80211_sta_info {
3021 NL80211_STA_INFO_RX_DURATION, 3041 NL80211_STA_INFO_RX_DURATION,
3022 NL80211_STA_INFO_PAD, 3042 NL80211_STA_INFO_PAD,
3023 NL80211_STA_INFO_ACK_SIGNAL, 3043 NL80211_STA_INFO_ACK_SIGNAL,
3044 NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG,
3024 3045
3025 /* keep last */ 3046 /* keep last */
3026 __NL80211_STA_INFO_AFTER_LAST, 3047 __NL80211_STA_INFO_AFTER_LAST,
@@ -3038,6 +3059,7 @@ enum nl80211_sta_info {
3038 * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted 3059 * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted
3039 * MSDUs (u64) 3060 * MSDUs (u64)
3040 * @NL80211_TID_STATS_PAD: attribute used for padding for 64-bit alignment 3061 * @NL80211_TID_STATS_PAD: attribute used for padding for 64-bit alignment
3062 * @NL80211_TID_STATS_TXQ_STATS: TXQ stats (nested attribute)
3041 * @NUM_NL80211_TID_STATS: number of attributes here 3063 * @NUM_NL80211_TID_STATS: number of attributes here
3042 * @NL80211_TID_STATS_MAX: highest numbered attribute here 3064 * @NL80211_TID_STATS_MAX: highest numbered attribute here
3043 */ 3065 */
@@ -3048,6 +3070,7 @@ enum nl80211_tid_stats {
3048 NL80211_TID_STATS_TX_MSDU_RETRIES, 3070 NL80211_TID_STATS_TX_MSDU_RETRIES,
3049 NL80211_TID_STATS_TX_MSDU_FAILED, 3071 NL80211_TID_STATS_TX_MSDU_FAILED,
3050 NL80211_TID_STATS_PAD, 3072 NL80211_TID_STATS_PAD,
3073 NL80211_TID_STATS_TXQ_STATS,
3051 3074
3052 /* keep last */ 3075 /* keep last */
3053 NUM_NL80211_TID_STATS, 3076 NUM_NL80211_TID_STATS,
@@ -3055,6 +3078,44 @@ enum nl80211_tid_stats {
3055}; 3078};
3056 3079
3057/** 3080/**
3081 * enum nl80211_txq_stats - per TXQ statistics attributes
3082 * @__NL80211_TXQ_STATS_INVALID: attribute number 0 is reserved
3083 * @NUM_NL80211_TXQ_STATS: number of attributes here
3084 * @NL80211_TXQ_STATS_BACKLOG_BYTES: number of bytes currently backlogged
3085 * @NL80211_TXQ_STATS_BACKLOG_PACKETS: number of packets currently
3086 * backlogged
3087 * @NL80211_TXQ_STATS_FLOWS: total number of new flows seen
3088 * @NL80211_TXQ_STATS_DROPS: total number of packet drops
3089 * @NL80211_TXQ_STATS_ECN_MARKS: total number of packet ECN marks
3090 * @NL80211_TXQ_STATS_OVERLIMIT: number of drops due to queue space overflow
3091 * @NL80211_TXQ_STATS_OVERMEMORY: number of drops due to memory limit overflow
3092 * (only for per-phy stats)
3093 * @NL80211_TXQ_STATS_COLLISIONS: number of hash collisions
3094 * @NL80211_TXQ_STATS_TX_BYTES: total number of bytes dequeued from TXQ
3095 * @NL80211_TXQ_STATS_TX_PACKETS: total number of packets dequeued from TXQ
3096 * @NL80211_TXQ_STATS_MAX_FLOWS: number of flow buckets for PHY
3097 * @NL80211_TXQ_STATS_MAX: highest numbered attribute here
3098 */
3099enum nl80211_txq_stats {
3100 __NL80211_TXQ_STATS_INVALID,
3101 NL80211_TXQ_STATS_BACKLOG_BYTES,
3102 NL80211_TXQ_STATS_BACKLOG_PACKETS,
3103 NL80211_TXQ_STATS_FLOWS,
3104 NL80211_TXQ_STATS_DROPS,
3105 NL80211_TXQ_STATS_ECN_MARKS,
3106 NL80211_TXQ_STATS_OVERLIMIT,
3107 NL80211_TXQ_STATS_OVERMEMORY,
3108 NL80211_TXQ_STATS_COLLISIONS,
3109 NL80211_TXQ_STATS_TX_BYTES,
3110 NL80211_TXQ_STATS_TX_PACKETS,
3111 NL80211_TXQ_STATS_MAX_FLOWS,
3112
3113 /* keep last */
3114 NUM_NL80211_TXQ_STATS,
3115 NL80211_TXQ_STATS_MAX = NUM_NL80211_TXQ_STATS - 1
3116};
3117
3118/**
3058 * enum nl80211_mpath_flags - nl80211 mesh path flags 3119 * enum nl80211_mpath_flags - nl80211 mesh path flags
3059 * 3120 *
3060 * @NL80211_MPATH_FLAG_ACTIVE: the mesh path is active 3121 * @NL80211_MPATH_FLAG_ACTIVE: the mesh path is active
@@ -3144,6 +3205,29 @@ enum nl80211_band_attr {
3144#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA 3205#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
3145 3206
3146/** 3207/**
3208 * enum nl80211_wmm_rule - regulatory wmm rule
3209 *
3210 * @__NL80211_WMMR_INVALID: attribute number 0 is reserved
3211 * @NL80211_WMMR_CW_MIN: Minimum contention window slot.
3212 * @NL80211_WMMR_CW_MAX: Maximum contention window slot.
3213 * @NL80211_WMMR_AIFSN: Arbitration Inter Frame Space.
3214 * @NL80211_WMMR_TXOP: Maximum allowed tx operation time.
3215 * @nl80211_WMMR_MAX: highest possible wmm rule.
3216 * @__NL80211_WMMR_LAST: Internal use.
3217 */
3218enum nl80211_wmm_rule {
3219 __NL80211_WMMR_INVALID,
3220 NL80211_WMMR_CW_MIN,
3221 NL80211_WMMR_CW_MAX,
3222 NL80211_WMMR_AIFSN,
3223 NL80211_WMMR_TXOP,
3224
3225 /* keep last */
3226 __NL80211_WMMR_LAST,
3227 NL80211_WMMR_MAX = __NL80211_WMMR_LAST - 1
3228};
3229
3230/**
3147 * enum nl80211_frequency_attr - frequency attributes 3231 * enum nl80211_frequency_attr - frequency attributes
3148 * @__NL80211_FREQUENCY_ATTR_INVALID: attribute number 0 is reserved 3232 * @__NL80211_FREQUENCY_ATTR_INVALID: attribute number 0 is reserved
3149 * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz 3233 * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz
@@ -3192,6 +3276,9 @@ enum nl80211_band_attr {
3192 * on this channel in current regulatory domain. 3276 * on this channel in current regulatory domain.
3193 * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed 3277 * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed
3194 * on this channel in current regulatory domain. 3278 * on this channel in current regulatory domain.
3279 * @NL80211_FREQUENCY_ATTR_WMM: this channel has wmm limitations.
3280 * This is a nested attribute that contains the wmm limitation per AC.
3281 * (see &enum nl80211_wmm_rule)
3195 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number 3282 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
3196 * currently defined 3283 * currently defined
3197 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use 3284 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -3220,6 +3307,7 @@ enum nl80211_frequency_attr {
3220 NL80211_FREQUENCY_ATTR_IR_CONCURRENT, 3307 NL80211_FREQUENCY_ATTR_IR_CONCURRENT,
3221 NL80211_FREQUENCY_ATTR_NO_20MHZ, 3308 NL80211_FREQUENCY_ATTR_NO_20MHZ,
3222 NL80211_FREQUENCY_ATTR_NO_10MHZ, 3309 NL80211_FREQUENCY_ATTR_NO_10MHZ,
3310 NL80211_FREQUENCY_ATTR_WMM,
3223 3311
3224 /* keep last */ 3312 /* keep last */
3225 __NL80211_FREQUENCY_ATTR_AFTER_LAST, 3313 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -5040,6 +5128,11 @@ enum nl80211_feature_flags {
5040 * "radar detected" event. 5128 * "radar detected" event.
5041 * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211: Driver supports sending and 5129 * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211: Driver supports sending and
5042 * receiving control port frames over nl80211 instead of the netdevice. 5130 * receiving control port frames over nl80211 instead of the netdevice.
5131 * @NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT: This Driver support data ack
5132 * rssi if firmware support, this flag is to intimate about ack rssi
5133 * support to nl80211.
5134 * @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate
5135 * TXQs.
5043 * 5136 *
5044 * @NUM_NL80211_EXT_FEATURES: number of extended features. 5137 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5045 * @MAX_NL80211_EXT_FEATURES: highest extended feature index. 5138 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -5072,6 +5165,8 @@ enum nl80211_ext_feature_index {
5072 NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN, 5165 NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN,
5073 NL80211_EXT_FEATURE_DFS_OFFLOAD, 5166 NL80211_EXT_FEATURE_DFS_OFFLOAD,
5074 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211, 5167 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211,
5168 NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT,
5169 NL80211_EXT_FEATURE_TXQS,
5075 5170
5076 /* add new features before the definition below */ 5171 /* add new features before the definition below */
5077 NUM_NL80211_EXT_FEATURES, 5172 NUM_NL80211_EXT_FEATURES,