1STRUCT STA_INFO(9) Internals STRUCT STA_INFO(9)
2
3
4
6 struct_sta_info - STA information
7
9 struct sta_info {
10 struct list_head list;
11 struct sta_info * hnext;
12 struct ieee80211_local * local;
13 struct ieee80211_sub_if_data * sdata;
14 struct ieee80211_key * key;
15 struct rate_control_ref * rate_ctrl;
16 void * rate_ctrl_priv;
17 spinlock_t lock;
18 spinlock_t flaglock;
19 struct work_struct drv_unblock_wk;
20 u16 listen_interval;
21 bool dead;
22 bool uploaded;
23 u32 flags;
24 struct sk_buff_head ps_tx_buf;
25 struct sk_buff_head tx_filtered;
26 unsigned long rx_packets;
27 unsigned long rx_bytes;
28 unsigned long wep_weak_iv_count;
29 unsigned long last_rx;
30 unsigned long num_duplicates;
31 unsigned long rx_fragments;
32 unsigned long rx_dropped;
33 int last_signal;
34 __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES];
35 unsigned long tx_filtered_count;
36 unsigned long tx_retry_failed;
37 unsigned long tx_retry_count;
38 unsigned int fail_avg;
39 unsigned long tx_packets;
40 unsigned long tx_bytes;
41 unsigned long tx_fragments;
42 struct ieee80211_tx_rate last_tx_rate;
43 u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1];
44 struct sta_ampdu_mlme ampdu_mlme;
45 u8 timer_to_tid[STA_TID_NUM];
46 #ifdef CONFIG_MAC80211_MESH
47 __le16 llid;
48 __le16 plid;
49 __le16 reason;
50 u8 plink_retries;
51 bool ignore_plink_timer;
52 bool plink_timer_was_running;
53 enum plink_state plink_state;
54 u32 plink_timeout;
55 struct timer_list plink_timer;
56 #endif
57 #ifdef CONFIG_MAC80211_DEBUGFS
58 struct sta_info_debugfsdentries debugfs;
59 #endif
60 struct ieee80211_sta sta;
61 };
62
64 list
65 global linked list entry
66
67 hnext
68 hash table linked list pointer
69
70 local
71 pointer to the global information
72
73 sdata
74 virtual interface this station belongs to
75
76 key
77 peer key negotiated with this station, if any
78
79 rate_ctrl
80 rate control algorithm reference
81
82 rate_ctrl_priv
83 rate control private per-STA pointer
84
85 lock
86 used for locking all fields that require locking, see comments in
87 the header file.
88
89 flaglock
90 spinlock for flags accesses
91
92 drv_unblock_wk
93 used for driver PS unblocking
94
95 listen_interval
96 listen interval of this station, when we're acting as AP
97
98 dead
99 set to true when sta is unlinked
100
101 uploaded
102 set to true when sta is uploaded to the driver
103
104 flags
105 STA flags, see enum ieee80211_sta_info_flags
106
107 ps_tx_buf
108 buffer of frames to transmit to this station when it leaves power
109 saving state
110
111 tx_filtered
112 buffer of frames we already tried to transmit but were filtered by
113 hardware due to STA having entered power saving state
114
115 rx_packets
116 Number of MSDUs received from this STA
117
118 rx_bytes
119 Number of bytes received from this STA
120
121 wep_weak_iv_count
122 number of weak WEP IVs received from this station
123
124 last_rx
125 time (in jiffies) when last frame was received from this STA
126
127 num_duplicates
128 number of duplicate frames received from this STA
129
130 rx_fragments
131 number of received MPDUs
132
133 rx_dropped
134 number of dropped MPDUs from this STA
135
136 last_signal
137 signal of last received frame from this STA
138
139 last_seq_ctrl[NUM_RX_DATA_QUEUES]
140 last received seq/frag number from this STA (per RX queue)
141
142 tx_filtered_count
143 number of frames the hardware filtered for this STA
144
145 tx_retry_failed
146 number of frames that failed retry
147
148 tx_retry_count
149 total number of retries for frames to this STA
150
151 fail_avg
152 moving percentage of failed MSDUs
153
154 tx_packets
155 number of RX/TX MSDUs
156
157 tx_bytes
158 number of bytes transmitted to this STA
159
160 tx_fragments
161 number of transmitted MPDUs
162
163 last_tx_rate
164 rate used for last transmit, to report to userspace as “the”
165 transmit rate
166
167 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]
168 per-TID sequence numbers for sending to this STA
169
170 ampdu_mlme
171 A-MPDU state machine state
172
173 timer_to_tid[STA_TID_NUM]
174 identity mapping to ID timers
175
176 llid
177 Local link ID
178
179 plid
180 Peer link ID
181
182 reason
183 Cancel reason on PLINK_HOLDING state
184
185 plink_retries
186 Retries in establishment
187
188 ignore_plink_timer
189 ignore the peer-link timer (used internally)
190
191 plink_timer_was_running
192 used by suspend/resume to restore timers
193
194 plink_state
195 peer link state
196
197 plink_timeout
198 timeout of peer link
199
200 plink_timer
201 peer link watch timer
202
203 debugfs
204 debug filesystem info
205
206 sta
207 station information we share with the driver
208
210 This structure collects information about a station that mac80211 is
211 communicating with.
212
214 Johannes Berg <johannes@sipsolutions.net>
215 Author.
216
218Kernel Hackers Manual 2.6. November 2011 STRUCT STA_INFO(9)