Based on kernel version 4.8. Page generated on 2016-10-06 23:15 EST.
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> 4 <set> 5 <setinfo> 6 <title>The 802.11 subsystems – for kernel developers</title> 7 <subtitle> 8 Explaining wireless 802.11 networking in the Linux kernel 9 </subtitle> 10 11 <copyright> 12 <year>2007-2009</year> 13 <holder>Johannes Berg</holder> 14 </copyright> 15 16 <authorgroup> 17 <author> 18 <firstname>Johannes</firstname> 19 <surname>Berg</surname> 20 <affiliation> 21 <address><email>johannes@sipsolutions.net</email></address> 22 </affiliation> 23 </author> 24 </authorgroup> 25 26 <legalnotice> 27 <para> 28 This documentation is free software; you can redistribute 29 it and/or modify it under the terms of the GNU General Public 30 License version 2 as published by the Free Software Foundation. 31 </para> 32 <para> 33 This documentation is distributed in the hope that it will be 34 useful, but WITHOUT ANY WARRANTY; without even the implied 35 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 36 See the GNU General Public License for more details. 37 </para> 38 <para> 39 You should have received a copy of the GNU General Public 40 License along with this documentation; if not, write to the Free 41 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 42 MA 02111-1307 USA 43 </para> 44 <para> 45 For more details see the file COPYING in the source 46 distribution of Linux. 47 </para> 48 </legalnotice> 49 50 <abstract> 51 <para> 52 These books attempt to give a description of the 53 various subsystems that play a role in 802.11 wireless 54 networking in Linux. Since these books are for kernel 55 developers they attempts to document the structures 56 and functions used in the kernel as well as giving a 57 higher-level overview. 58 </para> 59 <para> 60 The reader is expected to be familiar with the 802.11 61 standard as published by the IEEE in 802.11-2007 (or 62 possibly later versions). References to this standard 63 will be given as "802.11-2007 8.1.5". 64 </para> 65 </abstract> 66 </setinfo> 67 <book id="cfg80211-developers-guide"> 68 <bookinfo> 69 <title>The cfg80211 subsystem</title> 70 71 <abstract> 72 !Pinclude/net/cfg80211.h Introduction 73 </abstract> 74 </bookinfo> 75 <chapter> 76 <title>Device registration</title> 77 !Pinclude/net/cfg80211.h Device registration 78 !Finclude/net/cfg80211.h ieee80211_channel_flags 79 !Finclude/net/cfg80211.h ieee80211_channel 80 !Finclude/net/cfg80211.h ieee80211_rate_flags 81 !Finclude/net/cfg80211.h ieee80211_rate 82 !Finclude/net/cfg80211.h ieee80211_sta_ht_cap 83 !Finclude/net/cfg80211.h ieee80211_supported_band 84 !Finclude/net/cfg80211.h cfg80211_signal_type 85 !Finclude/net/cfg80211.h wiphy_params_flags 86 !Finclude/net/cfg80211.h wiphy_flags 87 !Finclude/net/cfg80211.h wiphy 88 !Finclude/net/cfg80211.h wireless_dev 89 !Finclude/net/cfg80211.h wiphy_new 90 !Finclude/net/cfg80211.h wiphy_register 91 !Finclude/net/cfg80211.h wiphy_unregister 92 !Finclude/net/cfg80211.h wiphy_free 93 94 !Finclude/net/cfg80211.h wiphy_name 95 !Finclude/net/cfg80211.h wiphy_dev 96 !Finclude/net/cfg80211.h wiphy_priv 97 !Finclude/net/cfg80211.h priv_to_wiphy 98 !Finclude/net/cfg80211.h set_wiphy_dev 99 !Finclude/net/cfg80211.h wdev_priv 100 !Finclude/net/cfg80211.h ieee80211_iface_limit 101 !Finclude/net/cfg80211.h ieee80211_iface_combination 102 !Finclude/net/cfg80211.h cfg80211_check_combinations 103 </chapter> 104 <chapter> 105 <title>Actions and configuration</title> 106 !Pinclude/net/cfg80211.h Actions and configuration 107 !Finclude/net/cfg80211.h cfg80211_ops 108 !Finclude/net/cfg80211.h vif_params 109 !Finclude/net/cfg80211.h key_params 110 !Finclude/net/cfg80211.h survey_info_flags 111 !Finclude/net/cfg80211.h survey_info 112 !Finclude/net/cfg80211.h cfg80211_beacon_data 113 !Finclude/net/cfg80211.h cfg80211_ap_settings 114 !Finclude/net/cfg80211.h station_parameters 115 !Finclude/net/cfg80211.h rate_info_flags 116 !Finclude/net/cfg80211.h rate_info 117 !Finclude/net/cfg80211.h station_info 118 !Finclude/net/cfg80211.h monitor_flags 119 !Finclude/net/cfg80211.h mpath_info_flags 120 !Finclude/net/cfg80211.h mpath_info 121 !Finclude/net/cfg80211.h bss_parameters 122 !Finclude/net/cfg80211.h ieee80211_txq_params 123 !Finclude/net/cfg80211.h cfg80211_crypto_settings 124 !Finclude/net/cfg80211.h cfg80211_auth_request 125 !Finclude/net/cfg80211.h cfg80211_assoc_request 126 !Finclude/net/cfg80211.h cfg80211_deauth_request 127 !Finclude/net/cfg80211.h cfg80211_disassoc_request 128 !Finclude/net/cfg80211.h cfg80211_ibss_params 129 !Finclude/net/cfg80211.h cfg80211_connect_params 130 !Finclude/net/cfg80211.h cfg80211_pmksa 131 !Finclude/net/cfg80211.h cfg80211_rx_mlme_mgmt 132 !Finclude/net/cfg80211.h cfg80211_auth_timeout 133 !Finclude/net/cfg80211.h cfg80211_rx_assoc_resp 134 !Finclude/net/cfg80211.h cfg80211_assoc_timeout 135 !Finclude/net/cfg80211.h cfg80211_tx_mlme_mgmt 136 !Finclude/net/cfg80211.h cfg80211_ibss_joined 137 !Finclude/net/cfg80211.h cfg80211_connect_result 138 !Finclude/net/cfg80211.h cfg80211_connect_bss 139 !Finclude/net/cfg80211.h cfg80211_connect_timeout 140 !Finclude/net/cfg80211.h cfg80211_roamed 141 !Finclude/net/cfg80211.h cfg80211_disconnected 142 !Finclude/net/cfg80211.h cfg80211_ready_on_channel 143 !Finclude/net/cfg80211.h cfg80211_remain_on_channel_expired 144 !Finclude/net/cfg80211.h cfg80211_new_sta 145 !Finclude/net/cfg80211.h cfg80211_rx_mgmt 146 !Finclude/net/cfg80211.h cfg80211_mgmt_tx_status 147 !Finclude/net/cfg80211.h cfg80211_cqm_rssi_notify 148 !Finclude/net/cfg80211.h cfg80211_cqm_pktloss_notify 149 !Finclude/net/cfg80211.h cfg80211_michael_mic_failure 150 </chapter> 151 <chapter> 152 <title>Scanning and BSS list handling</title> 153 !Pinclude/net/cfg80211.h Scanning and BSS list handling 154 !Finclude/net/cfg80211.h cfg80211_ssid 155 !Finclude/net/cfg80211.h cfg80211_scan_request 156 !Finclude/net/cfg80211.h cfg80211_scan_done 157 !Finclude/net/cfg80211.h cfg80211_bss 158 !Finclude/net/cfg80211.h cfg80211_inform_bss 159 !Finclude/net/cfg80211.h cfg80211_inform_bss_frame_data 160 !Finclude/net/cfg80211.h cfg80211_inform_bss_data 161 !Finclude/net/cfg80211.h cfg80211_unlink_bss 162 !Finclude/net/cfg80211.h cfg80211_find_ie 163 !Finclude/net/cfg80211.h ieee80211_bss_get_ie 164 </chapter> 165 <chapter> 166 <title>Utility functions</title> 167 !Pinclude/net/cfg80211.h Utility functions 168 !Finclude/net/cfg80211.h ieee80211_channel_to_frequency 169 !Finclude/net/cfg80211.h ieee80211_frequency_to_channel 170 !Finclude/net/cfg80211.h ieee80211_get_channel 171 !Finclude/net/cfg80211.h ieee80211_get_response_rate 172 !Finclude/net/cfg80211.h ieee80211_hdrlen 173 !Finclude/net/cfg80211.h ieee80211_get_hdrlen_from_skb 174 !Finclude/net/cfg80211.h ieee80211_radiotap_iterator 175 </chapter> 176 <chapter> 177 <title>Data path helpers</title> 178 !Pinclude/net/cfg80211.h Data path helpers 179 !Finclude/net/cfg80211.h ieee80211_data_to_8023 180 !Finclude/net/cfg80211.h ieee80211_data_from_8023 181 !Finclude/net/cfg80211.h ieee80211_amsdu_to_8023s 182 !Finclude/net/cfg80211.h cfg80211_classify8021d 183 </chapter> 184 <chapter> 185 <title>Regulatory enforcement infrastructure</title> 186 !Pinclude/net/cfg80211.h Regulatory enforcement infrastructure 187 !Finclude/net/cfg80211.h regulatory_hint 188 !Finclude/net/cfg80211.h wiphy_apply_custom_regulatory 189 !Finclude/net/cfg80211.h freq_reg_info 190 </chapter> 191 <chapter> 192 <title>RFkill integration</title> 193 !Pinclude/net/cfg80211.h RFkill integration 194 !Finclude/net/cfg80211.h wiphy_rfkill_set_hw_state 195 !Finclude/net/cfg80211.h wiphy_rfkill_start_polling 196 !Finclude/net/cfg80211.h wiphy_rfkill_stop_polling 197 </chapter> 198 <chapter> 199 <title>Test mode</title> 200 !Pinclude/net/cfg80211.h Test mode 201 !Finclude/net/cfg80211.h cfg80211_testmode_alloc_reply_skb 202 !Finclude/net/cfg80211.h cfg80211_testmode_reply 203 !Finclude/net/cfg80211.h cfg80211_testmode_alloc_event_skb 204 !Finclude/net/cfg80211.h cfg80211_testmode_event 205 </chapter> 206 </book> 207 <book id="mac80211-developers-guide"> 208 <bookinfo> 209 <title>The mac80211 subsystem</title> 210 <abstract> 211 !Pinclude/net/mac80211.h Introduction 212 !Pinclude/net/mac80211.h Warning 213 </abstract> 214 </bookinfo> 215 216 <toc></toc> 217 218 <!-- 219 Generally, this document shall be ordered by increasing complexity. 220 It is important to note that readers should be able to read only 221 the first few sections to get a working driver and only advanced 222 usage should require reading the full document. 223 --> 224 225 <part> 226 <title>The basic mac80211 driver interface</title> 227 <partintro> 228 <para> 229 You should read and understand the information contained 230 within this part of the book while implementing a driver. 231 In some chapters, advanced usage is noted, that may be 232 skipped at first. 233 </para> 234 <para> 235 This part of the book only covers station and monitor mode 236 functionality, additional information required to implement 237 the other modes is covered in the second part of the book. 238 </para> 239 </partintro> 240 241 <chapter id="basics"> 242 <title>Basic hardware handling</title> 243 <para>TBD</para> 244 <para> 245 This chapter shall contain information on getting a hw 246 struct allocated and registered with mac80211. 247 </para> 248 <para> 249 Since it is required to allocate rates/modes before registering 250 a hw struct, this chapter shall also contain information on setting 251 up the rate/mode structs. 252 </para> 253 <para> 254 Additionally, some discussion about the callbacks and 255 the general programming model should be in here, including 256 the definition of ieee80211_ops which will be referred to 257 a lot. 258 </para> 259 <para> 260 Finally, a discussion of hardware capabilities should be done 261 with references to other parts of the book. 262 </para> 263 <!-- intentionally multiple !F lines to get proper order --> 264 !Finclude/net/mac80211.h ieee80211_hw 265 !Finclude/net/mac80211.h ieee80211_hw_flags 266 !Finclude/net/mac80211.h SET_IEEE80211_DEV 267 !Finclude/net/mac80211.h SET_IEEE80211_PERM_ADDR 268 !Finclude/net/mac80211.h ieee80211_ops 269 !Finclude/net/mac80211.h ieee80211_alloc_hw 270 !Finclude/net/mac80211.h ieee80211_register_hw 271 !Finclude/net/mac80211.h ieee80211_unregister_hw 272 !Finclude/net/mac80211.h ieee80211_free_hw 273 </chapter> 274 275 <chapter id="phy-handling"> 276 <title>PHY configuration</title> 277 <para>TBD</para> 278 <para> 279 This chapter should describe PHY handling including 280 start/stop callbacks and the various structures used. 281 </para> 282 !Finclude/net/mac80211.h ieee80211_conf 283 !Finclude/net/mac80211.h ieee80211_conf_flags 284 </chapter> 285 286 <chapter id="iface-handling"> 287 <title>Virtual interfaces</title> 288 <para>TBD</para> 289 <para> 290 This chapter should describe virtual interface basics 291 that are relevant to the driver (VLANs, MGMT etc are not.) 292 It should explain the use of the add_iface/remove_iface 293 callbacks as well as the interface configuration callbacks. 294 </para> 295 <para>Things related to AP mode should be discussed there.</para> 296 <para> 297 Things related to supporting multiple interfaces should be 298 in the appropriate chapter, a BIG FAT note should be here about 299 this though and the recommendation to allow only a single 300 interface in STA mode at first! 301 </para> 302 !Finclude/net/mac80211.h ieee80211_vif 303 </chapter> 304 305 <chapter id="rx-tx"> 306 <title>Receive and transmit processing</title> 307 <sect1> 308 <title>what should be here</title> 309 <para>TBD</para> 310 <para> 311 This should describe the receive and transmit 312 paths in mac80211/the drivers as well as 313 transmit status handling. 314 </para> 315 </sect1> 316 <sect1> 317 <title>Frame format</title> 318 !Pinclude/net/mac80211.h Frame format 319 </sect1> 320 <sect1> 321 <title>Packet alignment</title> 322 !Pnet/mac80211/rx.c Packet alignment 323 </sect1> 324 <sect1> 325 <title>Calling into mac80211 from interrupts</title> 326 !Pinclude/net/mac80211.h Calling mac80211 from interrupts 327 </sect1> 328 <sect1> 329 <title>functions/definitions</title> 330 !Finclude/net/mac80211.h ieee80211_rx_status 331 !Finclude/net/mac80211.h mac80211_rx_flags 332 !Finclude/net/mac80211.h mac80211_tx_info_flags 333 !Finclude/net/mac80211.h mac80211_tx_control_flags 334 !Finclude/net/mac80211.h mac80211_rate_control_flags 335 !Finclude/net/mac80211.h ieee80211_tx_rate 336 !Finclude/net/mac80211.h ieee80211_tx_info 337 !Finclude/net/mac80211.h ieee80211_tx_info_clear_status 338 !Finclude/net/mac80211.h ieee80211_rx 339 !Finclude/net/mac80211.h ieee80211_rx_ni 340 !Finclude/net/mac80211.h ieee80211_rx_irqsafe 341 !Finclude/net/mac80211.h ieee80211_tx_status 342 !Finclude/net/mac80211.h ieee80211_tx_status_ni 343 !Finclude/net/mac80211.h ieee80211_tx_status_irqsafe 344 !Finclude/net/mac80211.h ieee80211_rts_get 345 !Finclude/net/mac80211.h ieee80211_rts_duration 346 !Finclude/net/mac80211.h ieee80211_ctstoself_get 347 !Finclude/net/mac80211.h ieee80211_ctstoself_duration 348 !Finclude/net/mac80211.h ieee80211_generic_frame_duration 349 !Finclude/net/mac80211.h ieee80211_wake_queue 350 !Finclude/net/mac80211.h ieee80211_stop_queue 351 !Finclude/net/mac80211.h ieee80211_wake_queues 352 !Finclude/net/mac80211.h ieee80211_stop_queues 353 !Finclude/net/mac80211.h ieee80211_queue_stopped 354 </sect1> 355 </chapter> 356 357 <chapter id="filters"> 358 <title>Frame filtering</title> 359 !Pinclude/net/mac80211.h Frame filtering 360 !Finclude/net/mac80211.h ieee80211_filter_flags 361 </chapter> 362 363 <chapter id="workqueue"> 364 <title>The mac80211 workqueue</title> 365 !Pinclude/net/mac80211.h mac80211 workqueue 366 !Finclude/net/mac80211.h ieee80211_queue_work 367 !Finclude/net/mac80211.h ieee80211_queue_delayed_work 368 </chapter> 369 </part> 370 371 <part id="advanced"> 372 <title>Advanced driver interface</title> 373 <partintro> 374 <para> 375 Information contained within this part of the book is 376 of interest only for advanced interaction of mac80211 377 with drivers to exploit more hardware capabilities and 378 improve performance. 379 </para> 380 </partintro> 381 382 <chapter id="led-support"> 383 <title>LED support</title> 384 <para> 385 Mac80211 supports various ways of blinking LEDs. Wherever possible, 386 device LEDs should be exposed as LED class devices and hooked up to 387 the appropriate trigger, which will then be triggered appropriately 388 by mac80211. 389 </para> 390 !Finclude/net/mac80211.h ieee80211_get_tx_led_name 391 !Finclude/net/mac80211.h ieee80211_get_rx_led_name 392 !Finclude/net/mac80211.h ieee80211_get_assoc_led_name 393 !Finclude/net/mac80211.h ieee80211_get_radio_led_name 394 !Finclude/net/mac80211.h ieee80211_tpt_blink 395 !Finclude/net/mac80211.h ieee80211_tpt_led_trigger_flags 396 !Finclude/net/mac80211.h ieee80211_create_tpt_led_trigger 397 </chapter> 398 399 <chapter id="hardware-crypto-offload"> 400 <title>Hardware crypto acceleration</title> 401 !Pinclude/net/mac80211.h Hardware crypto acceleration 402 <!-- intentionally multiple !F lines to get proper order --> 403 !Finclude/net/mac80211.h set_key_cmd 404 !Finclude/net/mac80211.h ieee80211_key_conf 405 !Finclude/net/mac80211.h ieee80211_key_flags 406 !Finclude/net/mac80211.h ieee80211_get_tkip_p1k 407 !Finclude/net/mac80211.h ieee80211_get_tkip_p1k_iv 408 !Finclude/net/mac80211.h ieee80211_get_tkip_p2k 409 </chapter> 410 411 <chapter id="powersave"> 412 <title>Powersave support</title> 413 !Pinclude/net/mac80211.h Powersave support 414 </chapter> 415 416 <chapter id="beacon-filter"> 417 <title>Beacon filter support</title> 418 !Pinclude/net/mac80211.h Beacon filter support 419 !Finclude/net/mac80211.h ieee80211_beacon_loss 420 </chapter> 421 422 <chapter id="qos"> 423 <title>Multiple queues and QoS support</title> 424 <para>TBD</para> 425 !Finclude/net/mac80211.h ieee80211_tx_queue_params 426 </chapter> 427 428 <chapter id="AP"> 429 <title>Access point mode support</title> 430 <para>TBD</para> 431 <para>Some parts of the if_conf should be discussed here instead</para> 432 <para> 433 Insert notes about VLAN interfaces with hw crypto here or 434 in the hw crypto chapter. 435 </para> 436 <section id="ps-client"> 437 <title>support for powersaving clients</title> 438 !Pinclude/net/mac80211.h AP support for powersaving clients 439 !Finclude/net/mac80211.h ieee80211_get_buffered_bc 440 !Finclude/net/mac80211.h ieee80211_beacon_get 441 !Finclude/net/mac80211.h ieee80211_sta_eosp 442 !Finclude/net/mac80211.h ieee80211_frame_release_type 443 !Finclude/net/mac80211.h ieee80211_sta_ps_transition 444 !Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni 445 !Finclude/net/mac80211.h ieee80211_sta_set_buffered 446 !Finclude/net/mac80211.h ieee80211_sta_block_awake 447 </section> 448 </chapter> 449 450 <chapter id="multi-iface"> 451 <title>Supporting multiple virtual interfaces</title> 452 <para>TBD</para> 453 <para> 454 Note: WDS with identical MAC address should almost always be OK 455 </para> 456 <para> 457 Insert notes about having multiple virtual interfaces with 458 different MAC addresses here, note which configurations are 459 supported by mac80211, add notes about supporting hw crypto 460 with it. 461 </para> 462 !Finclude/net/mac80211.h ieee80211_iterate_active_interfaces 463 !Finclude/net/mac80211.h ieee80211_iterate_active_interfaces_atomic 464 </chapter> 465 466 <chapter id="station-handling"> 467 <title>Station handling</title> 468 <para>TODO</para> 469 !Finclude/net/mac80211.h ieee80211_sta 470 !Finclude/net/mac80211.h sta_notify_cmd 471 !Finclude/net/mac80211.h ieee80211_find_sta 472 !Finclude/net/mac80211.h ieee80211_find_sta_by_ifaddr 473 </chapter> 474 475 <chapter id="hardware-scan-offload"> 476 <title>Hardware scan offload</title> 477 <para>TBD</para> 478 !Finclude/net/mac80211.h ieee80211_scan_completed 479 </chapter> 480 481 <chapter id="aggregation"> 482 <title>Aggregation</title> 483 <sect1> 484 <title>TX A-MPDU aggregation</title> 485 !Pnet/mac80211/agg-tx.c TX A-MPDU aggregation 486 !Cnet/mac80211/agg-tx.c 487 </sect1> 488 <sect1> 489 <title>RX A-MPDU aggregation</title> 490 !Pnet/mac80211/agg-rx.c RX A-MPDU aggregation 491 !Cnet/mac80211/agg-rx.c 492 !Finclude/net/mac80211.h ieee80211_ampdu_mlme_action 493 </sect1> 494 </chapter> 495 496 <chapter id="smps"> 497 <title>Spatial Multiplexing Powersave (SMPS)</title> 498 !Pinclude/net/mac80211.h Spatial multiplexing power save 499 !Finclude/net/mac80211.h ieee80211_request_smps 500 !Finclude/net/mac80211.h ieee80211_smps_mode 501 </chapter> 502 </part> 503 504 <part id="rate-control"> 505 <title>Rate control interface</title> 506 <partintro> 507 <para>TBD</para> 508 <para> 509 This part of the book describes the rate control algorithm 510 interface and how it relates to mac80211 and drivers. 511 </para> 512 </partintro> 513 <chapter id="ratecontrol-api"> 514 <title>Rate Control API</title> 515 <para>TBD</para> 516 !Finclude/net/mac80211.h ieee80211_start_tx_ba_session 517 !Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe 518 !Finclude/net/mac80211.h ieee80211_stop_tx_ba_session 519 !Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe 520 !Finclude/net/mac80211.h ieee80211_rate_control_changed 521 !Finclude/net/mac80211.h ieee80211_tx_rate_control 522 !Finclude/net/mac80211.h rate_control_send_low 523 </chapter> 524 </part> 525 526 <part id="internal"> 527 <title>Internals</title> 528 <partintro> 529 <para>TBD</para> 530 <para> 531 This part of the book describes mac80211 internals. 532 </para> 533 </partintro> 534 535 <chapter id="key-handling"> 536 <title>Key handling</title> 537 <sect1> 538 <title>Key handling basics</title> 539 !Pnet/mac80211/key.c Key handling basics 540 </sect1> 541 <sect1> 542 <title>MORE TBD</title> 543 <para>TBD</para> 544 </sect1> 545 </chapter> 546 547 <chapter id="rx-processing"> 548 <title>Receive processing</title> 549 <para>TBD</para> 550 </chapter> 551 552 <chapter id="tx-processing"> 553 <title>Transmit processing</title> 554 <para>TBD</para> 555 </chapter> 556 557 <chapter id="sta-info"> 558 <title>Station info handling</title> 559 <sect1> 560 <title>Programming information</title> 561 !Fnet/mac80211/sta_info.h sta_info 562 !Fnet/mac80211/sta_info.h ieee80211_sta_info_flags 563 </sect1> 564 <sect1> 565 <title>STA information lifetime rules</title> 566 !Pnet/mac80211/sta_info.c STA information lifetime rules 567 </sect1> 568 </chapter> 569 570 <chapter id="aggregation-internals"> 571 <title>Aggregation</title> 572 !Fnet/mac80211/sta_info.h sta_ampdu_mlme 573 !Fnet/mac80211/sta_info.h tid_ampdu_tx 574 !Fnet/mac80211/sta_info.h tid_ampdu_rx 575 </chapter> 576 577 <chapter id="synchronisation"> 578 <title>Synchronisation</title> 579 <para>TBD</para> 580 <para>Locking, lots of RCU</para> 581 </chapter> 582 </part> 583 </book> 584 </set>