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