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