10bb33e25SJonathan Corbet=============================
20bb33e25SJonathan Corbetmac80211 subsystem (advanced)
30bb33e25SJonathan Corbet=============================
40bb33e25SJonathan Corbet
50bb33e25SJonathan CorbetInformation contained within this part of the book is of interest only
60bb33e25SJonathan Corbetfor advanced interaction of mac80211 with drivers to exploit more
70bb33e25SJonathan Corbethardware capabilities and improve performance.
80bb33e25SJonathan Corbet
90bb33e25SJonathan CorbetLED support
100bb33e25SJonathan Corbet===========
110bb33e25SJonathan Corbet
120bb33e25SJonathan CorbetMac80211 supports various ways of blinking LEDs. Wherever possible,
130bb33e25SJonathan Corbetdevice LEDs should be exposed as LED class devices and hooked up to the
140bb33e25SJonathan Corbetappropriate trigger, which will then be triggered appropriately by
150bb33e25SJonathan Corbetmac80211.
160bb33e25SJonathan Corbet
170bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
18efc7d01aSMauro Carvalho Chehab   :functions:
19efc7d01aSMauro Carvalho Chehab	ieee80211_get_tx_led_name
20efc7d01aSMauro Carvalho Chehab	ieee80211_get_rx_led_name
21efc7d01aSMauro Carvalho Chehab	ieee80211_get_assoc_led_name
22efc7d01aSMauro Carvalho Chehab	ieee80211_get_radio_led_name
23efc7d01aSMauro Carvalho Chehab	ieee80211_tpt_blink
24efc7d01aSMauro Carvalho Chehab	ieee80211_tpt_led_trigger_flags
25efc7d01aSMauro Carvalho Chehab	ieee80211_create_tpt_led_trigger
260bb33e25SJonathan Corbet
270bb33e25SJonathan CorbetHardware crypto acceleration
280bb33e25SJonathan Corbet============================
290bb33e25SJonathan Corbet
300bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
310bb33e25SJonathan Corbet   :doc: Hardware crypto acceleration
320bb33e25SJonathan Corbet
330bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
34efc7d01aSMauro Carvalho Chehab   :functions:
35efc7d01aSMauro Carvalho Chehab	set_key_cmd
36efc7d01aSMauro Carvalho Chehab	ieee80211_key_conf
37efc7d01aSMauro Carvalho Chehab	ieee80211_key_flags
38efc7d01aSMauro Carvalho Chehab	ieee80211_get_tkip_p1k
39efc7d01aSMauro Carvalho Chehab	ieee80211_get_tkip_p1k_iv
40efc7d01aSMauro Carvalho Chehab	ieee80211_get_tkip_p2k
410bb33e25SJonathan Corbet
420bb33e25SJonathan CorbetPowersave support
430bb33e25SJonathan Corbet=================
440bb33e25SJonathan Corbet
450bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
460bb33e25SJonathan Corbet   :doc: Powersave support
470bb33e25SJonathan Corbet
480bb33e25SJonathan CorbetBeacon filter support
490bb33e25SJonathan Corbet=====================
500bb33e25SJonathan Corbet
510bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
520bb33e25SJonathan Corbet   :doc: Beacon filter support
530bb33e25SJonathan Corbet
540bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
550bb33e25SJonathan Corbet   :functions: ieee80211_beacon_loss
560bb33e25SJonathan Corbet
570bb33e25SJonathan CorbetMultiple queues and QoS support
580bb33e25SJonathan Corbet===============================
590bb33e25SJonathan Corbet
600bb33e25SJonathan CorbetTBD
610bb33e25SJonathan Corbet
620bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
630bb33e25SJonathan Corbet   :functions: ieee80211_tx_queue_params
640bb33e25SJonathan Corbet
650bb33e25SJonathan CorbetAccess point mode support
660bb33e25SJonathan Corbet=========================
670bb33e25SJonathan Corbet
680bb33e25SJonathan CorbetTBD
690bb33e25SJonathan Corbet
700bb33e25SJonathan CorbetSome parts of the if_conf should be discussed here instead
710bb33e25SJonathan Corbet
720bb33e25SJonathan CorbetInsert notes about VLAN interfaces with hw crypto here or in the hw
730bb33e25SJonathan Corbetcrypto chapter.
740bb33e25SJonathan Corbet
750bb33e25SJonathan Corbetsupport for powersaving clients
760bb33e25SJonathan Corbet-------------------------------
770bb33e25SJonathan Corbet
780bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
790bb33e25SJonathan Corbet   :doc: AP support for powersaving clients
800bb33e25SJonathan Corbet
810bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
82efc7d01aSMauro Carvalho Chehab   :functions:
83efc7d01aSMauro Carvalho Chehab	ieee80211_get_buffered_bc
84efc7d01aSMauro Carvalho Chehab	ieee80211_beacon_get
85efc7d01aSMauro Carvalho Chehab	ieee80211_sta_eosp
86efc7d01aSMauro Carvalho Chehab	ieee80211_frame_release_type
87efc7d01aSMauro Carvalho Chehab	ieee80211_sta_ps_transition
88efc7d01aSMauro Carvalho Chehab	ieee80211_sta_ps_transition_ni
89efc7d01aSMauro Carvalho Chehab	ieee80211_sta_set_buffered
90efc7d01aSMauro Carvalho Chehab	ieee80211_sta_block_awake
910bb33e25SJonathan Corbet
920bb33e25SJonathan CorbetSupporting multiple virtual interfaces
930bb33e25SJonathan Corbet======================================
940bb33e25SJonathan Corbet
950bb33e25SJonathan CorbetTBD
960bb33e25SJonathan Corbet
970bb33e25SJonathan CorbetNote: WDS with identical MAC address should almost always be OK
980bb33e25SJonathan Corbet
990bb33e25SJonathan CorbetInsert notes about having multiple virtual interfaces with different MAC
1000bb33e25SJonathan Corbetaddresses here, note which configurations are supported by mac80211, add
1010bb33e25SJonathan Corbetnotes about supporting hw crypto with it.
1020bb33e25SJonathan Corbet
1030bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
104efc7d01aSMauro Carvalho Chehab   :functions:
105efc7d01aSMauro Carvalho Chehab	ieee80211_iterate_active_interfaces
106efc7d01aSMauro Carvalho Chehab	ieee80211_iterate_active_interfaces_atomic
1070bb33e25SJonathan Corbet
1080bb33e25SJonathan CorbetStation handling
1090bb33e25SJonathan Corbet================
1100bb33e25SJonathan Corbet
1110bb33e25SJonathan CorbetTODO
1120bb33e25SJonathan Corbet
1130bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
114efc7d01aSMauro Carvalho Chehab   :functions:
115efc7d01aSMauro Carvalho Chehab	ieee80211_sta
116efc7d01aSMauro Carvalho Chehab	sta_notify_cmd
117efc7d01aSMauro Carvalho Chehab	ieee80211_find_sta
118efc7d01aSMauro Carvalho Chehab	ieee80211_find_sta_by_ifaddr
1190bb33e25SJonathan Corbet
1200bb33e25SJonathan CorbetHardware scan offload
1210bb33e25SJonathan Corbet=====================
1220bb33e25SJonathan Corbet
1230bb33e25SJonathan CorbetTBD
1240bb33e25SJonathan Corbet
1250bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
1260bb33e25SJonathan Corbet   :functions: ieee80211_scan_completed
1270bb33e25SJonathan Corbet
1280bb33e25SJonathan CorbetAggregation
1290bb33e25SJonathan Corbet===========
1300bb33e25SJonathan Corbet
1310bb33e25SJonathan CorbetTX A-MPDU aggregation
1320bb33e25SJonathan Corbet---------------------
1330bb33e25SJonathan Corbet
1340bb33e25SJonathan Corbet.. kernel-doc:: net/mac80211/agg-tx.c
1350bb33e25SJonathan Corbet   :doc: TX A-MPDU aggregation
1360bb33e25SJonathan Corbet
1370bb33e25SJonathan Corbet.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
1380bb33e25SJonathan Corbet
1390bb33e25SJonathan CorbetRX A-MPDU aggregation
1400bb33e25SJonathan Corbet---------------------
1410bb33e25SJonathan Corbet
1420bb33e25SJonathan Corbet.. kernel-doc:: net/mac80211/agg-rx.c
1430bb33e25SJonathan Corbet   :doc: RX A-MPDU aggregation
1440bb33e25SJonathan Corbet
1450bb33e25SJonathan Corbet.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
1460bb33e25SJonathan Corbet
1470bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
1480bb33e25SJonathan Corbet   :functions: ieee80211_ampdu_mlme_action
1490bb33e25SJonathan Corbet
1500bb33e25SJonathan CorbetSpatial Multiplexing Powersave (SMPS)
1510bb33e25SJonathan Corbet=====================================
1520bb33e25SJonathan Corbet
1530bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
1540bb33e25SJonathan Corbet   :doc: Spatial multiplexing power save
1550bb33e25SJonathan Corbet
1560bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
157efc7d01aSMauro Carvalho Chehab   :functions:
158efc7d01aSMauro Carvalho Chehab	ieee80211_request_smps
159efc7d01aSMauro Carvalho Chehab	ieee80211_smps_mode
1600bb33e25SJonathan Corbet
1610bb33e25SJonathan CorbetTBD
1620bb33e25SJonathan Corbet
1630bb33e25SJonathan CorbetThis part of the book describes the rate control algorithm interface and
1640bb33e25SJonathan Corbethow it relates to mac80211 and drivers.
1650bb33e25SJonathan Corbet
1660bb33e25SJonathan CorbetRate Control API
1670bb33e25SJonathan Corbet================
1680bb33e25SJonathan Corbet
1690bb33e25SJonathan CorbetTBD
1700bb33e25SJonathan Corbet
1710bb33e25SJonathan Corbet.. kernel-doc:: include/net/mac80211.h
172efc7d01aSMauro Carvalho Chehab   :functions:
173efc7d01aSMauro Carvalho Chehab	ieee80211_start_tx_ba_session
174efc7d01aSMauro Carvalho Chehab	ieee80211_start_tx_ba_cb_irqsafe
175efc7d01aSMauro Carvalho Chehab	ieee80211_stop_tx_ba_session
176efc7d01aSMauro Carvalho Chehab	ieee80211_stop_tx_ba_cb_irqsafe
177efc7d01aSMauro Carvalho Chehab	ieee80211_rate_control_changed
178efc7d01aSMauro Carvalho Chehab	ieee80211_tx_rate_control
1790bb33e25SJonathan Corbet
1800bb33e25SJonathan CorbetTBD
1810bb33e25SJonathan Corbet
1820bb33e25SJonathan CorbetThis part of the book describes mac80211 internals.
1830bb33e25SJonathan Corbet
1840bb33e25SJonathan CorbetKey handling
1850bb33e25SJonathan Corbet============
1860bb33e25SJonathan Corbet
1870bb33e25SJonathan CorbetKey handling basics
1880bb33e25SJonathan Corbet-------------------
1890bb33e25SJonathan Corbet
1900bb33e25SJonathan Corbet.. kernel-doc:: net/mac80211/key.c
1910bb33e25SJonathan Corbet   :doc: Key handling basics
1920bb33e25SJonathan Corbet
1930bb33e25SJonathan CorbetMORE TBD
1940bb33e25SJonathan Corbet--------
1950bb33e25SJonathan Corbet
1960bb33e25SJonathan CorbetTBD
1970bb33e25SJonathan Corbet
1980bb33e25SJonathan CorbetReceive processing
1990bb33e25SJonathan Corbet==================
2000bb33e25SJonathan Corbet
2010bb33e25SJonathan CorbetTBD
2020bb33e25SJonathan Corbet
2030bb33e25SJonathan CorbetTransmit processing
2040bb33e25SJonathan Corbet===================
2050bb33e25SJonathan Corbet
2060bb33e25SJonathan CorbetTBD
2070bb33e25SJonathan Corbet
2080bb33e25SJonathan CorbetStation info handling
2090bb33e25SJonathan Corbet=====================
2100bb33e25SJonathan Corbet
2110bb33e25SJonathan CorbetProgramming information
2120bb33e25SJonathan Corbet-----------------------
2130bb33e25SJonathan Corbet
2140bb33e25SJonathan Corbet.. kernel-doc:: net/mac80211/sta_info.h
215efc7d01aSMauro Carvalho Chehab   :functions:
216efc7d01aSMauro Carvalho Chehab	sta_info
217efc7d01aSMauro Carvalho Chehab	ieee80211_sta_info_flags
2180bb33e25SJonathan Corbet
2190bb33e25SJonathan CorbetSTA information lifetime rules
2200bb33e25SJonathan Corbet------------------------------
2210bb33e25SJonathan Corbet
2220bb33e25SJonathan Corbet.. kernel-doc:: net/mac80211/sta_info.c
2230bb33e25SJonathan Corbet   :doc: STA information lifetime rules
2240bb33e25SJonathan Corbet
225c44166feSMauro Carvalho ChehabAggregation Functions
226c44166feSMauro Carvalho Chehab=====================
2270bb33e25SJonathan Corbet
2280bb33e25SJonathan Corbet.. kernel-doc:: net/mac80211/sta_info.h
229efc7d01aSMauro Carvalho Chehab   :functions:
230efc7d01aSMauro Carvalho Chehab	sta_ampdu_mlme
231efc7d01aSMauro Carvalho Chehab	tid_ampdu_tx
232efc7d01aSMauro Carvalho Chehab	tid_ampdu_rx
2330bb33e25SJonathan Corbet
234c44166feSMauro Carvalho ChehabSynchronisation Functions
235c44166feSMauro Carvalho Chehab=========================
2360bb33e25SJonathan Corbet
2370bb33e25SJonathan CorbetTBD
2380bb33e25SJonathan Corbet
2390bb33e25SJonathan CorbetLocking, lots of RCU
240