Kconfig 8.9 KB

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