sta_info.h (28f49d8fec19833672a6a813bfde0068fee50bc9) sta_info.h (6ef307bc561911c8cdda98ef3896b5982b602a43)
1/*
2 * Copyright 2002-2005, Devicescape Software, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8

--- 146 unchanged lines hidden (view full) ---

155 * struct sta_info - STA information
156 *
157 * This structure collects information about a station that
158 * mac80211 is communicating with.
159 *
160 * @list: global linked list entry
161 * @hnext: hash table linked list pointer
162 * @local: pointer to the global information
1/*
2 * Copyright 2002-2005, Devicescape Software, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8

--- 146 unchanged lines hidden (view full) ---

155 * struct sta_info - STA information
156 *
157 * This structure collects information about a station that
158 * mac80211 is communicating with.
159 *
160 * @list: global linked list entry
161 * @hnext: hash table linked list pointer
162 * @local: pointer to the global information
163 * @sdata: TBD
164 * @key: TBD
165 * @rate_ctrl: TBD
166 * @rate_ctrl_priv: TBD
167 * @lock: used for locking all fields that require locking, see comments
168 * in the header file.
169 * @flaglock: spinlock for flags accesses
170 * @ht_info: HT capabilities of this STA
171 * @supp_rates: Bitmap of supported rates (per band)
163 * @addr: MAC address of this STA
164 * @aid: STA's unique AID (1..2007, 0 = not assigned yet),
165 * only used in AP (and IBSS?) mode
172 * @addr: MAC address of this STA
173 * @aid: STA's unique AID (1..2007, 0 = not assigned yet),
174 * only used in AP (and IBSS?) mode
175 * @listen_interval: TBD
176 * @pin_status: TBD
166 * @flags: STA flags, see &enum ieee80211_sta_info_flags
177 * @flags: STA flags, see &enum ieee80211_sta_info_flags
167 * @flaglock: spinlock for flags accesses
168 * @ps_tx_buf: buffer of frames to transmit to this station
169 * when it leaves power saving state
170 * @tx_filtered: buffer of frames we already tried to transmit
171 * but were filtered by hardware due to STA having entered
172 * power saving state
173 * @rx_packets: Number of MSDUs received from this STA
174 * @rx_bytes: Number of bytes received from this STA
178 * @ps_tx_buf: buffer of frames to transmit to this station
179 * when it leaves power saving state
180 * @tx_filtered: buffer of frames we already tried to transmit
181 * but were filtered by hardware due to STA having entered
182 * power saving state
183 * @rx_packets: Number of MSDUs received from this STA
184 * @rx_bytes: Number of bytes received from this STA
175 * @supp_rates: Bitmap of supported rates (per band)
176 * @ht_info: HT capabilities of this STA
177 * @lock: used for locking all fields that require locking, see comments
178 * in the header file.
185 * @wep_weak_iv_count: TBD
186 * @last_rx: TBD
187 * @num_duplicates: number of duplicate frames received from this STA
188 * @rx_fragments: number of received MPDUs
189 * @rx_dropped: number of dropped MPDUs from this STA
190 * @last_signal: signal of last received frame from this STA
191 * @last_qual: qual of last received frame from this STA
192 * @last_noise: noise of last received frame from this STA
193 * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue)
194 * @wme_rx_queue: TBD
195 * @tx_filtered_count: TBD
196 * @tx_retry_failed: TBD
197 * @tx_retry_count: TBD
198 * @tx_num_consecutive_failures: TBD
199 * @tx_num_mpdu_ok: TBD
200 * @tx_num_mpdu_fail: TBD
201 * @fail_avg: moving percentage of failed MSDUs
202 * @tx_packets: number of RX/TX MSDUs
203 * @tx_bytes: TBD
204 * @tx_fragments: number of transmitted MPDUs
205 * @txrate_idx: TBD
206 * @last_txrate_idx: TBD
207 * @wme_tx_queue: TBD
208 * @ampdu_mlme: TBD
209 * @timer_to_tid: identity mapping to ID timers
210 * @tid_to_tx_q: map tid to tx queue
211 * @llid: Local link ID
212 * @plid: Peer link ID
213 * @reason: Cancel reason on PLINK_HOLDING state
214 * @plink_retries: Retries in establishment
215 * @ignore_plink_timer: TBD
216 * @plink_state plink_state: TBD
217 * @plink_timeout: TBD
218 * @plink_timer: TBD
219 * @debugfs: debug filesystem info
179 */
180struct sta_info {
181 /* General information, mostly static */
182 struct list_head list;
183 struct sta_info *hnext;
184 struct ieee80211_local *local;
185 struct ieee80211_sub_if_data *sdata;
186 struct ieee80211_key *key;

--- 25 unchanged lines hidden (view full) ---

212 */
213 struct sk_buff_head ps_tx_buf;
214 struct sk_buff_head tx_filtered;
215
216 /* Updated from RX path only, no locking requirements */
217 unsigned long rx_packets, rx_bytes;
218 unsigned long wep_weak_iv_count;
219 unsigned long last_rx;
220 */
221struct sta_info {
222 /* General information, mostly static */
223 struct list_head list;
224 struct sta_info *hnext;
225 struct ieee80211_local *local;
226 struct ieee80211_sub_if_data *sdata;
227 struct ieee80211_key *key;

--- 25 unchanged lines hidden (view full) ---

253 */
254 struct sk_buff_head ps_tx_buf;
255 struct sk_buff_head tx_filtered;
256
257 /* Updated from RX path only, no locking requirements */
258 unsigned long rx_packets, rx_bytes;
259 unsigned long wep_weak_iv_count;
260 unsigned long last_rx;
220 unsigned long num_duplicates; /* number of duplicate frames received
221 * from this STA */
222 unsigned long rx_fragments; /* number of received MPDUs */
223 unsigned long rx_dropped; /* number of dropped MPDUs from this STA */
224 int last_signal; /* signal of last received frame from this STA */
225 int last_qual; /* qual of last received frame from this STA */
226 int last_noise; /* noise of last received frame from this STA */
227 /* last received seq/frag number from this STA (per RX queue) */
261 unsigned long num_duplicates;
262 unsigned long rx_fragments;
263 unsigned long rx_dropped;
264 int last_signal;
265 int last_qual;
266 int last_noise;
228 __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES];
229#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
230 unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES];
231#endif
232
233 /* Updated from TX status path only, no locking requirements */
234 unsigned long tx_filtered_count;
235 unsigned long tx_retry_failed, tx_retry_count;
236 /* TODO: update in generic code not rate control? */
237 u32 tx_num_consecutive_failures;
238 u32 tx_num_mpdu_ok;
239 u32 tx_num_mpdu_fail;
240 /* moving percentage of failed MSDUs */
241 unsigned int fail_avg;
242
243 /* Updated from TX path only, no locking requirements */
267 __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES];
268#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
269 unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES];
270#endif
271
272 /* Updated from TX status path only, no locking requirements */
273 unsigned long tx_filtered_count;
274 unsigned long tx_retry_failed, tx_retry_count;
275 /* TODO: update in generic code not rate control? */
276 u32 tx_num_consecutive_failures;
277 u32 tx_num_mpdu_ok;
278 u32 tx_num_mpdu_fail;
279 /* moving percentage of failed MSDUs */
280 unsigned int fail_avg;
281
282 /* Updated from TX path only, no locking requirements */
244 unsigned long tx_packets; /* number of RX/TX MSDUs */
283 unsigned long tx_packets;
245 unsigned long tx_bytes;
284 unsigned long tx_bytes;
246 unsigned long tx_fragments; /* number of transmitted MPDUs */
285 unsigned long tx_fragments;
247 int txrate_idx;
248 int last_txrate_idx;
249#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
250 unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES];
251#endif
252
253 /*
254 * Aggregation information, locked with lock.
255 */
256 struct sta_ampdu_mlme ampdu_mlme;
286 int txrate_idx;
287 int last_txrate_idx;
288#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
289 unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES];
290#endif
291
292 /*
293 * Aggregation information, locked with lock.
294 */
295 struct sta_ampdu_mlme ampdu_mlme;
257 u8 timer_to_tid[STA_TID_NUM]; /* identity mapping to ID timers */
258 u8 tid_to_tx_q[STA_TID_NUM]; /* map tid to tx queue */
296 u8 timer_to_tid[STA_TID_NUM];
297 u8 tid_to_tx_q[STA_TID_NUM];
259
260#ifdef CONFIG_MAC80211_MESH
261 /*
262 * Mesh peer link attributes
263 * TODO: move to a sub-structure that is referenced with pointer?
264 */
298
299#ifdef CONFIG_MAC80211_MESH
300 /*
301 * Mesh peer link attributes
302 * TODO: move to a sub-structure that is referenced with pointer?
303 */
265 __le16 llid; /* Local link ID */
266 __le16 plid; /* Peer link ID */
267 __le16 reason; /* Cancel reason on PLINK_HOLDING state */
268 u8 plink_retries; /* Retries in establishment */
304 __le16 llid;
305 __le16 plid;
306 __le16 reason;
307 u8 plink_retries;
269 bool ignore_plink_timer;
270 enum plink_state plink_state;
271 u32 plink_timeout;
272 struct timer_list plink_timer;
273#endif
274
275#ifdef CONFIG_MAC80211_DEBUGFS
276 struct sta_info_debugfsdentries {

--- 151 unchanged lines hidden ---
308 bool ignore_plink_timer;
309 enum plink_state plink_state;
310 u32 plink_timeout;
311 struct timer_list plink_timer;
312#endif
313
314#ifdef CONFIG_MAC80211_DEBUGFS
315 struct sta_info_debugfsdentries {

--- 151 unchanged lines hidden ---