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: ieee80211_get_tx_led_name
19
20.. kernel-doc:: include/net/mac80211.h
21   :functions: ieee80211_get_rx_led_name
22
23.. kernel-doc:: include/net/mac80211.h
24   :functions: ieee80211_get_assoc_led_name
25
26.. kernel-doc:: include/net/mac80211.h
27   :functions: ieee80211_get_radio_led_name
28
29.. kernel-doc:: include/net/mac80211.h
30   :functions: ieee80211_tpt_blink
31
32.. kernel-doc:: include/net/mac80211.h
33   :functions: ieee80211_tpt_led_trigger_flags
34
35.. kernel-doc:: include/net/mac80211.h
36   :functions: ieee80211_create_tpt_led_trigger
37
38Hardware crypto acceleration
39============================
40
41.. kernel-doc:: include/net/mac80211.h
42   :doc: Hardware crypto acceleration
43
44.. kernel-doc:: include/net/mac80211.h
45   :functions: set_key_cmd
46
47.. kernel-doc:: include/net/mac80211.h
48   :functions: ieee80211_key_conf
49
50.. kernel-doc:: include/net/mac80211.h
51   :functions: ieee80211_key_flags
52
53.. kernel-doc:: include/net/mac80211.h
54   :functions: ieee80211_get_tkip_p1k
55
56.. kernel-doc:: include/net/mac80211.h
57   :functions: ieee80211_get_tkip_p1k_iv
58
59.. kernel-doc:: include/net/mac80211.h
60   :functions: ieee80211_get_tkip_p2k
61
62Powersave support
63=================
64
65.. kernel-doc:: include/net/mac80211.h
66   :doc: Powersave support
67
68Beacon filter support
69=====================
70
71.. kernel-doc:: include/net/mac80211.h
72   :doc: Beacon filter support
73
74.. kernel-doc:: include/net/mac80211.h
75   :functions: ieee80211_beacon_loss
76
77Multiple queues and QoS support
78===============================
79
80TBD
81
82.. kernel-doc:: include/net/mac80211.h
83   :functions: ieee80211_tx_queue_params
84
85Access point mode support
86=========================
87
88TBD
89
90Some parts of the if_conf should be discussed here instead
91
92Insert notes about VLAN interfaces with hw crypto here or in the hw
93crypto chapter.
94
95support for powersaving clients
96-------------------------------
97
98.. kernel-doc:: include/net/mac80211.h
99   :doc: AP support for powersaving clients
100
101.. kernel-doc:: include/net/mac80211.h
102   :functions: ieee80211_get_buffered_bc
103
104.. kernel-doc:: include/net/mac80211.h
105   :functions: ieee80211_beacon_get
106
107.. kernel-doc:: include/net/mac80211.h
108   :functions: ieee80211_sta_eosp
109
110.. kernel-doc:: include/net/mac80211.h
111   :functions: ieee80211_frame_release_type
112
113.. kernel-doc:: include/net/mac80211.h
114   :functions: ieee80211_sta_ps_transition
115
116.. kernel-doc:: include/net/mac80211.h
117   :functions: ieee80211_sta_ps_transition_ni
118
119.. kernel-doc:: include/net/mac80211.h
120   :functions: ieee80211_sta_set_buffered
121
122.. kernel-doc:: include/net/mac80211.h
123   :functions: ieee80211_sta_block_awake
124
125Supporting multiple virtual interfaces
126======================================
127
128TBD
129
130Note: WDS with identical MAC address should almost always be OK
131
132Insert notes about having multiple virtual interfaces with different MAC
133addresses here, note which configurations are supported by mac80211, add
134notes about supporting hw crypto with it.
135
136.. kernel-doc:: include/net/mac80211.h
137   :functions: ieee80211_iterate_active_interfaces
138
139.. kernel-doc:: include/net/mac80211.h
140   :functions: ieee80211_iterate_active_interfaces_atomic
141
142Station handling
143================
144
145TODO
146
147.. kernel-doc:: include/net/mac80211.h
148   :functions: ieee80211_sta
149
150.. kernel-doc:: include/net/mac80211.h
151   :functions: sta_notify_cmd
152
153.. kernel-doc:: include/net/mac80211.h
154   :functions: ieee80211_find_sta
155
156.. kernel-doc:: include/net/mac80211.h
157   :functions: ieee80211_find_sta_by_ifaddr
158
159Hardware scan offload
160=====================
161
162TBD
163
164.. kernel-doc:: include/net/mac80211.h
165   :functions: ieee80211_scan_completed
166
167Aggregation
168===========
169
170TX A-MPDU aggregation
171---------------------
172
173.. kernel-doc:: net/mac80211/agg-tx.c
174   :doc: TX A-MPDU aggregation
175
176.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
177
178RX A-MPDU aggregation
179---------------------
180
181.. kernel-doc:: net/mac80211/agg-rx.c
182   :doc: RX A-MPDU aggregation
183
184.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
185
186.. kernel-doc:: include/net/mac80211.h
187   :functions: ieee80211_ampdu_mlme_action
188
189Spatial Multiplexing Powersave (SMPS)
190=====================================
191
192.. kernel-doc:: include/net/mac80211.h
193   :doc: Spatial multiplexing power save
194
195.. kernel-doc:: include/net/mac80211.h
196   :functions: ieee80211_request_smps
197
198.. kernel-doc:: include/net/mac80211.h
199   :functions: ieee80211_smps_mode
200
201TBD
202
203This part of the book describes the rate control algorithm interface and
204how it relates to mac80211 and drivers.
205
206Rate Control API
207================
208
209TBD
210
211.. kernel-doc:: include/net/mac80211.h
212   :functions: ieee80211_start_tx_ba_session
213
214.. kernel-doc:: include/net/mac80211.h
215   :functions: ieee80211_start_tx_ba_cb_irqsafe
216
217.. kernel-doc:: include/net/mac80211.h
218   :functions: ieee80211_stop_tx_ba_session
219
220.. kernel-doc:: include/net/mac80211.h
221   :functions: ieee80211_stop_tx_ba_cb_irqsafe
222
223.. kernel-doc:: include/net/mac80211.h
224   :functions: ieee80211_rate_control_changed
225
226.. kernel-doc:: include/net/mac80211.h
227   :functions: ieee80211_tx_rate_control
228
229TBD
230
231This part of the book describes mac80211 internals.
232
233Key handling
234============
235
236Key handling basics
237-------------------
238
239.. kernel-doc:: net/mac80211/key.c
240   :doc: Key handling basics
241
242MORE TBD
243--------
244
245TBD
246
247Receive processing
248==================
249
250TBD
251
252Transmit processing
253===================
254
255TBD
256
257Station info handling
258=====================
259
260Programming information
261-----------------------
262
263.. kernel-doc:: net/mac80211/sta_info.h
264   :functions: sta_info
265
266.. kernel-doc:: net/mac80211/sta_info.h
267   :functions: ieee80211_sta_info_flags
268
269STA information lifetime rules
270------------------------------
271
272.. kernel-doc:: net/mac80211/sta_info.c
273   :doc: STA information lifetime rules
274
275Aggregation
276===========
277
278.. kernel-doc:: net/mac80211/sta_info.h
279   :functions: sta_ampdu_mlme
280
281.. kernel-doc:: net/mac80211/sta_info.h
282   :functions: tid_ampdu_tx
283
284.. kernel-doc:: net/mac80211/sta_info.h
285   :functions: tid_ampdu_rx
286
287Synchronisation
288===============
289
290TBD
291
292Locking, lots of RCU
293