1config 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 CRYPTO_CCM 8 select CRYPTO_GCM 9 select CRC32 10 ---help--- 11 This option enables the hardware independent IEEE 802.11 12 networking stack. 13 14comment "CFG80211 needs to be enabled for MAC80211" 15 depends on CFG80211=n 16 17if MAC80211 != n 18 19config MAC80211_HAS_RC 20 bool 21 22config MAC80211_RC_MINSTREL 23 bool "Minstrel" if EXPERT 24 select MAC80211_HAS_RC 25 default y 26 ---help--- 27 This option enables the 'minstrel' TX rate control algorithm 28 29config MAC80211_RC_MINSTREL_HT 30 bool "Minstrel 802.11n support" if EXPERT 31 depends on MAC80211_RC_MINSTREL 32 default y 33 ---help--- 34 This option enables the 'minstrel_ht' TX rate control algorithm 35 36config MAC80211_RC_MINSTREL_VHT 37 bool "Minstrel 802.11ac support" if EXPERT 38 depends on MAC80211_RC_MINSTREL_HT 39 default n 40 ---help--- 41 This option enables VHT in the 'minstrel_ht' TX rate control algorithm 42 43choice 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 53config MAC80211_RC_DEFAULT_MINSTREL 54 bool "Minstrel" 55 depends on MAC80211_RC_MINSTREL 56 ---help--- 57 Select Minstrel as the default rate control algorithm. 58 59 60endchoice 61 62config MAC80211_RC_DEFAULT 63 string 64 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT 65 default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL 66 default "" 67 68endif 69 70comment "Some wireless drivers require a rate control algorithm" 71 depends on MAC80211 && MAC80211_HAS_RC=n 72 73config MAC80211_MESH 74 bool "Enable mac80211 mesh networking (pre-802.11s) support" 75 depends on MAC80211 76 ---help--- 77 This options enables support of Draft 802.11s mesh networking. 78 The implementation is based on Draft 2.08 of the Mesh Networking 79 amendment. However, no compliance with that draft is claimed or even 80 possible, as drafts leave a number of identifiers to be defined after 81 ratification. For more information visit http://o11s.org/. 82 83config MAC80211_LEDS 84 bool "Enable LED triggers" 85 depends on MAC80211 86 depends on LEDS_CLASS 87 select LEDS_TRIGGERS 88 ---help--- 89 This option enables a few LED triggers for different 90 packet receive/transmit events. 91 92config MAC80211_DEBUGFS 93 bool "Export mac80211 internals in DebugFS" 94 depends on MAC80211 && DEBUG_FS 95 ---help--- 96 Select this to see extensive information about 97 the internal state of mac80211 in debugfs. 98 99 Say N unless you know you need this. 100 101config MAC80211_MESSAGE_TRACING 102 bool "Trace all mac80211 debug messages" 103 depends on MAC80211 104 ---help--- 105 Select this option to have mac80211 register the 106 mac80211_msg trace subsystem with tracepoints to 107 collect all debugging messages, independent of 108 printing them into the kernel log. 109 110 The overhead in this option is that all the messages 111 need to be present in the binary and formatted at 112 runtime for tracing. 113 114menuconfig MAC80211_DEBUG_MENU 115 bool "Select mac80211 debugging features" 116 depends on MAC80211 117 ---help--- 118 This option collects various mac80211 debug settings. 119 120config MAC80211_NOINLINE 121 bool "Do not inline TX/RX handlers" 122 depends on MAC80211_DEBUG_MENU 123 ---help--- 124 This option affects code generation in mac80211, when 125 selected some functions are marked "noinline" to allow 126 easier debugging of problems in the transmit and receive 127 paths. 128 129 This option increases code size a bit and inserts a lot 130 of function calls in the code, but is otherwise safe to 131 enable. 132 133 If unsure, say N unless you expect to be finding problems 134 in mac80211. 135 136config MAC80211_VERBOSE_DEBUG 137 bool "Verbose debugging output" 138 depends on MAC80211_DEBUG_MENU 139 ---help--- 140 Selecting this option causes mac80211 to print out 141 many debugging messages. It should not be selected 142 on production systems as some of the messages are 143 remotely triggerable. 144 145 Do not select this option. 146 147config MAC80211_MLME_DEBUG 148 bool "Verbose managed MLME output" 149 depends on MAC80211_DEBUG_MENU 150 ---help--- 151 Selecting this option causes mac80211 to print out 152 debugging messages for the managed-mode MLME. It 153 should not be selected on production systems as some 154 of the messages are remotely triggerable. 155 156 Do not select this option. 157 158config MAC80211_STA_DEBUG 159 bool "Verbose station debugging" 160 depends on MAC80211_DEBUG_MENU 161 ---help--- 162 Selecting this option causes mac80211 to print out 163 debugging messages for station addition/removal. 164 165 Do not select this option. 166 167config MAC80211_HT_DEBUG 168 bool "Verbose HT debugging" 169 depends on MAC80211_DEBUG_MENU 170 ---help--- 171 This option enables 802.11n High Throughput features 172 debug tracing output. 173 174 It should not be selected on production systems as some 175 of the messages are remotely triggerable. 176 177 Do not select this option. 178 179config MAC80211_OCB_DEBUG 180 bool "Verbose OCB debugging" 181 depends on MAC80211_DEBUG_MENU 182 ---help--- 183 Selecting this option causes mac80211 to print out 184 very verbose OCB debugging messages. It should not 185 be selected on production systems as those messages 186 are remotely triggerable. 187 188 Do not select this option. 189 190config MAC80211_IBSS_DEBUG 191 bool "Verbose IBSS debugging" 192 depends on MAC80211_DEBUG_MENU 193 ---help--- 194 Selecting this option causes mac80211 to print out 195 very verbose IBSS debugging messages. It should not 196 be selected on production systems as those messages 197 are remotely triggerable. 198 199 Do not select this option. 200 201config MAC80211_PS_DEBUG 202 bool "Verbose powersave mode debugging" 203 depends on MAC80211_DEBUG_MENU 204 ---help--- 205 Selecting this option causes mac80211 to print out very 206 verbose power save mode debugging messages (when mac80211 207 is an AP and has power saving stations.) 208 It should not be selected on production systems as those 209 messages are remotely triggerable. 210 211 Do not select this option. 212 213config MAC80211_MPL_DEBUG 214 bool "Verbose mesh peer link debugging" 215 depends on MAC80211_DEBUG_MENU 216 depends on MAC80211_MESH 217 ---help--- 218 Selecting this option causes mac80211 to print out very 219 verbose mesh peer link debugging messages (when mac80211 220 is taking part in a mesh network). 221 It should not be selected on production systems as those 222 messages are remotely triggerable. 223 224 Do not select this option. 225 226config MAC80211_MPATH_DEBUG 227 bool "Verbose mesh path debugging" 228 depends on MAC80211_DEBUG_MENU 229 depends on MAC80211_MESH 230 ---help--- 231 Selecting this option causes mac80211 to print out very 232 verbose mesh path selection debugging messages (when mac80211 233 is taking part in a mesh network). 234 It should not be selected on production systems as those 235 messages are remotely triggerable. 236 237 Do not select this option. 238 239config MAC80211_MHWMP_DEBUG 240 bool "Verbose mesh HWMP routing debugging" 241 depends on MAC80211_DEBUG_MENU 242 depends on MAC80211_MESH 243 ---help--- 244 Selecting this option causes mac80211 to print out very 245 verbose mesh routing (HWMP) debugging messages (when mac80211 246 is taking part in a mesh network). 247 It should not be selected on production systems as those 248 messages are remotely triggerable. 249 250 Do not select this option. 251 252config MAC80211_MESH_SYNC_DEBUG 253 bool "Verbose mesh synchronization debugging" 254 depends on MAC80211_DEBUG_MENU 255 depends on MAC80211_MESH 256 ---help--- 257 Selecting this option causes mac80211 to print out very verbose mesh 258 synchronization debugging messages (when mac80211 is taking part in a 259 mesh network). 260 261 Do not select this option. 262 263config MAC80211_MESH_CSA_DEBUG 264 bool "Verbose mesh channel switch debugging" 265 depends on MAC80211_DEBUG_MENU 266 depends on MAC80211_MESH 267 ---help--- 268 Selecting this option causes mac80211 to print out very verbose mesh 269 channel switch debugging messages (when mac80211 is taking part in a 270 mesh network). 271 272 Do not select this option. 273 274config MAC80211_MESH_PS_DEBUG 275 bool "Verbose mesh powersave debugging" 276 depends on MAC80211_DEBUG_MENU 277 depends on MAC80211_MESH 278 ---help--- 279 Selecting this option causes mac80211 to print out very verbose mesh 280 powersave debugging messages (when mac80211 is taking part in a 281 mesh network). 282 283 Do not select this option. 284 285config MAC80211_TDLS_DEBUG 286 bool "Verbose TDLS debugging" 287 depends on MAC80211_DEBUG_MENU 288 ---help--- 289 Selecting this option causes mac80211 to print out very 290 verbose TDLS selection debugging messages (when mac80211 291 is a TDLS STA). 292 It should not be selected on production systems as those 293 messages are remotely triggerable. 294 295 Do not select this option. 296 297config MAC80211_DEBUG_COUNTERS 298 bool "Extra statistics for TX/RX debugging" 299 depends on MAC80211_DEBUG_MENU 300 depends on MAC80211_DEBUGFS 301 ---help--- 302 Selecting this option causes mac80211 to keep additional 303 and very verbose statistics about TX and RX handler use 304 as well as a few selected dot11 counters. These will be 305 exposed in debugfs. 306 307 Note that some of the counters are not concurrency safe 308 and may thus not always be accurate. 309 310 If unsure, say N. 311 312config MAC80211_STA_HASH_MAX_SIZE 313 int "Station hash table maximum size" if MAC80211_DEBUG_MENU 314 default 0 315 ---help--- 316 Setting this option to a low value (e.g. 4) allows testing the 317 hash table with collisions relatively deterministically (just 318 connect more stations than the number selected here.) 319 320 If unsure, leave the default of 0. 321