SYNOPSIS

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
};

CONSTANTS

IEEE80211_AMPDU_RX_START

start RX aggregation

IEEE80211_AMPDU_RX_STOP

stop RX aggregation

IEEE80211_AMPDU_TX_START

start TX aggregation

IEEE80211_AMPDU_TX_STOP_CONT

stop TX aggregation but continue transmitting queued packets, now unaggregated. After all packets are transmitted the driver has to call ieee80211_stop_tx_ba_cb_irqsafe.

IEEE80211_AMPDU_TX_STOP_FLUSH

stop TX aggregation and flush all packets, called when the station is removed. There's no need or reason to call ieee80211_stop_tx_ba_cb_irqsafe in this case as mac80211 assumes the session is gone and removes the station.

IEEE80211_AMPDU_TX_STOP_FLUSH_CONT

called when TX aggregation is stopped but the driver hasn't called ieee80211_stop_tx_ba_cb_irqsafe 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.

IEEE80211_AMPDU_TX_OPERATIONAL

TX aggregation has become operational

DESCRIPTION

These flags are used with the ampdu_action callback in struct ieee80211_ops to indicate which action is needed.

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!

AUTHOR

Johannes Berg <[email protected]>

Author.

COPYRIGHT