Kconfig 9.4 KB

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