aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nl80211.h
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2008-10-30 10:59:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-11-10 15:17:40 -0500
commit318884875bdddca663ecc373c813cf8e117d9e43 (patch)
treede9cfbe0bf24bea0ab1546a0613fbc9417bb6cb8 /include/linux/nl80211.h
parent1e898ff83c31c303f73c3893d1ac519e4d9b59e5 (diff)
nl80211: Add TX queue parameter configuration
Add a new attribute, NL80211_ATTR_WIPHY_TXQ_PARAMS, that can be used with NL80211_CMD_SET_WIPHY for userspace (e.g., hostapd) to set TX queue parameters (txop, cwmin, cwmax, aifs). Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/nl80211.h')
-rw-r--r--include/linux/nl80211.h43
1 files changed, 41 insertions, 2 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 5009809588c0..79827345351d 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -25,8 +25,9 @@
25 * 25 *
26 * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request 26 * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request
27 * to get a list of all present wiphys. 27 * to get a list of all present wiphys.
28 * @NL80211_CMD_SET_WIPHY: set wiphy name, needs %NL80211_ATTR_WIPHY and 28 * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or
29 * %NL80211_ATTR_WIPHY_NAME. 29 * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME
30 * and/or %NL80211_ATTR_WIPHY_TXQ_PARAMS.
30 * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request 31 * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request
31 * or rename notification. Has attributes %NL80211_ATTR_WIPHY and 32 * or rename notification. Has attributes %NL80211_ATTR_WIPHY and
32 * %NL80211_ATTR_WIPHY_NAME. 33 * %NL80211_ATTR_WIPHY_NAME.
@@ -178,6 +179,7 @@ enum nl80211_commands {
178 * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf. 179 * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf.
179 * /sys/class/ieee80211/<phyname>/index 180 * /sys/class/ieee80211/<phyname>/index
180 * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) 181 * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming)
182 * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters
181 * 183 *
182 * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on 184 * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on
183 * @NL80211_ATTR_IFNAME: network interface name 185 * @NL80211_ATTR_IFNAME: network interface name
@@ -312,6 +314,8 @@ enum nl80211_attrs {
312 314
313 NL80211_ATTR_BSS_BASIC_RATES, 315 NL80211_ATTR_BSS_BASIC_RATES,
314 316
317 NL80211_ATTR_WIPHY_TXQ_PARAMS,
318
315 /* add attributes here, update the policy in nl80211.c */ 319 /* add attributes here, update the policy in nl80211.c */
316 320
317 __NL80211_ATTR_AFTER_LAST, 321 __NL80211_ATTR_AFTER_LAST,
@@ -324,6 +328,7 @@ enum nl80211_attrs {
324 */ 328 */
325#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY 329#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
326#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES 330#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
331#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
327 332
328#define NL80211_MAX_SUPP_RATES 32 333#define NL80211_MAX_SUPP_RATES 32
329#define NL80211_MAX_SUPP_REG_RULES 32 334#define NL80211_MAX_SUPP_REG_RULES 32
@@ -698,4 +703,38 @@ enum nl80211_meshconf_params {
698 NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1 703 NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
699}; 704};
700 705
706/**
707 * enum nl80211_txq_attr - TX queue parameter attributes
708 * @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved
709 * @NL80211_TXQ_ATTR_QUEUE: TX queue identifier (NL80211_TXQ_Q_*)
710 * @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning
711 * disabled
712 * @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form
713 * 2^n-1 in the range 1..32767]
714 * @NL80211_TXQ_ATTR_CWMAX: Maximum contention window [a value of the form
715 * 2^n-1 in the range 1..32767]
716 * @NL80211_TXQ_ATTR_AIFS: Arbitration interframe space [0..255]
717 * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal
718 * @NL80211_TXQ_ATTR_MAX: Maximum TXQ attribute number
719 */
720enum nl80211_txq_attr {
721 __NL80211_TXQ_ATTR_INVALID,
722 NL80211_TXQ_ATTR_QUEUE,
723 NL80211_TXQ_ATTR_TXOP,
724 NL80211_TXQ_ATTR_CWMIN,
725 NL80211_TXQ_ATTR_CWMAX,
726 NL80211_TXQ_ATTR_AIFS,
727
728 /* keep last */
729 __NL80211_TXQ_ATTR_AFTER_LAST,
730 NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
731};
732
733enum nl80211_txq_q {
734 NL80211_TXQ_Q_VO,
735 NL80211_TXQ_Q_VI,
736 NL80211_TXQ_Q_BE,
737 NL80211_TXQ_Q_BK
738};
739
701#endif /* __LINUX_NL80211_H */ 740#endif /* __LINUX_NL80211_H */