Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6.git] / net / mac80211 / Kconfig
blob62535fe9f570273d83597567e8fb360262f7f208
1 config 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 CRC32
8         select AVERAGE
9         ---help---
10           This option enables the hardware independent IEEE 802.11
11           networking stack.
13 comment "CFG80211 needs to be enabled for MAC80211"
14         depends on CFG80211=n
16 if MAC80211 != n
18 config MAC80211_HAS_RC
19         bool
21 config MAC80211_RC_PID
22         bool "PID controller based rate control algorithm" if EXPERT
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.
29 config MAC80211_RC_MINSTREL
30         bool "Minstrel" if EXPERT
31         select MAC80211_HAS_RC
32         default y
33         ---help---
34           This option enables the 'minstrel' TX rate control algorithm
36 config MAC80211_RC_MINSTREL_HT
37         bool "Minstrel 802.11n support" if EXPERT
38         depends on MAC80211_RC_MINSTREL
39         default y
40         ---help---
41           This option enables the 'minstrel_ht' TX rate control algorithm
43 choice
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.
53 config MAC80211_RC_DEFAULT_PID
54         bool "PID controller based rate control algorithm"
55         depends on MAC80211_RC_PID
56         ---help---
57           Select the PID controller based rate control as the
58           default rate control algorithm. You should choose
59           this unless you know what you are doing.
61 config MAC80211_RC_DEFAULT_MINSTREL
62         bool "Minstrel"
63         depends on MAC80211_RC_MINSTREL
64         ---help---
65           Select Minstrel as the default rate control algorithm.
68 endchoice
70 config MAC80211_RC_DEFAULT
71         string
72         default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
73         default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
74         default "pid" if MAC80211_RC_DEFAULT_PID
75         default ""
77 endif
79 comment "Some wireless drivers require a rate control algorithm"
80         depends on MAC80211 && MAC80211_HAS_RC=n
82 config MAC80211_MESH
83         bool "Enable mac80211 mesh networking (pre-802.11s) support"
84         depends on MAC80211
85         ---help---
86          This options enables support of Draft 802.11s mesh networking.
87          The implementation is based on Draft 2.08 of the Mesh Networking
88          amendment.  However, no compliance with that draft is claimed or even
89          possible, as drafts leave a number of identifiers to be defined after
90          ratification.  For more information visit http://o11s.org/.
92 config MAC80211_LEDS
93         bool "Enable LED triggers"
94         depends on MAC80211
95         depends on LEDS_CLASS
96         select LEDS_TRIGGERS
97         ---help---
98           This option enables a few LED triggers for different
99           packet receive/transmit events.
101 config MAC80211_DEBUGFS
102         bool "Export mac80211 internals in DebugFS"
103         depends on MAC80211 && DEBUG_FS
104         ---help---
105           Select this to see extensive information about
106           the internal state of mac80211 in debugfs.
108           Say N unless you know you need this.
110 config MAC80211_MESSAGE_TRACING
111         bool "Trace all mac80211 debug messages"
112         depends on MAC80211
113         ---help---
114           Select this option to have mac80211 register the
115           mac80211_msg trace subsystem with tracepoints to
116           collect all debugging messages, independent of
117           printing them into the kernel log.
119           The overhead in this option is that all the messages
120           need to be present in the binary and formatted at
121           runtime for tracing.
123 menuconfig MAC80211_DEBUG_MENU
124         bool "Select mac80211 debugging features"
125         depends on MAC80211
126         ---help---
127           This option collects various mac80211 debug settings.
129 config MAC80211_NOINLINE
130         bool "Do not inline TX/RX handlers"
131         depends on MAC80211_DEBUG_MENU
132         ---help---
133           This option affects code generation in mac80211, when
134           selected some functions are marked "noinline" to allow
135           easier debugging of problems in the transmit and receive
136           paths.
138           This option increases code size a bit and inserts a lot
139           of function calls in the code, but is otherwise safe to
140           enable.
142           If unsure, say N unless you expect to be finding problems
143           in mac80211.
145 config MAC80211_VERBOSE_DEBUG
146         bool "Verbose debugging output"
147         depends on MAC80211_DEBUG_MENU
148         ---help---
149           Selecting this option causes mac80211 to print out
150           many debugging messages. It should not be selected
151           on production systems as some of the messages are
152           remotely triggerable.
154           Do not select this option.
156 config MAC80211_MLME_DEBUG
157         bool "Verbose managed MLME output"
158         depends on MAC80211_DEBUG_MENU
159         ---help---
160           Selecting this option causes mac80211 to print out
161           debugging messages for the managed-mode MLME. It
162           should not be selected on production systems as some
163           of the messages are remotely triggerable.
165           Do not select this option.
167 config MAC80211_STA_DEBUG
168         bool "Verbose station debugging"
169         depends on MAC80211_DEBUG_MENU
170         ---help---
171           Selecting this option causes mac80211 to print out
172           debugging messages for station addition/removal.
174           Do not select this option.
176 config MAC80211_HT_DEBUG
177         bool "Verbose HT debugging"
178         depends on MAC80211_DEBUG_MENU
179         ---help---
180           This option enables 802.11n High Throughput features
181           debug tracing output.
183           It should not be selected on production systems as some
184           of the messages are remotely triggerable.
186           Do not select this option.
188 config MAC80211_IBSS_DEBUG
189         bool "Verbose IBSS debugging"
190         depends on MAC80211_DEBUG_MENU
191         ---help---
192           Selecting this option causes mac80211 to print out
193           very verbose IBSS debugging messages. It should not
194           be selected on production systems as those messages
195           are remotely triggerable.
197           Do not select this option.
199 config MAC80211_PS_DEBUG
200         bool "Verbose powersave mode debugging"
201         depends on MAC80211_DEBUG_MENU
202         ---help---
203           Selecting this option causes mac80211 to print out very
204           verbose power save mode debugging messages (when mac80211
205           is an AP and has power saving stations.)
206           It should not be selected on production systems as those
207           messages are remotely triggerable.
209           Do not select this option.
211 config MAC80211_MPL_DEBUG
212         bool "Verbose mesh peer link debugging"
213         depends on MAC80211_DEBUG_MENU
214         depends on MAC80211_MESH
215         ---help---
216           Selecting this option causes mac80211 to print out very
217           verbose mesh peer link debugging messages (when mac80211
218           is taking part in a mesh network).
219           It should not be selected on production systems as those
220           messages are remotely triggerable.
222           Do not select this option.
224 config MAC80211_MPATH_DEBUG
225         bool "Verbose mesh path debugging"
226         depends on MAC80211_DEBUG_MENU
227         depends on MAC80211_MESH
228         ---help---
229           Selecting this option causes mac80211 to print out very
230           verbose mesh path selection debugging messages (when mac80211
231           is taking part in a mesh network).
232           It should not be selected on production systems as those
233           messages are remotely triggerable.
235           Do not select this option.
237 config MAC80211_MHWMP_DEBUG
238         bool "Verbose mesh HWMP routing debugging"
239         depends on MAC80211_DEBUG_MENU
240         depends on MAC80211_MESH
241         ---help---
242           Selecting this option causes mac80211 to print out very
243           verbose mesh routing (HWMP) debugging messages (when mac80211
244           is taking part in a mesh network).
245           It should not be selected on production systems as those
246           messages are remotely triggerable.
248           Do not select this option.
250 config MAC80211_MESH_SYNC_DEBUG
251         bool "Verbose mesh synchronization debugging"
252         depends on MAC80211_DEBUG_MENU
253         depends on MAC80211_MESH
254         ---help---
255           Selecting this option causes mac80211 to print out very verbose mesh
256           synchronization debugging messages (when mac80211 is taking part in a
257           mesh network).
259           Do not select this option.
261 config MAC80211_MESH_PS_DEBUG
262         bool "Verbose mesh powersave debugging"
263         depends on MAC80211_DEBUG_MENU
264         depends on MAC80211_MESH
265         ---help---
266           Selecting this option causes mac80211 to print out very verbose mesh
267           powersave debugging messages (when mac80211 is taking part in a
268           mesh network).
270           Do not select this option.
272 config MAC80211_TDLS_DEBUG
273         bool "Verbose TDLS debugging"
274         depends on MAC80211_DEBUG_MENU
275         ---help---
276           Selecting this option causes mac80211 to print out very
277           verbose TDLS selection debugging messages (when mac80211
278           is a TDLS STA).
279           It should not be selected on production systems as those
280           messages are remotely triggerable.
282           Do not select this option.
284 config MAC80211_DEBUG_COUNTERS
285         bool "Extra statistics for TX/RX debugging"
286         depends on MAC80211_DEBUG_MENU
287         depends on MAC80211_DEBUGFS
288         ---help---
289           Selecting this option causes mac80211 to keep additional
290           and very verbose statistics about TX and RX handler use
291           and show them in debugfs.
293           If unsure, say N.