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