Scroll to navigation

STRUCT STA_AMPDU_MLM(9) Internals STRUCT STA_AMPDU_MLM(9)

NAME

struct_sta_ampdu_mlme - STA aggregation information.

SYNOPSIS

struct sta_ampdu_mlme {

struct mutex mtx;
struct tid_ampdu_rx __rcu * tid_rx[IEEE80211_NUM_TIDS];
u8 tid_rx_token[IEEE80211_NUM_TIDS];
unsigned long tid_rx_timer_expired[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
unsigned long tid_rx_stop_requested[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
unsigned long tid_rx_manage_offl[BITS_TO_LONGS(2 *IEEE80211_NUM_TIDS)];
unsigned long agg_session_valid[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
unsigned long unexpected_agg[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
struct work_struct work;
struct tid_ampdu_tx __rcu * tid_tx[IEEE80211_NUM_TIDS];
struct tid_ampdu_tx * tid_start_tx[IEEE80211_NUM_TIDS];
unsigned long last_addba_req_time[IEEE80211_NUM_TIDS];
u8 addba_req_num[IEEE80211_NUM_TIDS];
u8 dialog_token_allocator; };

MEMBERS

mtx

mutex to protect all TX data (except non-NULL assignments to tid_tx[idx], which are protected by the sta spinlock) tid_start_tx is also protected by sta->lock.

tid_rx[IEEE80211_NUM_TIDS]

aggregation info for Rx per TID -- RCU protected

tid_rx_token[IEEE80211_NUM_TIDS]

dialog tokens for valid aggregation sessions

tid_rx_timer_expired[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]

bitmap indicating on which TIDs the RX timer expired until the work for it runs

tid_rx_stop_requested[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]

bitmap indicating which BA sessions per TID the driver requested to close until the work for it runs

tid_rx_manage_offl[BITS_TO_LONGS(2 *IEEE80211_NUM_TIDS)]

bitmap indicating which BA sessions were requested to be treated as started/stopped due to offloading

agg_session_valid[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]

bitmap indicating which TID has a rx BA session open on

unexpected_agg[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]

bitmap indicating which TID already sent a delBA due to unexpected aggregation related frames outside a session

work

work struct for starting/stopping aggregation

tid_tx[IEEE80211_NUM_TIDS]

aggregation info for Tx per TID

tid_start_tx[IEEE80211_NUM_TIDS]

sessions where start was requested

last_addba_req_time[IEEE80211_NUM_TIDS]

timestamp of the last addBA request.

addba_req_num[IEEE80211_NUM_TIDS]

number of times addBA request has been sent.

dialog_token_allocator

dialog token enumerator for each new session;

AUTHOR

Johannes Berg <johannes@sipsolutions.net>

Author.

COPYRIGHT

June 2023 Kernel Hackers Manual 3.10