Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
[linux-2.6.git] / net / mac80211 / Kconfig
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.
12
13 comment "CFG80211 needs to be enabled for MAC80211"
14         depends on CFG80211=n
15
16 if MAC80211 != n
17
18 config MAC80211_HAS_RC
19         bool
20
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.
28
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
35
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
42
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.
52
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.
60
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.
66
67
68 endchoice
69
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 ""
76
77 endif
78
79 comment "Some wireless drivers require a rate control algorithm"
80         depends on MAC80211 && MAC80211_HAS_RC=n
81
82 config MAC80211_MESH
83         bool "Enable mac80211 mesh networking (pre-802.11s) support"
84         depends on MAC80211 && EXPERIMENTAL
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/.
91
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.
100
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.
107
108           Say N unless you know you need this.
109
110 menuconfig MAC80211_DEBUG_MENU
111         bool "Select mac80211 debugging features"
112         depends on MAC80211
113         ---help---
114           This option collects various mac80211 debug settings.
115
116 config MAC80211_NOINLINE
117         bool "Do not inline TX/RX handlers"
118         depends on MAC80211_DEBUG_MENU
119         ---help---
120           This option affects code generation in mac80211, when
121           selected some functions are marked "noinline" to allow
122           easier debugging of problems in the transmit and receive
123           paths.
124
125           This option increases code size a bit and inserts a lot
126           of function calls in the code, but is otherwise safe to
127           enable.
128
129           If unsure, say N unless you expect to be finding problems
130           in mac80211.
131
132 config MAC80211_VERBOSE_DEBUG
133         bool "Verbose debugging output"
134         depends on MAC80211_DEBUG_MENU
135         ---help---
136           Selecting this option causes mac80211 to print out
137           many debugging messages. It should not be selected
138           on production systems as some of the messages are
139           remotely triggerable.
140
141           Do not select this option.
142
143 config MAC80211_HT_DEBUG
144         bool "Verbose HT debugging"
145         depends on MAC80211_DEBUG_MENU
146         ---help---
147           This option enables 802.11n High Throughput features
148           debug tracing output.
149
150           It should not be selected on production systems as some
151           of the messages are remotely triggerable.
152
153           Do not select this option.
154
155 config MAC80211_TKIP_DEBUG
156         bool "Verbose TKIP debugging"
157         depends on MAC80211_DEBUG_MENU
158         ---help---
159           Selecting this option causes mac80211 to print out
160           very verbose TKIP debugging messages. It should not
161           be selected on production systems as those messages
162           are remotely triggerable.
163
164           Do not select this option.
165
166 config MAC80211_IBSS_DEBUG
167         bool "Verbose IBSS debugging"
168         depends on MAC80211_DEBUG_MENU
169         ---help---
170           Selecting this option causes mac80211 to print out
171           very verbose IBSS debugging messages. It should not
172           be selected on production systems as those messages
173           are remotely triggerable.
174
175           Do not select this option.
176
177 config MAC80211_VERBOSE_PS_DEBUG
178         bool "Verbose powersave mode debugging"
179         depends on MAC80211_DEBUG_MENU
180         ---help---
181           Selecting this option causes mac80211 to print out very
182           verbose power save mode debugging messages (when mac80211
183           is an AP and has power saving stations.)
184           It should not be selected on production systems as those
185           messages are remotely triggerable.
186
187           Do not select this option.
188
189 config MAC80211_VERBOSE_MPL_DEBUG
190         bool "Verbose mesh peer link debugging"
191         depends on MAC80211_DEBUG_MENU
192         depends on MAC80211_MESH
193         ---help---
194           Selecting this option causes mac80211 to print out very
195           verbose mesh peer link debugging messages (when mac80211
196           is taking part in a mesh network).
197           It should not be selected on production systems as those
198           messages are remotely triggerable.
199
200           Do not select this option.
201
202 config MAC80211_VERBOSE_MPATH_DEBUG
203         bool "Verbose mesh path debugging"
204         depends on MAC80211_DEBUG_MENU
205         depends on MAC80211_MESH
206         ---help---
207           Selecting this option causes mac80211 to print out very
208           verbose mesh path selection debugging messages (when mac80211
209           is taking part in a mesh network).
210           It should not be selected on production systems as those
211           messages are remotely triggerable.
212
213           Do not select this option.
214
215 config MAC80211_VERBOSE_MHWMP_DEBUG
216         bool "Verbose mesh HWMP routing debugging"
217         depends on MAC80211_DEBUG_MENU
218         depends on MAC80211_MESH
219         ---help---
220           Selecting this option causes mac80211 to print out very
221           verbose mesh routing (HWMP) debugging messages (when mac80211
222           is taking part in a mesh network).
223           It should not be selected on production systems as those
224           messages are remotely triggerable.
225
226           Do not select this option.
227
228 config MAC80211_VERBOSE_TDLS_DEBUG
229         bool "Verbose TDLS debugging"
230         depends on MAC80211_DEBUG_MENU
231         ---help---
232           Selecting this option causes mac80211 to print out very
233           verbose TDLS selection debugging messages (when mac80211
234           is a TDLS STA).
235           It should not be selected on production systems as those
236           messages are remotely triggerable.
237
238           Do not select this option.
239
240 config MAC80211_DEBUG_COUNTERS
241         bool "Extra statistics for TX/RX debugging"
242         depends on MAC80211_DEBUG_MENU
243         depends on MAC80211_DEBUGFS
244         ---help---
245           Selecting this option causes mac80211 to keep additional
246           and very verbose statistics about TX and RX handler use
247           and show them in debugfs.
248
249           If unsure, say N.