xref: /openbmc/linux/net/mac80211/Kconfig (revision 7dd65feb)
1config MAC80211
2	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
3	depends on CFG80211
4	select CRYPTO
5	select CRYPTO_ECB
6	select CRYPTO_ARC4
7	select CRYPTO_AES
8	select CRC32
9	---help---
10	  This option enables the hardware independent IEEE 802.11
11	  networking stack.
12
13comment "CFG80211 needs to be enabled for MAC80211"
14	depends on CFG80211=n
15
16if MAC80211 != n
17
18config MAC80211_RC_PID
19	bool "PID controller based rate control algorithm" if EMBEDDED
20	---help---
21	  This option enables a TX rate control algorithm for
22	  mac80211 that uses a PID controller to select the TX
23	  rate.
24
25config MAC80211_RC_MINSTREL
26	bool "Minstrel" if EMBEDDED
27	default y
28	---help---
29	  This option enables the 'minstrel' TX rate control algorithm
30
31choice
32	prompt "Default rate control algorithm"
33	default MAC80211_RC_DEFAULT_MINSTREL
34	---help---
35	  This option selects the default rate control algorithm
36	  mac80211 will use. Note that this default can still be
37	  overridden through the ieee80211_default_rc_algo module
38	  parameter if different algorithms are available.
39
40config MAC80211_RC_DEFAULT_PID
41	bool "PID controller based rate control algorithm"
42	depends on MAC80211_RC_PID
43	---help---
44	  Select the PID controller based rate control as the
45	  default rate control algorithm. You should choose
46	  this unless you know what you are doing.
47
48config MAC80211_RC_DEFAULT_MINSTREL
49	bool "Minstrel"
50	depends on MAC80211_RC_MINSTREL
51	---help---
52	  Select Minstrel as the default rate control algorithm.
53
54
55endchoice
56
57config MAC80211_RC_DEFAULT
58	string
59	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
60	default "pid" if MAC80211_RC_DEFAULT_PID
61	default ""
62
63endif
64
65config MAC80211_MESH
66	bool "Enable mac80211 mesh networking (pre-802.11s) support"
67	depends on MAC80211 && EXPERIMENTAL
68	---help---
69	 This options enables support of Draft 802.11s mesh networking.
70	 The implementation is based on Draft 2.08 of the Mesh Networking
71	 amendment.  However, no compliance with that draft is claimed or even
72	 possible, as drafts leave a number of identifiers to be defined after
73	 ratification.  For more information visit http://o11s.org/.
74
75config MAC80211_LEDS
76	bool "Enable LED triggers"
77	depends on MAC80211
78	select NEW_LEDS
79	select LEDS_TRIGGERS
80	---help---
81	  This option enables a few LED triggers for different
82	  packet receive/transmit events.
83
84config MAC80211_DEBUGFS
85	bool "Export mac80211 internals in DebugFS"
86	depends on MAC80211 && DEBUG_FS
87	---help---
88	  Select this to see extensive information about
89	  the internal state of mac80211 in debugfs.
90
91	  Say N unless you know you need this.
92
93menuconfig MAC80211_DEBUG_MENU
94	bool "Select mac80211 debugging features"
95	depends on MAC80211
96	---help---
97	  This option collects various mac80211 debug settings.
98
99config MAC80211_DEBUG_PACKET_ALIGNMENT
100	bool "Enable packet alignment debugging"
101	depends on MAC80211_DEBUG_MENU
102	---help---
103	  This option is recommended for driver authors and strongly
104	  discouraged for everybody else, it will trigger a warning
105	  when a driver hands mac80211 a buffer that is aligned in
106	  a way that will cause problems with the IP stack on some
107	  architectures.
108
109	  Say N unless you're writing a mac80211 based driver.
110
111config MAC80211_NOINLINE
112	bool "Do not inline TX/RX handlers"
113	depends on MAC80211_DEBUG_MENU
114	---help---
115	  This option affects code generation in mac80211, when
116	  selected some functions are marked "noinline" to allow
117	  easier debugging of problems in the transmit and receive
118	  paths.
119
120	  This option increases code size a bit and inserts a lot
121	  of function calls in the code, but is otherwise safe to
122	  enable.
123
124	  If unsure, say N unless you expect to be finding problems
125	  in mac80211.
126
127config MAC80211_VERBOSE_DEBUG
128	bool "Verbose debugging output"
129	depends on MAC80211_DEBUG_MENU
130	---help---
131	  Selecting this option causes mac80211 to print out
132	  many debugging messages. It should not be selected
133	  on production systems as some of the messages are
134	  remotely triggerable.
135
136	  Do not select this option.
137
138config MAC80211_HT_DEBUG
139	bool "Verbose HT debugging"
140	depends on MAC80211_DEBUG_MENU
141	---help---
142	  This option enables 802.11n High Throughput features
143	  debug tracing output.
144
145	  It should not be selected on production systems as some
146	  of the messages are remotely triggerable.
147
148	  Do not select this option.
149
150config MAC80211_TKIP_DEBUG
151	bool "Verbose TKIP debugging"
152	depends on MAC80211_DEBUG_MENU
153	---help---
154	  Selecting this option causes mac80211 to print out
155	  very verbose TKIP debugging messages. It should not
156	  be selected on production systems as those messages
157	  are remotely triggerable.
158
159	  Do not select this option.
160
161config MAC80211_IBSS_DEBUG
162	bool "Verbose IBSS debugging"
163	depends on MAC80211_DEBUG_MENU
164	---help---
165	  Selecting this option causes mac80211 to print out
166	  very verbose IBSS debugging messages. It should not
167	  be selected on production systems as those messages
168	  are remotely triggerable.
169
170	  Do not select this option.
171
172config MAC80211_VERBOSE_PS_DEBUG
173	bool "Verbose powersave mode debugging"
174	depends on MAC80211_DEBUG_MENU
175	---help---
176	  Selecting this option causes mac80211 to print out very
177	  verbose power save mode debugging messages (when mac80211
178	  is an AP and has power saving stations.)
179	  It should not be selected on production systems as those
180	  messages are remotely triggerable.
181
182	  Do not select this option.
183
184config MAC80211_VERBOSE_MPL_DEBUG
185	bool "Verbose mesh peer link debugging"
186	depends on MAC80211_DEBUG_MENU
187	depends on MAC80211_MESH
188	---help---
189	  Selecting this option causes mac80211 to print out very
190	  verbose mesh peer link debugging messages (when mac80211
191	  is taking part in a mesh network).
192	  It should not be selected on production systems as those
193	  messages are remotely triggerable.
194
195	  Do not select this option.
196
197config MAC80211_VERBOSE_MHWMP_DEBUG
198	bool "Verbose mesh HWMP routing debugging"
199	depends on MAC80211_DEBUG_MENU
200	depends on MAC80211_MESH
201	---help---
202	  Selecting this option causes mac80211 to print out very
203	  verbose mesh routing (HWMP) debugging messages (when mac80211
204	  is taking part in a mesh network).
205	  It should not be selected on production systems as those
206	  messages are remotely triggerable.
207
208	  Do not select this option.
209
210config MAC80211_DEBUG_COUNTERS
211	bool "Extra statistics for TX/RX debugging"
212	depends on MAC80211_DEBUG_MENU
213	depends on MAC80211_DEBUGFS
214	---help---
215	  Selecting this option causes mac80211 to keep additional
216	  and very verbose statistics about TX and RX handler use
217	  and show them in debugfs.
218
219	  If unsure, say N.
220
221config MAC80211_DRIVER_API_TRACER
222	bool "Driver API tracer"
223	depends on MAC80211_DEBUG_MENU
224	depends on EVENT_TRACING
225	help
226	  Say Y here to make mac80211 register with the ftrace
227	  framework for the driver API -- you can see which
228	  driver methods it is calling then by looking at the
229	  trace.
230
231	  If unsure, say N.
232