mac80211-advanced.rst 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. =============================
  2. mac80211 subsystem (advanced)
  3. =============================
  4. Information contained within this part of the book is of interest only
  5. for advanced interaction of mac80211 with drivers to exploit more
  6. hardware capabilities and improve performance.
  7. LED support
  8. ===========
  9. Mac80211 supports various ways of blinking LEDs. Wherever possible,
  10. device LEDs should be exposed as LED class devices and hooked up to the
  11. appropriate trigger, which will then be triggered appropriately by
  12. mac80211.
  13. .. kernel-doc:: include/net/mac80211.h
  14. :functions:
  15. ieee80211_get_tx_led_name
  16. ieee80211_get_rx_led_name
  17. ieee80211_get_assoc_led_name
  18. ieee80211_get_radio_led_name
  19. ieee80211_tpt_blink
  20. ieee80211_tpt_led_trigger_flags
  21. ieee80211_create_tpt_led_trigger
  22. Hardware crypto acceleration
  23. ============================
  24. .. kernel-doc:: include/net/mac80211.h
  25. :doc: Hardware crypto acceleration
  26. .. kernel-doc:: include/net/mac80211.h
  27. :functions:
  28. set_key_cmd
  29. ieee80211_key_conf
  30. ieee80211_key_flags
  31. ieee80211_get_tkip_p1k
  32. ieee80211_get_tkip_p1k_iv
  33. ieee80211_get_tkip_p2k
  34. Powersave support
  35. =================
  36. .. kernel-doc:: include/net/mac80211.h
  37. :doc: Powersave support
  38. Beacon filter support
  39. =====================
  40. .. kernel-doc:: include/net/mac80211.h
  41. :doc: Beacon filter support
  42. .. kernel-doc:: include/net/mac80211.h
  43. :functions: ieee80211_beacon_loss
  44. Multiple queues and QoS support
  45. ===============================
  46. TBD
  47. .. kernel-doc:: include/net/mac80211.h
  48. :functions: ieee80211_tx_queue_params
  49. Access point mode support
  50. =========================
  51. TBD
  52. Some parts of the if_conf should be discussed here instead
  53. Insert notes about VLAN interfaces with hw crypto here or in the hw
  54. crypto chapter.
  55. support for powersaving clients
  56. -------------------------------
  57. .. kernel-doc:: include/net/mac80211.h
  58. :doc: AP support for powersaving clients
  59. .. kernel-doc:: include/net/mac80211.h
  60. :functions:
  61. ieee80211_get_buffered_bc
  62. ieee80211_beacon_get
  63. ieee80211_sta_eosp
  64. ieee80211_frame_release_type
  65. ieee80211_sta_ps_transition
  66. ieee80211_sta_ps_transition_ni
  67. ieee80211_sta_set_buffered
  68. ieee80211_sta_block_awake
  69. Supporting multiple virtual interfaces
  70. ======================================
  71. TBD
  72. Note: WDS with identical MAC address should almost always be OK
  73. Insert notes about having multiple virtual interfaces with different MAC
  74. addresses here, note which configurations are supported by mac80211, add
  75. notes about supporting hw crypto with it.
  76. .. kernel-doc:: include/net/mac80211.h
  77. :functions:
  78. ieee80211_iterate_active_interfaces
  79. ieee80211_iterate_active_interfaces_atomic
  80. Station handling
  81. ================
  82. TODO
  83. .. kernel-doc:: include/net/mac80211.h
  84. :functions:
  85. ieee80211_sta
  86. sta_notify_cmd
  87. ieee80211_find_sta
  88. ieee80211_find_sta_by_ifaddr
  89. Hardware scan offload
  90. =====================
  91. TBD
  92. .. kernel-doc:: include/net/mac80211.h
  93. :functions: ieee80211_scan_completed
  94. Aggregation
  95. ===========
  96. TX A-MPDU aggregation
  97. ---------------------
  98. .. kernel-doc:: net/mac80211/agg-tx.c
  99. :doc: TX A-MPDU aggregation
  100. .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
  101. RX A-MPDU aggregation
  102. ---------------------
  103. .. kernel-doc:: net/mac80211/agg-rx.c
  104. :doc: RX A-MPDU aggregation
  105. .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
  106. .. kernel-doc:: include/net/mac80211.h
  107. :functions: ieee80211_ampdu_mlme_action
  108. Spatial Multiplexing Powersave (SMPS)
  109. =====================================
  110. .. kernel-doc:: include/net/mac80211.h
  111. :doc: Spatial multiplexing power save
  112. .. kernel-doc:: include/net/mac80211.h
  113. :functions:
  114. ieee80211_request_smps
  115. ieee80211_smps_mode
  116. TBD
  117. This part of the book describes the rate control algorithm interface and
  118. how it relates to mac80211 and drivers.
  119. Rate Control API
  120. ================
  121. TBD
  122. .. kernel-doc:: include/net/mac80211.h
  123. :functions:
  124. ieee80211_start_tx_ba_session
  125. ieee80211_start_tx_ba_cb_irqsafe
  126. ieee80211_stop_tx_ba_session
  127. ieee80211_stop_tx_ba_cb_irqsafe
  128. ieee80211_rate_control_changed
  129. ieee80211_tx_rate_control
  130. TBD
  131. This part of the book describes mac80211 internals.
  132. Key handling
  133. ============
  134. Key handling basics
  135. -------------------
  136. .. kernel-doc:: net/mac80211/key.c
  137. :doc: Key handling basics
  138. MORE TBD
  139. --------
  140. TBD
  141. Receive processing
  142. ==================
  143. TBD
  144. Transmit processing
  145. ===================
  146. TBD
  147. Station info handling
  148. =====================
  149. Programming information
  150. -----------------------
  151. .. kernel-doc:: net/mac80211/sta_info.h
  152. :functions:
  153. sta_info
  154. ieee80211_sta_info_flags
  155. STA information lifetime rules
  156. ------------------------------
  157. .. kernel-doc:: net/mac80211/sta_info.c
  158. :doc: STA information lifetime rules
  159. Aggregation Functions
  160. =====================
  161. .. kernel-doc:: net/mac80211/sta_info.h
  162. :functions:
  163. sta_ampdu_mlme
  164. tid_ampdu_tx
  165. tid_ampdu_rx
  166. Synchronisation Functions
  167. =========================
  168. TBD
  169. Locking, lots of RCU