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