xref: /linux/net/mac80211/Kconfig (revision c145211d1f9e2ef19e7b4c2b943f68366daa97af)
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_NOINLINE
100	bool "Do not inline TX/RX handlers"
101	depends on MAC80211_DEBUG_MENU
102	---help---
103	  This option affects code generation in mac80211, when
104	  selected some functions are marked "noinline" to allow
105	  easier debugging of problems in the transmit and receive
106	  paths.
107
108	  This option increases code size a bit and inserts a lot
109	  of function calls in the code, but is otherwise safe to
110	  enable.
111
112	  If unsure, say N unless you expect to be finding problems
113	  in mac80211.
114
115config MAC80211_VERBOSE_DEBUG
116	bool "Verbose debugging output"
117	depends on MAC80211_DEBUG_MENU
118	---help---
119	  Selecting this option causes mac80211 to print out
120	  many debugging messages. It should not be selected
121	  on production systems as some of the messages are
122	  remotely triggerable.
123
124	  Do not select this option.
125
126config MAC80211_HT_DEBUG
127	bool "Verbose HT debugging"
128	depends on MAC80211_DEBUG_MENU
129	---help---
130	  This option enables 802.11n High Throughput features
131	  debug tracing output.
132
133	  It should not be selected on production systems as some
134	  of the messages are remotely triggerable.
135
136	  Do not select this option.
137
138config MAC80211_TKIP_DEBUG
139	bool "Verbose TKIP debugging"
140	depends on MAC80211_DEBUG_MENU
141	---help---
142	  Selecting this option causes mac80211 to print out
143	  very verbose TKIP debugging messages. It should not
144	  be selected on production systems as those messages
145	  are remotely triggerable.
146
147	  Do not select this option.
148
149config MAC80211_IBSS_DEBUG
150	bool "Verbose IBSS debugging"
151	depends on MAC80211_DEBUG_MENU
152	---help---
153	  Selecting this option causes mac80211 to print out
154	  very verbose IBSS debugging messages. It should not
155	  be selected on production systems as those messages
156	  are remotely triggerable.
157
158	  Do not select this option.
159
160config MAC80211_VERBOSE_PS_DEBUG
161	bool "Verbose powersave mode debugging"
162	depends on MAC80211_DEBUG_MENU
163	---help---
164	  Selecting this option causes mac80211 to print out very
165	  verbose power save mode debugging messages (when mac80211
166	  is an AP and has power saving stations.)
167	  It should not be selected on production systems as those
168	  messages are remotely triggerable.
169
170	  Do not select this option.
171
172config MAC80211_VERBOSE_MPL_DEBUG
173	bool "Verbose mesh peer link debugging"
174	depends on MAC80211_DEBUG_MENU
175	depends on MAC80211_MESH
176	---help---
177	  Selecting this option causes mac80211 to print out very
178	  verbose mesh peer link debugging messages (when mac80211
179	  is taking part in a mesh network).
180	  It should not be selected on production systems as those
181	  messages are remotely triggerable.
182
183	  Do not select this option.
184
185config MAC80211_VERBOSE_MHWMP_DEBUG
186	bool "Verbose mesh HWMP routing debugging"
187	depends on MAC80211_DEBUG_MENU
188	depends on MAC80211_MESH
189	---help---
190	  Selecting this option causes mac80211 to print out very
191	  verbose mesh routing (HWMP) debugging messages (when mac80211
192	  is taking part in a mesh network).
193	  It should not be selected on production systems as those
194	  messages are remotely triggerable.
195
196	  Do not select this option.
197
198config MAC80211_DEBUG_COUNTERS
199	bool "Extra statistics for TX/RX debugging"
200	depends on MAC80211_DEBUG_MENU
201	depends on MAC80211_DEBUGFS
202	---help---
203	  Selecting this option causes mac80211 to keep additional
204	  and very verbose statistics about TX and RX handler use
205	  and show them in debugfs.
206
207	  If unsure, say N.
208
209config MAC80211_DRIVER_API_TRACER
210	bool "Driver API tracer"
211	depends on MAC80211_DEBUG_MENU
212	depends on EVENT_TRACING
213	help
214	  Say Y here to make mac80211 register with the ftrace
215	  framework for the driver API -- you can see which
216	  driver methods it is calling then by looking at the
217	  trace.
218
219	  If unsure, say N.
220