xref: /openbmc/linux/net/mac80211/Kconfig (revision f4ea83dd)
1f0706e82SJiri Bencconfig MAC80211
2f0706e82SJiri Benc	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
3f0706e82SJiri Benc	select CRYPTO
4f0706e82SJiri Benc	select CRYPTO_ECB
5f0706e82SJiri Benc	select CRYPTO_ARC4
6f0706e82SJiri Benc	select CRYPTO_AES
7f0706e82SJiri Benc	select CRC32
8f0706e82SJiri Benc	select WIRELESS_EXT
9f0706e82SJiri Benc	select CFG80211
10f0706e82SJiri Benc	---help---
11f0706e82SJiri Benc	  This option enables the hardware independent IEEE 802.11
12f0706e82SJiri Benc	  networking stack.
13f0706e82SJiri Benc
14e2530083SJohannes Bergconfig MAC80211_QOS
15e2530083SJohannes Berg	def_bool y
16e2530083SJohannes Berg	depends on MAC80211
17e2530083SJohannes Berg	depends on NET_SCHED
18e2530083SJohannes Berg	depends on NETDEVICES_MULTIQUEUE
19e2530083SJohannes Berg
20e2530083SJohannes Bergcomment "QoS/HT support disabled"
21e2530083SJohannes Berg	depends on MAC80211 && !MAC80211_QOS
22e2530083SJohannes Bergcomment "QoS/HT support needs CONFIG_NET_SCHED"
23e2530083SJohannes Berg	depends on MAC80211 && !NET_SCHED
24e2530083SJohannes Bergcomment "QoS/HT support needs CONFIG_NETDEVICES_MULTIQUEUE"
25e2530083SJohannes Berg	depends on MAC80211 && !NETDEVICES_MULTIQUEUE
26e2530083SJohannes Berg
274b475898SJohannes Bergmenu "Rate control algorithm selection"
284b475898SJohannes Berg	depends on MAC80211 != n
29ac71c691SJohannes Berg
30e5f5e733SAdrian Bunkconfig MAC80211_RC_PID
31e5f5e733SAdrian Bunk	bool "PID controller based rate control algorithm" if EMBEDDED
32e5f5e733SAdrian Bunk	default y
33e5f5e733SAdrian Bunk	---help---
34e5f5e733SAdrian Bunk	  This option enables a TX rate control algorithm for
35e5f5e733SAdrian Bunk	  mac80211 that uses a PID controller to select the TX
36e5f5e733SAdrian Bunk	  rate.
37e5f5e733SAdrian Bunk
38c21b39acSStefano Briviochoice
39c21b39acSStefano Brivio	prompt "Default rate control algorithm"
40c21b39acSStefano Brivio	default MAC80211_RC_DEFAULT_PID
41c21b39acSStefano Brivio	---help---
42c21b39acSStefano Brivio	  This option selects the default rate control algorithm
43c21b39acSStefano Brivio	  mac80211 will use. Note that this default can still be
44c21b39acSStefano Brivio	  overriden through the ieee80211_default_rc_algo module
454b475898SJohannes Berg	  parameter if different algorithms are available.
46ac71c691SJohannes Berg
47c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT_PID
48c21b39acSStefano Brivio	bool "PID controller based rate control algorithm"
49e5f5e733SAdrian Bunk	depends on MAC80211_RC_PID
50c21b39acSStefano Brivio	---help---
51c21b39acSStefano Brivio	  Select the PID controller based rate control as the
52c21b39acSStefano Brivio	  default rate control algorithm. You should choose
53c21b39acSStefano Brivio	  this unless you know what you are doing.
54c21b39acSStefano Brivio
55c21b39acSStefano Brivioendchoice
56c21b39acSStefano Brivio
57c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT
58c21b39acSStefano Brivio	string
59c21b39acSStefano Brivio	default "pid" if MAC80211_RC_DEFAULT_PID
60c21b39acSStefano Brivio	default ""
61c21b39acSStefano Brivio
624b475898SJohannes Bergendmenu
63ad018375SMattias Nissler
642f5ce793SJohannes Bergconfig MAC80211_MESH
652f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
6637659ff8SLuis Carlos Cobo	depends on MAC80211 && EXPERIMENTAL
672f5ce793SJohannes Berg	---help---
685c142e8dSJohannes Berg	 This options enables support of Draft 802.11s mesh networking.
695c142e8dSJohannes Berg	 The implementation is based on Draft 1.08 of the Mesh Networking
705c142e8dSJohannes Berg	 amendment. For more information visit http://o11s.org/.
712f5ce793SJohannes Berg
722f5ce793SJohannes Berg
73f0706e82SJiri Bencconfig MAC80211_LEDS
74f0706e82SJiri Benc	bool "Enable LED triggers"
75bd8fd21dSLuca Tettamanti	depends on MAC80211
76bd8fd21dSLuca Tettamanti	select NEW_LEDS
77bd8fd21dSLuca Tettamanti	select LEDS_TRIGGERS
78f0706e82SJiri Benc	---help---
79f0706e82SJiri Benc	  This option enables a few LED triggers for different
80f0706e82SJiri Benc	  packet receive/transmit events.
81f0706e82SJiri Benc
82e9f207f0SJiri Bencconfig MAC80211_DEBUGFS
83e9f207f0SJiri Benc	bool "Export mac80211 internals in DebugFS"
84e9f207f0SJiri Benc	depends on MAC80211 && DEBUG_FS
85e9f207f0SJiri Benc	---help---
86e9f207f0SJiri Benc	  Select this to see extensive information about
87e9f207f0SJiri Benc	  the internal state of mac80211 in debugfs.
88e9f207f0SJiri Benc
89e9f207f0SJiri Benc	  Say N unless you know you need this.
90e9f207f0SJiri Benc
91*f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
92*f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
93*f4ea83ddSJohannes Berg	depends on MAC80211
94*f4ea83ddSJohannes Berg	---help---
95*f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
96*f4ea83ddSJohannes Berg
976feeb8aaSJohannes Bergconfig MAC80211_DEBUG_PACKET_ALIGNMENT
986feeb8aaSJohannes Berg	bool "Enable packet alignment debugging"
99*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
100*f4ea83ddSJohannes Berg	---help---
1016feeb8aaSJohannes Berg	  This option is recommended for driver authors and strongly
1026feeb8aaSJohannes Berg	  discouraged for everybody else, it will trigger a warning
1036feeb8aaSJohannes Berg	  when a driver hands mac80211 a buffer that is aligned in
1046feeb8aaSJohannes Berg	  a way that will cause problems with the IP stack on some
1056feeb8aaSJohannes Berg	  architectures.
1066feeb8aaSJohannes Berg
1076feeb8aaSJohannes Berg	  Say N unless you're writing a mac80211 based driver.
1086feeb8aaSJohannes Berg
109*f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
110*f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
111*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
112f0706e82SJiri Benc	---help---
113*f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
114*f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
115*f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
116*f4ea83ddSJohannes Berg	  paths.
117f0706e82SJiri Benc
118*f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
119*f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
120*f4ea83ddSJohannes Berg	  enable.
121*f4ea83ddSJohannes Berg
122*f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
123*f4ea83ddSJohannes Berg	  in mac80211.
124*f4ea83ddSJohannes Berg
125*f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
126*f4ea83ddSJohannes Berg	bool "Verbose debugging output"
127*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
128*f4ea83ddSJohannes Berg	---help---
129*f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
130*f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
131*f4ea83ddSJohannes Berg	  on production systems as some of the messages are
132*f4ea83ddSJohannes Berg	  remotely triggerable.
133*f4ea83ddSJohannes Berg
134*f4ea83ddSJohannes Berg	  Do not select this option.
135f0706e82SJiri Benc
13682b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
137*f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
138*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
13982b3cad9SRon Rindjunsky	---help---
14082b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
14182b3cad9SRon Rindjunsky	  debug tracing output.
14282b3cad9SRon Rindjunsky
143*f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
144*f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
14582b3cad9SRon Rindjunsky
146*f4ea83ddSJohannes Berg	  Do not select this option.
147*f4ea83ddSJohannes Berg
148*f4ea83ddSJohannes Bergconfig MAC80211_TKIP_DEBUG
149*f4ea83ddSJohannes Berg	bool "Verbose TKIP debugging"
150*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
151*f4ea83ddSJohannes Berg	---help---
152*f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
153*f4ea83ddSJohannes Berg	  very verbose TKIP debugging messages. It should not
154*f4ea83ddSJohannes Berg	  be selected on production systems as those messages
155*f4ea83ddSJohannes Berg	  are remotely triggerable.
156*f4ea83ddSJohannes Berg
157*f4ea83ddSJohannes Berg	  Do not select this option.
158*f4ea83ddSJohannes Berg
159*f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
160*f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
161*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
162*f4ea83ddSJohannes Berg	---help---
163*f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
164*f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
165*f4ea83ddSJohannes Berg	  be selected on production systems as those messages
166*f4ea83ddSJohannes Berg	  are remotely triggerable.
167*f4ea83ddSJohannes Berg
168*f4ea83ddSJohannes Berg	  Do not select this option.
169*f4ea83ddSJohannes Berg
170*f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_PS_DEBUG
171*f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
172*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
173*f4ea83ddSJohannes Berg	---help---
174*f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
175*f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
176*f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
177*f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
178*f4ea83ddSJohannes Berg	  messages are remotely triggerable.
179*f4ea83ddSJohannes Berg
180*f4ea83ddSJohannes Berg	  Do not select this option.
181*f4ea83ddSJohannes Berg
182*f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_MPL_DEBUG
183*f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
184*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
185*f4ea83ddSJohannes Berg	depends on MAC80211_MESH
186*f4ea83ddSJohannes Berg	---help---
187*f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
188*f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
189*f4ea83ddSJohannes Berg	  is taking part in a mesh network).
190*f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
191*f4ea83ddSJohannes Berg	  messages are remotely triggerable.
192*f4ea83ddSJohannes Berg
193*f4ea83ddSJohannes Berg	  Do not select this option.
194f0706e82SJiri Benc
195f0706e82SJiri Bencconfig MAC80211_LOWTX_FRAME_DUMP
196f0706e82SJiri Benc	bool "Debug frame dumping"
197*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
198f0706e82SJiri Benc	---help---
199f0706e82SJiri Benc	  Selecting this option will cause the stack to
200f0706e82SJiri Benc	  print a message for each frame that is handed
201f0706e82SJiri Benc	  to the lowlevel driver for transmission. This
202f0706e82SJiri Benc	  message includes all MAC addresses and the
203f0706e82SJiri Benc	  frame control field.
204f0706e82SJiri Benc
205f0706e82SJiri Benc	  If unsure, say N and insert the debugging code
206f0706e82SJiri Benc	  you require into the driver you are debugging.
207f0706e82SJiri Benc
208f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
209f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
210f0706e82SJiri Benc	depends on MAC80211_DEBUG
211*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
212*f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
213f0706e82SJiri Benc	---help---
214*f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
215*f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
216*f4ea83ddSJohannes Berg	  and show them in debugfs.
217f0706e82SJiri Benc
218*f4ea83ddSJohannes Berg	  If unsure, say N.
2197b1e78d5SYi Zhu
2207b1e78d5SYi Zhuconfig MAC80211_VERBOSE_SPECT_MGMT_DEBUG
2217b1e78d5SYi Zhu	bool "Verbose Spectrum Management (IEEE 802.11h)debugging"
2227b1e78d5SYi Zhu	depends on MAC80211_DEBUG
2237b1e78d5SYi Zhu	---help---
2247b1e78d5SYi Zhu	  Say Y here to print out verbose Spectrum Management (IEEE 802.11h)
2257b1e78d5SYi Zhu	  debug messages.
226