xref: /openbmc/linux/net/mac80211/Kconfig (revision 27db2e42)
1f0706e82SJiri Bencconfig MAC80211
2f0706e82SJiri Benc	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
30aa8204bSJohannes Berg	depends on CFG80211
4f0706e82SJiri Benc	select CRYPTO
5f0706e82SJiri Benc	select CRYPTO_ECB
6f0706e82SJiri Benc	select CRYPTO_ARC4
7f0706e82SJiri Benc	select CRYPTO_AES
8f0706e82SJiri Benc	select CRC32
9f0706e82SJiri Benc	---help---
10f0706e82SJiri Benc	  This option enables the hardware independent IEEE 802.11
11f0706e82SJiri Benc	  networking stack.
12f0706e82SJiri Benc
130aa8204bSJohannes Bergcomment "CFG80211 needs to be enabled for MAC80211"
140aa8204bSJohannes Berg	depends on CFG80211=n
150aa8204bSJohannes Berg
16abd8ea22SLuis R. Rodriguezif MAC80211 != n
17ac71c691SJohannes Berg
18e5f5e733SAdrian Bunkconfig MAC80211_RC_PID
19e5f5e733SAdrian Bunk	bool "PID controller based rate control algorithm" if EMBEDDED
20e5f5e733SAdrian Bunk	---help---
21e5f5e733SAdrian Bunk	  This option enables a TX rate control algorithm for
22e5f5e733SAdrian Bunk	  mac80211 that uses a PID controller to select the TX
23e5f5e733SAdrian Bunk	  rate.
24e5f5e733SAdrian Bunk
25cccf129fSFelix Fietkauconfig MAC80211_RC_MINSTREL
268eb41c93SLuis R. Rodriguez	bool "Minstrel" if EMBEDDED
278eb41c93SLuis R. Rodriguez	default y
28cccf129fSFelix Fietkau	---help---
29cccf129fSFelix Fietkau	  This option enables the 'minstrel' TX rate control algorithm
30cccf129fSFelix Fietkau
31c21b39acSStefano Briviochoice
32c21b39acSStefano Brivio	prompt "Default rate control algorithm"
338eb41c93SLuis R. Rodriguez	default MAC80211_RC_DEFAULT_MINSTREL
34c21b39acSStefano Brivio	---help---
35c21b39acSStefano Brivio	  This option selects the default rate control algorithm
36c21b39acSStefano Brivio	  mac80211 will use. Note that this default can still be
37692105b8SMatt LaPlante	  overridden through the ieee80211_default_rc_algo module
384b475898SJohannes Berg	  parameter if different algorithms are available.
39ac71c691SJohannes Berg
40c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT_PID
41c21b39acSStefano Brivio	bool "PID controller based rate control algorithm"
42e5f5e733SAdrian Bunk	depends on MAC80211_RC_PID
43c21b39acSStefano Brivio	---help---
44c21b39acSStefano Brivio	  Select the PID controller based rate control as the
45c21b39acSStefano Brivio	  default rate control algorithm. You should choose
46c21b39acSStefano Brivio	  this unless you know what you are doing.
47c21b39acSStefano Brivio
48cccf129fSFelix Fietkauconfig MAC80211_RC_DEFAULT_MINSTREL
49cccf129fSFelix Fietkau	bool "Minstrel"
50cccf129fSFelix Fietkau	depends on MAC80211_RC_MINSTREL
51cccf129fSFelix Fietkau	---help---
52cccf129fSFelix Fietkau	  Select Minstrel as the default rate control algorithm.
53cccf129fSFelix Fietkau
54cccf129fSFelix Fietkau
55c21b39acSStefano Brivioendchoice
56c21b39acSStefano Brivio
57c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT
58c21b39acSStefano Brivio	string
59cccf129fSFelix Fietkau	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
608eb41c93SLuis R. Rodriguez	default "pid" if MAC80211_RC_DEFAULT_PID
61c21b39acSStefano Brivio	default ""
62c21b39acSStefano Brivio
63abd8ea22SLuis R. Rodriguezendif
64ad018375SMattias Nissler
652f5ce793SJohannes Bergconfig MAC80211_MESH
662f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
6737659ff8SLuis Carlos Cobo	depends on MAC80211 && EXPERIMENTAL
682f5ce793SJohannes Berg	---help---
695c142e8dSJohannes Berg	 This options enables support of Draft 802.11s mesh networking.
7018889231SJavier Cardona	 The implementation is based on Draft 2.08 of the Mesh Networking
7118889231SJavier Cardona	 amendment.  However, no compliance with that draft is claimed or even
7218889231SJavier Cardona	 possible, as drafts leave a number of identifiers to be defined after
7318889231SJavier Cardona	 ratification.  For more information visit http://o11s.org/.
742f5ce793SJohannes Berg
75f0706e82SJiri Bencconfig MAC80211_LEDS
76f0706e82SJiri Benc	bool "Enable LED triggers"
77bd8fd21dSLuca Tettamanti	depends on MAC80211
78bd8fd21dSLuca Tettamanti	select NEW_LEDS
79bd8fd21dSLuca Tettamanti	select LEDS_TRIGGERS
80f0706e82SJiri Benc	---help---
81f0706e82SJiri Benc	  This option enables a few LED triggers for different
82f0706e82SJiri Benc	  packet receive/transmit events.
83f0706e82SJiri Benc
84e9f207f0SJiri Bencconfig MAC80211_DEBUGFS
85e9f207f0SJiri Benc	bool "Export mac80211 internals in DebugFS"
86e9f207f0SJiri Benc	depends on MAC80211 && DEBUG_FS
87e9f207f0SJiri Benc	---help---
88e9f207f0SJiri Benc	  Select this to see extensive information about
89e9f207f0SJiri Benc	  the internal state of mac80211 in debugfs.
90e9f207f0SJiri Benc
91e9f207f0SJiri Benc	  Say N unless you know you need this.
92e9f207f0SJiri Benc
93f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
94f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
95f4ea83ddSJohannes Berg	depends on MAC80211
96f4ea83ddSJohannes Berg	---help---
97f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
98f4ea83ddSJohannes Berg
996feeb8aaSJohannes Bergconfig MAC80211_DEBUG_PACKET_ALIGNMENT
1006feeb8aaSJohannes Berg	bool "Enable packet alignment debugging"
101f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
102f4ea83ddSJohannes Berg	---help---
1036feeb8aaSJohannes Berg	  This option is recommended for driver authors and strongly
1046feeb8aaSJohannes Berg	  discouraged for everybody else, it will trigger a warning
1056feeb8aaSJohannes Berg	  when a driver hands mac80211 a buffer that is aligned in
1066feeb8aaSJohannes Berg	  a way that will cause problems with the IP stack on some
1076feeb8aaSJohannes Berg	  architectures.
1086feeb8aaSJohannes Berg
1096feeb8aaSJohannes Berg	  Say N unless you're writing a mac80211 based driver.
1106feeb8aaSJohannes Berg
111f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
112f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
113f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
114f0706e82SJiri Benc	---help---
115f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
116f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
117f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
118f4ea83ddSJohannes Berg	  paths.
119f0706e82SJiri Benc
120f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
121f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
122f4ea83ddSJohannes Berg	  enable.
123f4ea83ddSJohannes Berg
124f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
125f4ea83ddSJohannes Berg	  in mac80211.
126f4ea83ddSJohannes Berg
127f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
128f4ea83ddSJohannes Berg	bool "Verbose debugging output"
129f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
130f4ea83ddSJohannes Berg	---help---
131f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
132f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
133f4ea83ddSJohannes Berg	  on production systems as some of the messages are
134f4ea83ddSJohannes Berg	  remotely triggerable.
135f4ea83ddSJohannes Berg
136f4ea83ddSJohannes Berg	  Do not select this option.
137f0706e82SJiri Benc
13882b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
139f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
140f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
14182b3cad9SRon Rindjunsky	---help---
14282b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
14382b3cad9SRon Rindjunsky	  debug tracing output.
14482b3cad9SRon Rindjunsky
145f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
146f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
14782b3cad9SRon Rindjunsky
148f4ea83ddSJohannes Berg	  Do not select this option.
149f4ea83ddSJohannes Berg
150f4ea83ddSJohannes Bergconfig MAC80211_TKIP_DEBUG
151f4ea83ddSJohannes Berg	bool "Verbose TKIP debugging"
152f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
153f4ea83ddSJohannes Berg	---help---
154f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
155f4ea83ddSJohannes Berg	  very verbose TKIP debugging messages. It should not
156f4ea83ddSJohannes Berg	  be selected on production systems as those messages
157f4ea83ddSJohannes Berg	  are remotely triggerable.
158f4ea83ddSJohannes Berg
159f4ea83ddSJohannes Berg	  Do not select this option.
160f4ea83ddSJohannes Berg
161f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
162f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
163f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
164f4ea83ddSJohannes Berg	---help---
165f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
166f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
167f4ea83ddSJohannes Berg	  be selected on production systems as those messages
168f4ea83ddSJohannes Berg	  are remotely triggerable.
169f4ea83ddSJohannes Berg
170f4ea83ddSJohannes Berg	  Do not select this option.
171f4ea83ddSJohannes Berg
172f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_PS_DEBUG
173f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
174f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
175f4ea83ddSJohannes Berg	---help---
176f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
177f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
178f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
179f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
180f4ea83ddSJohannes Berg	  messages are remotely triggerable.
181f4ea83ddSJohannes Berg
182f4ea83ddSJohannes Berg	  Do not select this option.
183f4ea83ddSJohannes Berg
184f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_MPL_DEBUG
185f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
186f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
187f4ea83ddSJohannes Berg	depends on MAC80211_MESH
188f4ea83ddSJohannes Berg	---help---
189f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
190f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
191f4ea83ddSJohannes Berg	  is taking part in a mesh network).
192f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
193f4ea83ddSJohannes Berg	  messages are remotely triggerable.
194f4ea83ddSJohannes Berg
195f4ea83ddSJohannes Berg	  Do not select this option.
196f0706e82SJiri Benc
197*27db2e42SRui Pauloconfig MAC80211_VERBOSE_MHWMP_DEBUG
198*27db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
199*27db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
200*27db2e42SRui Paulo	depends on MAC80211_MESH
201*27db2e42SRui Paulo	---help---
202*27db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
203*27db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
204*27db2e42SRui Paulo	  is taking part in a mesh network).
205*27db2e42SRui Paulo	  It should not be selected on production systems as those
206*27db2e42SRui Paulo	  messages are remotely triggerable.
207*27db2e42SRui Paulo
208*27db2e42SRui Paulo	  Do not select this option.
209*27db2e42SRui Paulo
210f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
211f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
212f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
213f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
214f0706e82SJiri Benc	---help---
215f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
216f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
217f4ea83ddSJohannes Berg	  and show them in debugfs.
218f0706e82SJiri Benc
219f4ea83ddSJohannes Berg	  If unsure, say N.
2200a2b8bb2SJohannes Berg
2210a2b8bb2SJohannes Bergconfig MAC80211_DRIVER_API_TRACER
2220a2b8bb2SJohannes Berg	bool "Driver API tracer"
2230a2b8bb2SJohannes Berg	depends on MAC80211_DEBUG_MENU
2240a2b8bb2SJohannes Berg	depends on EVENT_TRACING
2250a2b8bb2SJohannes Berg	help
2260a2b8bb2SJohannes Berg	  Say Y here to make mac80211 register with the ftrace
2270a2b8bb2SJohannes Berg	  framework for the driver API -- you can see which
2280a2b8bb2SJohannes Berg	  driver methods it is calling then by looking at the
2290a2b8bb2SJohannes Berg	  trace.
2300a2b8bb2SJohannes Berg
2310a2b8bb2SJohannes Berg	  If unsure, say N.
232