1STRUCT STA_AMPDU_MLM(9)            Internals           STRUCT STA_AMPDU_MLM(9)
2
3
4

NAME

6       struct_sta_ampdu_mlme - STA aggregation information.
7

SYNOPSIS

9       struct sta_ampdu_mlme {
10         struct mutex mtx;
11         struct tid_ampdu_rx __rcu * tid_rx[IEEE80211_NUM_TIDS];
12         u8 tid_rx_token[IEEE80211_NUM_TIDS];
13         unsigned long tid_rx_timer_expired[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
14         unsigned long tid_rx_stop_requested[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
15         unsigned long tid_rx_manage_offl[BITS_TO_LONGS(2  *IEEE80211_NUM_TIDS)];
16         unsigned long agg_session_valid[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
17         unsigned long unexpected_agg[BITS_TO_LONGS(IEEE80211_NUM_TIDS)];
18         struct work_struct work;
19         struct tid_ampdu_tx __rcu * tid_tx[IEEE80211_NUM_TIDS];
20         struct tid_ampdu_tx * tid_start_tx[IEEE80211_NUM_TIDS];
21         unsigned long last_addba_req_time[IEEE80211_NUM_TIDS];
22         u8 addba_req_num[IEEE80211_NUM_TIDS];
23         u8 dialog_token_allocator;
24       };
25

MEMBERS

27       mtx
28           mutex to protect all TX data (except non-NULL assignments to
29           tid_tx[idx], which are protected by the sta spinlock) tid_start_tx
30           is also protected by sta->lock.
31
32       tid_rx[IEEE80211_NUM_TIDS]
33           aggregation info for Rx per TID -- RCU protected
34
35       tid_rx_token[IEEE80211_NUM_TIDS]
36           dialog tokens for valid aggregation sessions
37
38       tid_rx_timer_expired[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]
39           bitmap indicating on which TIDs the RX timer expired until the work
40           for it runs
41
42       tid_rx_stop_requested[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]
43           bitmap indicating which BA sessions per TID the driver requested to
44           close until the work for it runs
45
46       tid_rx_manage_offl[BITS_TO_LONGS(2 *IEEE80211_NUM_TIDS)]
47           bitmap indicating which BA sessions were requested to be treated as
48           started/stopped due to offloading
49
50       agg_session_valid[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]
51           bitmap indicating which TID has a rx BA session open on
52
53       unexpected_agg[BITS_TO_LONGS(IEEE80211_NUM_TIDS)]
54           bitmap indicating which TID already sent a delBA due to unexpected
55           aggregation related frames outside a session
56
57       work
58           work struct for starting/stopping aggregation
59
60       tid_tx[IEEE80211_NUM_TIDS]
61           aggregation info for Tx per TID
62
63       tid_start_tx[IEEE80211_NUM_TIDS]
64           sessions where start was requested
65
66       last_addba_req_time[IEEE80211_NUM_TIDS]
67           timestamp of the last addBA request.
68
69       addba_req_num[IEEE80211_NUM_TIDS]
70           number of times addBA request has been sent.
71
72       dialog_token_allocator
73           dialog token enumerator for each new session;
74

AUTHOR

76       Johannes Berg <johannes@sipsolutions.net>
77           Author.
78
80Kernel Hackers Manual 3.10         June 2019           STRUCT STA_AMPDU_MLM(9)
Impressum