Scroll to navigation

ENUM IEEE80211_AMPDU(9) Advanced driver interface ENUM IEEE80211_AMPDU(9)

NAME

enum_ieee80211_ampdu_mlme_action - A-MPDU actions

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 <johannes@sipsolutions.net>
Author.

COPYRIGHT

January 2017 Kernel Hackers Manual 4.8.