Scroll to navigation

STRUCT IEEE80211_STA(9) Advanced driver interface STRUCT IEEE80211_STA(9)

NAME

struct_ieee80211_sta - station table entry

SYNOPSIS

struct ieee80211_sta {

u32 supp_rates[NUM_NL80211_BANDS];
u8 addr[ETH_ALEN];
u16 aid;
struct ieee80211_sta_ht_cap ht_cap;
struct ieee80211_sta_vht_cap vht_cap;
struct ieee80211_sta_he_cap he_cap;
u16 max_rx_aggregation_subframes;
bool wme;
u8 uapsd_queues;
u8 max_sp;
u8 rx_nss;
enum ieee80211_sta_rx_bandwidth bandwidth;
enum ieee80211_smps_mode smps_mode;
struct ieee80211_sta_rates __rcu * rates;
bool tdls;
bool tdls_initiator;
bool mfp;
u8 max_amsdu_subframes;
bool support_p2p_ps;
u16 max_rc_amsdu_len;
u16 max_tid_amsdu_len[IEEE80211_NUM_TIDS];
struct ieee80211_txq * txq[IEEE80211_NUM_TIDS + 1];
u8 drv_priv[0]; };

MEMBERS

supp_rates[NUM_NL80211_BANDS]

Bitmap of supported rates (per band)

addr[ETH_ALEN]

MAC address

aid

AID we assigned to the station if we're an AP

ht_cap

HT capabilities of this STA; restricted to our own capabilities

vht_cap

VHT capabilities of this STA; restricted to our own capabilities

he_cap

HE capabilities of this STA

max_rx_aggregation_subframes

maximal amount of frames in a single AMPDU that this station is allowed to transmit to us. Can be modified by driver.

wme

indicates whether the STA supports QoS/WME (if local devices does, otherwise always false)

uapsd_queues

bitmap of queues configured for uapsd. Only valid if wme is supported. The bits order is like in IEEE80211_WMM_IE_STA_QOSINFO_AC_*.

max_sp

max Service Period. Only valid if wme is supported.

rx_nss

in HT/VHT, the maximum number of spatial streams the station can receive at the moment, changed by operating mode notifications and capabilities. The value is only valid after the station moves to associated state.

bandwidth

current bandwidth the station can receive with

smps_mode

current SMPS mode (off, static or dynamic)

rates

rate control selection table

tdls

indicates whether the STA is a TDLS peer

tdls_initiator

indicates the STA is an initiator of the TDLS link. Only valid if the STA is a TDLS peer in the first place.

mfp

indicates whether the STA uses management frame protection or not.

max_amsdu_subframes

indicates the maximal number of MSDUs in a single A-MSDU. Taken from the Extended Capabilities element. 0 means unlimited.

support_p2p_ps

indicates whether the STA supports P2P PS mechanism or not.

max_rc_amsdu_len

Maximum A-MSDU size in bytes recommended by rate control.

max_tid_amsdu_len[IEEE80211_NUM_TIDS]

Maximum A-MSDU size in bytes for this TID

txq[IEEE80211_NUM_TIDS + 1]

per-TID data TX queues (if driver uses the TXQ abstraction); note that the last entry (IEEE80211_NUM_TIDS) is used for non-data frames

drv_priv[0]

data area for driver use, will always be aligned to sizeof(void \*), size is determined in hw information.

DESCRIPTION

A station table entry represents a station we are possibly communicating with. Since stations are RCU-managed in mac80211, any ieee80211_sta pointer you get access to must either be protected by rcu_read_lock explicitly or implicitly, or you must take good care to not use such a pointer after a call to your sta_remove callback that removed it.

AUTHOR

Johannes Berg <johannes@sipsolutions.net>

Author.

COPYRIGHT

June 2023 Kernel Hackers Manual 3.10