STRUCT STA_INFO

Section: Internals (9)
Updated: February 2011
Index Return to Main Contents
 

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 * gtk[NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS];
  struct ieee80211_key * ptk;
  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;
  __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

gtk[NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS]

group keys negotiated with this station, if any

ptk

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_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 lqtherq 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