1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>struct sta_info</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers"><link rel="up" href="sta-info.html#id-1.3.6.6.2" title="Programming information"><link rel="prev" href="sta-info.html" title="Chapter 22. Station info handling"><link rel="next" href="API-enum-ieee80211-sta-info-flags.html" title="enum ieee80211_sta_info_flags"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">struct sta_info</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="sta-info.html">Prev</a> </td><th width="60%" align="center">Programming information</th><td width="20%" align="right"> <a accesskey="n" href="API-enum-ieee80211-sta-info-flags.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-struct-sta-info"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct sta_info — 
2  STA information
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting">
4struct sta_info {
5  struct list_head list;
6  struct list_head free_list;
7  struct rcu_head rcu_head;
8  struct rhash_head hash_node;
9  u8 addr[ETH_ALEN];
10  struct ieee80211_local * local;
11  struct ieee80211_sub_if_data * sdata;
12  struct ieee80211_key __rcu * gtk[NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS];
13  struct ieee80211_key __rcu * ptk[NUM_DEFAULT_KEYS];
14  u8 ptk_idx;
15  struct rate_control_ref * rate_ctrl;
16  void * rate_ctrl_priv;
17  spinlock_t rate_ctrl_lock;
18  spinlock_t lock;
19  struct ieee80211_fast_tx __rcu * fast_tx;
20#ifdef CONFIG_MAC80211_MESH
21  struct mesh_sta * mesh;
22#endif
23  struct work_struct drv_deliver_wk;
24  u16 listen_interval;
25  bool dead;
26  bool uploaded;
27  enum ieee80211_sta_state sta_state;
28  unsigned long _flags;
29  spinlock_t ps_lock;
30  struct sk_buff_head ps_tx_buf[IEEE80211_NUM_ACS];
31  struct sk_buff_head tx_filtered[IEEE80211_NUM_ACS];
32  unsigned long driver_buffered_tids;
33  unsigned long txq_buffered_tids;
34  long last_connected;
35  struct debugfs;
36#endif
37  enum ieee80211_sta_rx_bandwidth cur_max_bandwidth;
38  enum ieee80211_smps_mode known_smps_mode;
39  const struct ieee80211_cipher_scheme * cipher_scheme;
40  u8 reserved_tid;
41  struct cfg80211_chan_def tdls_chandef;
42  struct ieee80211_sta sta;
43};  </pre></div><div class="refsect1"><a name="id-1.3.6.6.2.2.5"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">list</span></dt><dd><p>
44global linked list entry
45      </p></dd><dt><span class="term">free_list</span></dt><dd><p>
46list entry for keeping track of stations to free
47      </p></dd><dt><span class="term">rcu_head</span></dt><dd><p>
48RCU head used for freeing this station struct
49      </p></dd><dt><span class="term">hash_node</span></dt><dd><p>
50hash node for rhashtable
51      </p></dd><dt><span class="term">addr[ETH_ALEN]</span></dt><dd><p>
52station's MAC address - duplicated from public part to
53let the hash table work with just a single cacheline
54      </p></dd><dt><span class="term">local</span></dt><dd><p>
55pointer to the global information
56      </p></dd><dt><span class="term">sdata</span></dt><dd><p>
57virtual interface this station belongs to
58      </p></dd><dt><span class="term">gtk[NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS]</span></dt><dd><p>
59group keys negotiated with this station, if any
60      </p></dd><dt><span class="term">ptk[NUM_DEFAULT_KEYS]</span></dt><dd><p>
61peer keys negotiated with this station, if any
62      </p></dd><dt><span class="term">ptk_idx</span></dt><dd><p>
63last installed peer key index
64      </p></dd><dt><span class="term">rate_ctrl</span></dt><dd><p>
65rate control algorithm reference
66      </p></dd><dt><span class="term">rate_ctrl_priv</span></dt><dd><p>
67rate control private per-STA pointer
68      </p></dd><dt><span class="term">rate_ctrl_lock</span></dt><dd><p>
69spinlock used to protect rate control data
70(data inside the algorithm, so serializes calls there)
71      </p></dd><dt><span class="term">lock</span></dt><dd><p>
72used for locking all fields that require locking, see comments
73in the header file.
74      </p></dd><dt><span class="term">fast_tx</span></dt><dd><p>
75TX fastpath information
76      </p></dd><dt><span class="term">mesh</span></dt><dd><p>
77mesh STA information
78      </p></dd><dt><span class="term">drv_deliver_wk</span></dt><dd><p>
79used for delivering frames after driver PS unblocking
80      </p></dd><dt><span class="term">listen_interval</span></dt><dd><p>
81listen interval of this station, when we're acting as AP
82      </p></dd><dt><span class="term">dead</span></dt><dd><p>
83set to true when sta is unlinked
84      </p></dd><dt><span class="term">uploaded</span></dt><dd><p>
85set to true when sta is uploaded to the driver
86      </p></dd><dt><span class="term">sta_state</span></dt><dd><p>
87duplicates information about station state (for debug)
88      </p></dd><dt><span class="term">_flags</span></dt><dd><p>
89STA flags, see <span class="structname">enum</span> ieee80211_sta_info_flags, do not use directly
90      </p></dd><dt><span class="term">ps_lock</span></dt><dd><p>
91used for powersave (when mac80211 is the AP) related locking
92      </p></dd><dt><span class="term">ps_tx_buf[IEEE80211_NUM_ACS]</span></dt><dd><p>
93buffers (per AC) of frames to transmit to this station
94when it leaves power saving state or polls
95      </p></dd><dt><span class="term">tx_filtered[IEEE80211_NUM_ACS]</span></dt><dd><p>
96buffers (per AC) of frames we already tried to
97transmit but were filtered by hardware due to STA having
98entered power saving state, these are also delivered to
99the station when it leaves powersave or polls for frames
100      </p></dd><dt><span class="term">driver_buffered_tids</span></dt><dd><p>
101bitmap of TIDs the driver has data buffered on
102      </p></dd><dt><span class="term">txq_buffered_tids</span></dt><dd><p>
103bitmap of TIDs that mac80211 has txq data buffered on
104      </p></dd><dt><span class="term">last_connected</span></dt><dd><p>
105time (in seconds) when a station got connected
106      </p></dd><dt><span class="term">debugfs</span></dt><dd><p>
107debug filesystem info
108      </p></dd><dt><span class="term">cur_max_bandwidth</span></dt><dd><p>
109maximum bandwidth to use for TX to the station,
110taken from HT/VHT capabilities or VHT operating mode notification
111      </p></dd><dt><span class="term">known_smps_mode</span></dt><dd><p>
112the smps_mode the client thinks we are in. Relevant for
113AP only.
114      </p></dd><dt><span class="term">cipher_scheme</span></dt><dd><p>
115optional cipher scheme for this station
116      </p></dd><dt><span class="term">reserved_tid</span></dt><dd><p>
117reserved TID (if any, otherwise IEEE80211_TID_UNRESERVED)
118      </p></dd><dt><span class="term">tdls_chandef</span></dt><dd><p>
119a TDLS peer can have a wider chandef that is compatible to
120the BSS one.
121      </p></dd><dt><span class="term">sta</span></dt><dd><p>
122station information we share with the driver
123      </p></dd></dl></div></div><div class="refsect1"><a name="id-1.3.6.6.2.2.6"></a><h2>Description</h2><p>
124   </p><p>
125
126   This structure collects information about a station that
127   mac80211 is communicating with.
128</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="sta-info.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="sta-info.html#id-1.3.6.6.2">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-enum-ieee80211-sta-info-flags.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 22. Station info handling </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">enum ieee80211_sta_info_flags</span></td></tr></table></div></body></html>
129