<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>enum ieee80211_ampdu_mlme_action</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers" /><link rel="up" href="aggregation.html" title="Chapter 16. Aggregation" /><link rel="prev" href="bk02pt02ch16s02.html" title="RX A-MPDU aggregation" /><link rel="next" href="smps.html" title="Chapter 17. Spatial Multiplexing Powersave (SMPS)" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">enum ieee80211_ampdu_mlme_action</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02pt02ch16s02.html">Prev</a> </td><th width="60%" align="center">Chapter 16. Aggregation</th><td width="20%" align="right"> <a accesskey="n" href="smps.html">Next</a></td></tr></table><hr /></div><div class="refentry"><a id="API-enum-ieee80211-ampdu-mlme-action"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>enum ieee80211_ampdu_mlme_action — A-MPDU actions </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> enum ieee80211_ampdu_mlme_action { IEEE80211_AMPDU_RX_START, IEEE80211_AMPDU_RX_STOP, IEEE80211_AMPDU_TX_START, IEEE80211_AMPDU_TX_STOP_CONT, IEEE80211_AMPDU_TX_STOP_FLUSH, IEEE80211_AMPDU_TX_STOP_FLUSH_CONT, IEEE80211_AMPDU_TX_OPERATIONAL }; </pre></div><div class="refsect1"><a id="idm139754516579456"></a><h2>Constants</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">IEEE80211_AMPDU_RX_START</span></dt><dd><p> start RX aggregation </p></dd><dt><span class="term">IEEE80211_AMPDU_RX_STOP</span></dt><dd><p> stop RX aggregation </p></dd><dt><span class="term">IEEE80211_AMPDU_TX_START</span></dt><dd><p> start TX aggregation </p></dd><dt><span class="term">IEEE80211_AMPDU_TX_STOP_CONT</span></dt><dd><p> stop TX aggregation but continue transmitting queued packets, now unaggregated. After all packets are transmitted the driver has to call <code class="function">ieee80211_stop_tx_ba_cb_irqsafe</code>. </p></dd><dt><span class="term">IEEE80211_AMPDU_TX_STOP_FLUSH</span></dt><dd><p> stop TX aggregation and flush all packets, called when the station is removed. There's no need or reason to call <code class="function">ieee80211_stop_tx_ba_cb_irqsafe</code> in this case as mac80211 assumes the session is gone and removes the station. </p></dd><dt><span class="term">IEEE80211_AMPDU_TX_STOP_FLUSH_CONT</span></dt><dd><p> called when TX aggregation is stopped but the driver hasn't called <code class="function">ieee80211_stop_tx_ba_cb_irqsafe</code> yet and now the connection is dropped and the station will be removed. Drivers should clean up and drop remaining packets when this is called. </p></dd><dt><span class="term">IEEE80211_AMPDU_TX_OPERATIONAL</span></dt><dd><p> TX aggregation has become operational </p></dd></dl></div></div><div class="refsect1"><a id="idm139754516566016"></a><h2>Description</h2><p> </p><p> These flags are used with the <code class="function">ampdu_action</code> callback in <span class="structname">struct ieee80211_ops</span> to indicate which action is needed. </p><p> Note that drivers MUST be able to deal with a TX aggregation session being stopped even before they OK'ed starting it by calling ieee80211_start_tx_ba_cb_irqsafe, because the peer might receive the addBA frame and send a delBA right away! </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk02pt02ch16s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="aggregation.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="smps.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">RX A-MPDU aggregation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 17. Spatial Multiplexing Powersave (SMPS)</td></tr></table></div></body></html>