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