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