docs: Move the 802.11 guide into the driver-api manual
Put this documentation with the other driver docs and try to keep the top level reasonably clean. Cc: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
345
Documentation/driver-api/80211/cfg80211.rst
Normal file
345
Documentation/driver-api/80211/cfg80211.rst
Normal file
@@ -0,0 +1,345 @@
|
||||
==================
|
||||
cfg80211 subsystem
|
||||
==================
|
||||
|
||||
Device registration
|
||||
===================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Device registration
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_channel_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_rate_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_rate
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_sta_ht_cap
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_supported_band
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_signal_type
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_params_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wireless_dev
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_new
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_register
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_unregister
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_free
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_name
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_dev
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_priv
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: priv_to_wiphy
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: set_wiphy_dev
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wdev_priv
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_iface_limit
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_iface_combination
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_check_combinations
|
||||
|
||||
Actions and configuration
|
||||
=========================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Actions and configuration
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ops
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: vif_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: key_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: survey_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: survey_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_beacon_data
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ap_settings
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: station_parameters
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: rate_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: rate_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: station_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: monitor_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: mpath_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: mpath_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: bss_parameters
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_txq_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_crypto_settings
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_auth_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_assoc_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_deauth_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_disassoc_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ibss_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_pmksa
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_rx_mlme_mgmt
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_auth_timeout
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_rx_assoc_resp
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_assoc_timeout
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_tx_mlme_mgmt
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ibss_joined
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_result
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_timeout
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_roamed
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_disconnected
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ready_on_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_remain_on_channel_expired
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_new_sta
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_rx_mgmt
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_mgmt_tx_status
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_cqm_rssi_notify
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_cqm_pktloss_notify
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_michael_mic_failure
|
||||
|
||||
Scanning and BSS list handling
|
||||
==============================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Scanning and BSS list handling
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ssid
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_scan_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_scan_done
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_inform_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_inform_bss_frame_data
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_inform_bss_data
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_unlink_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_find_ie
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_bss_get_ie
|
||||
|
||||
Utility functions
|
||||
=================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Utility functions
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_channel_to_frequency
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_frequency_to_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_get_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_get_response_rate
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_hdrlen
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_get_hdrlen_from_skb
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_radiotap_iterator
|
||||
|
||||
Data path helpers
|
||||
=================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Data path helpers
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_data_to_8023
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_data_from_8023
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_amsdu_to_8023s
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_classify8021d
|
||||
|
||||
Regulatory enforcement infrastructure
|
||||
=====================================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Regulatory enforcement infrastructure
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: regulatory_hint
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_apply_custom_regulatory
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: freq_reg_info
|
||||
|
||||
RFkill integration
|
||||
==================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: RFkill integration
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_rfkill_set_hw_state
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_rfkill_start_polling
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_rfkill_stop_polling
|
||||
|
||||
Test mode
|
||||
=========
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Test mode
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_alloc_reply_skb
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_reply
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_alloc_event_skb
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_event
|
10
Documentation/driver-api/80211/conf.py
Normal file
10
Documentation/driver-api/80211/conf.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# -*- coding: utf-8; mode: python -*-
|
||||
|
||||
project = "Linux 802.11 Driver Developer's Guide"
|
||||
|
||||
tags.add("subproject")
|
||||
|
||||
latex_documents = [
|
||||
('index', '80211.tex', project,
|
||||
'The kernel development community', 'manual'),
|
||||
]
|
17
Documentation/driver-api/80211/index.rst
Normal file
17
Documentation/driver-api/80211/index.rst
Normal file
@@ -0,0 +1,17 @@
|
||||
=====================================
|
||||
Linux 802.11 Driver Developer's Guide
|
||||
=====================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
introduction
|
||||
cfg80211
|
||||
mac80211
|
||||
mac80211-advanced
|
||||
|
||||
.. only:: subproject and html
|
||||
|
||||
Indices
|
||||
=======
|
||||
|
||||
* :ref:`genindex`
|
17
Documentation/driver-api/80211/introduction.rst
Normal file
17
Documentation/driver-api/80211/introduction.rst
Normal file
@@ -0,0 +1,17 @@
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
|
||||
Explaining wireless 802.11 networking in the Linux kernel
|
||||
|
||||
Copyright 2007-2009 Johannes Berg
|
||||
|
||||
These books attempt to give a description of the various subsystems
|
||||
that play a role in 802.11 wireless networking in Linux. Since these
|
||||
books are for kernel developers they attempts to document the
|
||||
structures and functions used in the kernel as well as giving a
|
||||
higher-level overview.
|
||||
|
||||
The reader is expected to be familiar with the 802.11 standard as
|
||||
published by the IEEE in 802.11-2007 (or possibly later versions).
|
||||
References to this standard will be given as "802.11-2007 8.1.5".
|
295
Documentation/driver-api/80211/mac80211-advanced.rst
Normal file
295
Documentation/driver-api/80211/mac80211-advanced.rst
Normal file
@@ -0,0 +1,295 @@
|
||||
=============================
|
||||
mac80211 subsystem (advanced)
|
||||
=============================
|
||||
|
||||
Information contained within this part of the book is of interest only
|
||||
for advanced interaction of mac80211 with drivers to exploit more
|
||||
hardware capabilities and improve performance.
|
||||
|
||||
LED support
|
||||
===========
|
||||
|
||||
Mac80211 supports various ways of blinking LEDs. Wherever possible,
|
||||
device LEDs should be exposed as LED class devices and hooked up to the
|
||||
appropriate trigger, which will then be triggered appropriately by
|
||||
mac80211.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tx_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_rx_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_assoc_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_radio_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tpt_blink
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tpt_led_trigger_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_create_tpt_led_trigger
|
||||
|
||||
Hardware crypto acceleration
|
||||
============================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Hardware crypto acceleration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: set_key_cmd
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_key_conf
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_key_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tkip_p1k
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tkip_p1k_iv
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tkip_p2k
|
||||
|
||||
Powersave support
|
||||
=================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Powersave support
|
||||
|
||||
Beacon filter support
|
||||
=====================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Beacon filter support
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_beacon_loss
|
||||
|
||||
Multiple queues and QoS support
|
||||
===============================
|
||||
|
||||
TBD
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_queue_params
|
||||
|
||||
Access point mode support
|
||||
=========================
|
||||
|
||||
TBD
|
||||
|
||||
Some parts of the if_conf should be discussed here instead
|
||||
|
||||
Insert notes about VLAN interfaces with hw crypto here or in the hw
|
||||
crypto chapter.
|
||||
|
||||
support for powersaving clients
|
||||
-------------------------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: AP support for powersaving clients
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_buffered_bc
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_beacon_get
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_eosp
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_frame_release_type
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_ps_transition
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_ps_transition_ni
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_set_buffered
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_block_awake
|
||||
|
||||
Supporting multiple virtual interfaces
|
||||
======================================
|
||||
|
||||
TBD
|
||||
|
||||
Note: WDS with identical MAC address should almost always be OK
|
||||
|
||||
Insert notes about having multiple virtual interfaces with different MAC
|
||||
addresses here, note which configurations are supported by mac80211, add
|
||||
notes about supporting hw crypto with it.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_iterate_active_interfaces
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_iterate_active_interfaces_atomic
|
||||
|
||||
Station handling
|
||||
================
|
||||
|
||||
TODO
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: sta_notify_cmd
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_find_sta
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_find_sta_by_ifaddr
|
||||
|
||||
Hardware scan offload
|
||||
=====================
|
||||
|
||||
TBD
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_scan_completed
|
||||
|
||||
Aggregation
|
||||
===========
|
||||
|
||||
TX A-MPDU aggregation
|
||||
---------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/agg-tx.c
|
||||
:doc: TX A-MPDU aggregation
|
||||
|
||||
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
|
||||
|
||||
RX A-MPDU aggregation
|
||||
---------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/agg-rx.c
|
||||
:doc: RX A-MPDU aggregation
|
||||
|
||||
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ampdu_mlme_action
|
||||
|
||||
Spatial Multiplexing Powersave (SMPS)
|
||||
=====================================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Spatial multiplexing power save
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_request_smps
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_smps_mode
|
||||
|
||||
TBD
|
||||
|
||||
This part of the book describes the rate control algorithm interface and
|
||||
how it relates to mac80211 and drivers.
|
||||
|
||||
Rate Control API
|
||||
================
|
||||
|
||||
TBD
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_start_tx_ba_session
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_start_tx_ba_cb_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_tx_ba_session
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_tx_ba_cb_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rate_control_changed
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_rate_control
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: rate_control_send_low
|
||||
|
||||
TBD
|
||||
|
||||
This part of the book describes mac80211 internals.
|
||||
|
||||
Key handling
|
||||
============
|
||||
|
||||
Key handling basics
|
||||
-------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/key.c
|
||||
:doc: Key handling basics
|
||||
|
||||
MORE TBD
|
||||
--------
|
||||
|
||||
TBD
|
||||
|
||||
Receive processing
|
||||
==================
|
||||
|
||||
TBD
|
||||
|
||||
Transmit processing
|
||||
===================
|
||||
|
||||
TBD
|
||||
|
||||
Station info handling
|
||||
=====================
|
||||
|
||||
Programming information
|
||||
-----------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: sta_info
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: ieee80211_sta_info_flags
|
||||
|
||||
STA information lifetime rules
|
||||
------------------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.c
|
||||
:doc: STA information lifetime rules
|
||||
|
||||
Aggregation
|
||||
===========
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: sta_ampdu_mlme
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: tid_ampdu_tx
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: tid_ampdu_rx
|
||||
|
||||
Synchronisation
|
||||
===============
|
||||
|
||||
TBD
|
||||
|
||||
Locking, lots of RCU
|
216
Documentation/driver-api/80211/mac80211.rst
Normal file
216
Documentation/driver-api/80211/mac80211.rst
Normal file
@@ -0,0 +1,216 @@
|
||||
===========================
|
||||
mac80211 subsystem (basics)
|
||||
===========================
|
||||
|
||||
You should read and understand the information contained within this
|
||||
part of the book while implementing a mac80211 driver. In some chapters,
|
||||
advanced usage is noted, those may be skipped if this isn't needed.
|
||||
|
||||
This part of the book only covers station and monitor mode
|
||||
functionality, additional information required to implement the other
|
||||
modes is covered in the second part of the book.
|
||||
|
||||
Basic hardware handling
|
||||
=======================
|
||||
|
||||
TBD
|
||||
|
||||
This chapter shall contain information on getting a hw struct allocated
|
||||
and registered with mac80211.
|
||||
|
||||
Since it is required to allocate rates/modes before registering a hw
|
||||
struct, this chapter shall also contain information on setting up the
|
||||
rate/mode structs.
|
||||
|
||||
Additionally, some discussion about the callbacks and the general
|
||||
programming model should be in here, including the definition of
|
||||
ieee80211_ops which will be referred to a lot.
|
||||
|
||||
Finally, a discussion of hardware capabilities should be done with
|
||||
references to other parts of the book.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_hw_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: SET_IEEE80211_DEV
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: SET_IEEE80211_PERM_ADDR
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ops
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_alloc_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_register_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_unregister_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_free_hw
|
||||
|
||||
PHY configuration
|
||||
=================
|
||||
|
||||
TBD
|
||||
|
||||
This chapter should describe PHY handling including start/stop callbacks
|
||||
and the various structures used.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_conf
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_conf_flags
|
||||
|
||||
Virtual interfaces
|
||||
==================
|
||||
|
||||
TBD
|
||||
|
||||
This chapter should describe virtual interface basics that are relevant
|
||||
to the driver (VLANs, MGMT etc are not.) It should explain the use of
|
||||
the add_iface/remove_iface callbacks as well as the interface
|
||||
configuration callbacks.
|
||||
|
||||
Things related to AP mode should be discussed there.
|
||||
|
||||
Things related to supporting multiple interfaces should be in the
|
||||
appropriate chapter, a BIG FAT note should be here about this though and
|
||||
the recommendation to allow only a single interface in STA mode at
|
||||
first!
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_vif
|
||||
|
||||
Receive and transmit processing
|
||||
===============================
|
||||
|
||||
what should be here
|
||||
-------------------
|
||||
|
||||
TBD
|
||||
|
||||
This should describe the receive and transmit paths in mac80211/the
|
||||
drivers as well as transmit status handling.
|
||||
|
||||
Frame format
|
||||
------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Frame format
|
||||
|
||||
Packet alignment
|
||||
----------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/rx.c
|
||||
:doc: Packet alignment
|
||||
|
||||
Calling into mac80211 from interrupts
|
||||
-------------------------------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Calling mac80211 from interrupts
|
||||
|
||||
functions/definitions
|
||||
---------------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx_status
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_rx_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_tx_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_tx_control_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_rate_control_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_rate
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_info
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_info_clear_status
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx_ni
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_status
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_status_ni
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_status_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rts_get
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rts_duration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ctstoself_get
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ctstoself_duration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_generic_frame_duration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_wake_queue
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_queue
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_wake_queues
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_queues
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_queue_stopped
|
||||
|
||||
Frame filtering
|
||||
===============
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Frame filtering
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_filter_flags
|
||||
|
||||
The mac80211 workqueue
|
||||
======================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: mac80211 workqueue
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_queue_work
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_queue_delayed_work
|
@@ -26,7 +26,7 @@ available subsections can be seen below.
|
||||
hsi
|
||||
miscellaneous
|
||||
vme
|
||||
|
||||
80211/index
|
||||
|
||||
.. only:: subproject and html
|
||||
|
||||
|
Reference in New Issue
Block a user