STRUCT
STA_INFO(9) Internals STRUCT STA_INFO(9)
NAME
struct_sta_info - STA information
SYNOPSIS
struct sta_info {
struct list_head list;
struct sta_info * hnext;
struct ieee80211_local * local;
struct ieee80211_sub_if_data * sdata;
struct ieee80211_key * key;
struct rate_control_ref * rate_ctrl;
void * rate_ctrl_priv;
spinlock_t lock;
spinlock_t flaglock;
struct work_struct drv_unblock_wk;
u16 listen_interval;
bool dead;
bool uploaded;
u32 flags;
struct sk_buff_head ps_tx_buf;
struct sk_buff_head tx_filtered;
unsigned long rx_packets;
unsigned long rx_bytes;
unsigned long wep_weak_iv_count;
unsigned long last_rx;
unsigned long num_duplicates;
unsigned long rx_fragments;
unsigned long rx_dropped;
int last_signal;
int last_noise;
__le16 last_seq_ctrl[NUM_RX_DATA_QUEUES];
unsigned long tx_filtered_count;
unsigned long tx_retry_failed;
unsigned long tx_retry_count;
unsigned int fail_avg;
unsigned long tx_packets;
unsigned long tx_bytes;
unsigned long tx_fragments;
struct ieee80211_tx_rate last_tx_rate;
u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1];
struct sta_ampdu_mlme ampdu_mlme;
u8 timer_to_tid[STA_TID_NUM];
#ifdef CONFIG_MAC80211_MESH
__le16 llid;
__le16 plid;
__le16 reason;
u8 plink_retries;
bool ignore_plink_timer;
bool plink_timer_was_running;
enum plink_state plink_state;
u32 plink_timeout;
struct timer_list plink_timer;
#endif
#ifdef CONFIG_MAC80211_DEBUGFS
struct sta_info_debugfsdentries debugfs;
#endif
struct ieee80211_sta sta;
};
MEMBERS
list
global linked list entry
hnext
hash table linked list pointer
local
pointer to the global information
sdata
virtual interface this station belongs to
key
peer key negotiated with this station, if any
rate_ctrl
rate control algorithm reference
rate_ctrl_priv
rate control private per-STA pointer
lock
used for locking all fields that require locking, see comments in the header file.
flaglock
spinlock for flags accesses
drv_unblock_wk
used for driver PS unblocking
listen_interval
listen interval of this station, when we're acting as AP
dead
set to true when sta is unlinked
uploaded
set to true when sta is uploaded to the driver
flags
STA flags, see enum ieee80211_sta_info_flags
ps_tx_buf
buffer of frames to transmit to this station when it leaves power saving state
tx_filtered
buffer of frames we already tried to transmit but were filtered by hardware due to STA having entered power saving state
rx_packets
Number of MSDUs received from this STA
rx_bytes
Number of bytes received from this STA
wep_weak_iv_count
number of weak WEP IVs received from this station
last_rx
time (in jiffies) when last frame was received from this STA
num_duplicates
number of duplicate frames received from this STA
rx_fragments
number of received MPDUs
rx_dropped
number of dropped MPDUs from this STA
last_signal
signal of last received frame from this STA
last_noise
noise of last received frame from this STA
last_seq_ctrl[NUM_RX_DATA_QUEUES]
last received seq/frag number from this STA (per RX queue)
tx_filtered_count
number of frames the hardware filtered for this STA
tx_retry_failed
number of frames that failed retry
tx_retry_count
total number of retries for frames to this STA
fail_avg
moving percentage of failed MSDUs
tx_packets
number of RX/TX MSDUs
tx_bytes
number of bytes transmitted to this STA
tx_fragments
number of transmitted MPDUs
last_tx_rate
rate used for last transmit, to report to userspace as "the" transmit rate
tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]
per-TID sequence numbers for sending to this STA
ampdu_mlme
A-MPDU state machine state
timer_to_tid[STA_TID_NUM]
identity mapping to ID timers
llid
Local link ID
plid
Peer link ID
reason
Cancel reason on PLINK_HOLDING state
plink_retries
Retries in establishment
ignore_plink_timer
ignore the peer-link timer (used internally)
plink_timer_was_running
used by suspend/resume to restore timers
plink_state
peer link state
plink_timeout
timeout of peer link
plink_timer
peer link watch timer
debugfs
debug filesystem info
sta
station information we share with the driver
DESCRIPTION
This structure collects information about a station that mac80211 is communicating with.
AUTHOR
Johannes Berg <johannes@sipsolutions.net>
Author.
COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 STRUCT STA_INFO(9)