xref: /openbmc/linux/net/mac80211/Kconfig (revision 9208247d74bc52dcaf370ba3cee29b5e8775464b)
1config MAC80211
2	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
3	depends on CFG80211
4	select CRYPTO
5	select CRYPTO_ARC4
6	select CRYPTO_AES
7	select CRYPTO_CCM
8	select CRC32
9	select AVERAGE
10	---help---
11	  This option enables the hardware independent IEEE 802.11
12	  networking stack.
13
14comment "CFG80211 needs to be enabled for MAC80211"
15	depends on CFG80211=n
16
17if MAC80211 != n
18
19config MAC80211_HAS_RC
20	bool
21
22config MAC80211_RC_MINSTREL
23	bool "Minstrel" if EXPERT
24	select MAC80211_HAS_RC
25	default y
26	---help---
27	  This option enables the 'minstrel' TX rate control algorithm
28
29config MAC80211_RC_MINSTREL_HT
30	bool "Minstrel 802.11n support" if EXPERT
31	depends on MAC80211_RC_MINSTREL
32	default y
33	---help---
34	  This option enables the 'minstrel_ht' TX rate control algorithm
35
36config MAC80211_RC_MINSTREL_VHT
37	bool "Minstrel 802.11ac support" if EXPERT
38	depends on MAC80211_RC_MINSTREL_HT
39	default n
40	---help---
41	  This option enables VHT in the 'minstrel_ht' TX rate control algorithm
42
43choice
44	prompt "Default rate control algorithm"
45	depends on MAC80211_HAS_RC
46	default MAC80211_RC_DEFAULT_MINSTREL
47	---help---
48	  This option selects the default rate control algorithm
49	  mac80211 will use. Note that this default can still be
50	  overridden through the ieee80211_default_rc_algo module
51	  parameter if different algorithms are available.
52
53config MAC80211_RC_DEFAULT_MINSTREL
54	bool "Minstrel"
55	depends on MAC80211_RC_MINSTREL
56	---help---
57	  Select Minstrel as the default rate control algorithm.
58
59
60endchoice
61
62config MAC80211_RC_DEFAULT
63	string
64	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
65	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
66	default ""
67
68endif
69
70comment "Some wireless drivers require a rate control algorithm"
71	depends on MAC80211 && MAC80211_HAS_RC=n
72
73config MAC80211_MESH
74	bool "Enable mac80211 mesh networking (pre-802.11s) support"
75	depends on MAC80211
76	---help---
77	 This options enables support of Draft 802.11s mesh networking.
78	 The implementation is based on Draft 2.08 of the Mesh Networking
79	 amendment.  However, no compliance with that draft is claimed or even
80	 possible, as drafts leave a number of identifiers to be defined after
81	 ratification.  For more information visit http://o11s.org/.
82
83config MAC80211_LEDS
84	bool "Enable LED triggers"
85	depends on MAC80211
86	depends on LEDS_CLASS
87	select LEDS_TRIGGERS
88	---help---
89	  This option enables a few LED triggers for different
90	  packet receive/transmit events.
91
92config MAC80211_DEBUGFS
93	bool "Export mac80211 internals in DebugFS"
94	depends on MAC80211 && DEBUG_FS
95	---help---
96	  Select this to see extensive information about
97	  the internal state of mac80211 in debugfs.
98
99	  Say N unless you know you need this.
100
101config MAC80211_MESSAGE_TRACING
102	bool "Trace all mac80211 debug messages"
103	depends on MAC80211
104	---help---
105	  Select this option to have mac80211 register the
106	  mac80211_msg trace subsystem with tracepoints to
107	  collect all debugging messages, independent of
108	  printing them into the kernel log.
109
110	  The overhead in this option is that all the messages
111	  need to be present in the binary and formatted at
112	  runtime for tracing.
113
114menuconfig MAC80211_DEBUG_MENU
115	bool "Select mac80211 debugging features"
116	depends on MAC80211
117	---help---
118	  This option collects various mac80211 debug settings.
119
120config MAC80211_NOINLINE
121	bool "Do not inline TX/RX handlers"
122	depends on MAC80211_DEBUG_MENU
123	---help---
124	  This option affects code generation in mac80211, when
125	  selected some functions are marked "noinline" to allow
126	  easier debugging of problems in the transmit and receive
127	  paths.
128
129	  This option increases code size a bit and inserts a lot
130	  of function calls in the code, but is otherwise safe to
131	  enable.
132
133	  If unsure, say N unless you expect to be finding problems
134	  in mac80211.
135
136config MAC80211_VERBOSE_DEBUG
137	bool "Verbose debugging output"
138	depends on MAC80211_DEBUG_MENU
139	---help---
140	  Selecting this option causes mac80211 to print out
141	  many debugging messages. It should not be selected
142	  on production systems as some of the messages are
143	  remotely triggerable.
144
145	  Do not select this option.
146
147config MAC80211_MLME_DEBUG
148	bool "Verbose managed MLME output"
149	depends on MAC80211_DEBUG_MENU
150	---help---
151	  Selecting this option causes mac80211 to print out
152	  debugging messages for the managed-mode MLME. It
153	  should not be selected on production systems as some
154	  of the messages are remotely triggerable.
155
156	  Do not select this option.
157
158config MAC80211_STA_DEBUG
159	bool "Verbose station debugging"
160	depends on MAC80211_DEBUG_MENU
161	---help---
162	  Selecting this option causes mac80211 to print out
163	  debugging messages for station addition/removal.
164
165	  Do not select this option.
166
167config MAC80211_HT_DEBUG
168	bool "Verbose HT debugging"
169	depends on MAC80211_DEBUG_MENU
170	---help---
171	  This option enables 802.11n High Throughput features
172	  debug tracing output.
173
174	  It should not be selected on production systems as some
175	  of the messages are remotely triggerable.
176
177	  Do not select this option.
178
179config MAC80211_IBSS_DEBUG
180	bool "Verbose IBSS debugging"
181	depends on MAC80211_DEBUG_MENU
182	---help---
183	  Selecting this option causes mac80211 to print out
184	  very verbose IBSS debugging messages. It should not
185	  be selected on production systems as those messages
186	  are remotely triggerable.
187
188	  Do not select this option.
189
190config MAC80211_PS_DEBUG
191	bool "Verbose powersave mode debugging"
192	depends on MAC80211_DEBUG_MENU
193	---help---
194	  Selecting this option causes mac80211 to print out very
195	  verbose power save mode debugging messages (when mac80211
196	  is an AP and has power saving stations.)
197	  It should not be selected on production systems as those
198	  messages are remotely triggerable.
199
200	  Do not select this option.
201
202config MAC80211_MPL_DEBUG
203	bool "Verbose mesh peer link debugging"
204	depends on MAC80211_DEBUG_MENU
205	depends on MAC80211_MESH
206	---help---
207	  Selecting this option causes mac80211 to print out very
208	  verbose mesh peer link debugging messages (when mac80211
209	  is taking part in a mesh network).
210	  It should not be selected on production systems as those
211	  messages are remotely triggerable.
212
213	  Do not select this option.
214
215config MAC80211_MPATH_DEBUG
216	bool "Verbose mesh path debugging"
217	depends on MAC80211_DEBUG_MENU
218	depends on MAC80211_MESH
219	---help---
220	  Selecting this option causes mac80211 to print out very
221	  verbose mesh path selection debugging messages (when mac80211
222	  is taking part in a mesh network).
223	  It should not be selected on production systems as those
224	  messages are remotely triggerable.
225
226	  Do not select this option.
227
228config MAC80211_MHWMP_DEBUG
229	bool "Verbose mesh HWMP routing debugging"
230	depends on MAC80211_DEBUG_MENU
231	depends on MAC80211_MESH
232	---help---
233	  Selecting this option causes mac80211 to print out very
234	  verbose mesh routing (HWMP) debugging messages (when mac80211
235	  is taking part in a mesh network).
236	  It should not be selected on production systems as those
237	  messages are remotely triggerable.
238
239	  Do not select this option.
240
241config MAC80211_MESH_SYNC_DEBUG
242	bool "Verbose mesh synchronization debugging"
243	depends on MAC80211_DEBUG_MENU
244	depends on MAC80211_MESH
245	---help---
246	  Selecting this option causes mac80211 to print out very verbose mesh
247	  synchronization debugging messages (when mac80211 is taking part in a
248	  mesh network).
249
250	  Do not select this option.
251
252config MAC80211_MESH_CSA_DEBUG
253	bool "Verbose mesh channel switch debugging"
254	depends on MAC80211_DEBUG_MENU
255	depends on MAC80211_MESH
256	---help---
257	  Selecting this option causes mac80211 to print out very verbose mesh
258	  channel switch debugging messages (when mac80211 is taking part in a
259	  mesh network).
260
261	  Do not select this option.
262
263config MAC80211_MESH_PS_DEBUG
264	bool "Verbose mesh powersave debugging"
265	depends on MAC80211_DEBUG_MENU
266	depends on MAC80211_MESH
267	---help---
268	  Selecting this option causes mac80211 to print out very verbose mesh
269	  powersave debugging messages (when mac80211 is taking part in a
270	  mesh network).
271
272	  Do not select this option.
273
274config MAC80211_TDLS_DEBUG
275	bool "Verbose TDLS debugging"
276	depends on MAC80211_DEBUG_MENU
277	---help---
278	  Selecting this option causes mac80211 to print out very
279	  verbose TDLS selection debugging messages (when mac80211
280	  is a TDLS STA).
281	  It should not be selected on production systems as those
282	  messages are remotely triggerable.
283
284	  Do not select this option.
285
286config MAC80211_DEBUG_COUNTERS
287	bool "Extra statistics for TX/RX debugging"
288	depends on MAC80211_DEBUG_MENU
289	depends on MAC80211_DEBUGFS
290	---help---
291	  Selecting this option causes mac80211 to keep additional
292	  and very verbose statistics about TX and RX handler use
293	  and show them in debugfs.
294
295	  If unsure, say N.
296