ENUM IEEE80211_STA_INFO_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

enum ieee80211_sta_info_flags β€” the station flags enum, bestie πŸ’– (also known as the Kernel API Manual, in case you were wondering which manual you were reading πŸŽ€)


✨ SYNOPSIS ✨

enum ieee80211_sta_info_flags {
    WLAN_STA_AUTH ,
    WLAN_STA_ASSOC ,
    WLAN_STA_PS_STA ,
    WLAN_STA_AUTHORIZED ,
    WLAN_STA_SHORT_PREAMBLE ,
    WLAN_STA_WDS ,
    WLAN_STA_CLEAR_PS_FILT ,
    WLAN_STA_MFP ,
    WLAN_STA_BLOCK_BA ,
    WLAN_STA_PS_DRIVER ,
    WLAN_STA_PSPOLL ,
    WLAN_STA_TDLS_PEER ,
    WLAN_STA_TDLS_PEER_AUTH ,
    WLAN_STA_TDLS_INITIATOR ,
    WLAN_STA_TDLS_CHAN_SWITCH ,
    WLAN_STA_TDLS_OFF_CHANNEL ,
    WLAN_STA_TDLS_WIDER_BW ,
    WLAN_STA_UAPSD ,
    WLAN_STA_SP ,
    WLAN_STA_4ADDR_EVENT ,
    WLAN_STA_INSERTED ,
    WLAN_STA_RATE_CONTROL ,
    WLAN_STA_TOFFSET_KNOWN ,
    WLAN_STA_MPSP_OWNER ,
    WLAN_STA_MPSP_RECIPIENT ,
    WLAN_STA_PS_DELIVER ,
    WLAN_STA_USES_ENCRYPTION ,
    WLAN_STA_DECAP_OFFLOAD ,
    NUM_WLAN_STA_FLAGS

};

πŸŽ€ Constants πŸŽ€

okay so here's the whole cast of characters, one by one, no skipping πŸ‘‘

  • WLAN_STA_AUTH β€” station is authenticated ✨
  • WLAN_STA_ASSOC β€” station is associated 🫢
  • WLAN_STA_PS_STA β€” station is in power-save mode 😴
  • WLAN_STA_AUTHORIZED β€” station is authorized to send/receive traffic. Heads up: this bit is always checked, so it needs to be enabled for all stations when virtual port control is not in use πŸ’…
  • WLAN_STA_SHORT_PREAMBLE β€” station is capable of receiving short-preamble frames πŸ¦‹
  • WLAN_STA_WDS β€” station is one of our WDS peers 🀝
  • WLAN_STA_CLEAR_PS_FILT β€” clear the PS filter in hardware (using the IEEE80211_TX_CTL_CLEAR_PS_FILT control flag) when the next frame to this station is transmitted 🧹
  • WLAN_STA_MFP β€” management frame protection is used with this STA πŸ”
  • WLAN_STA_BLOCK_BA β€” used to deny ADDBA requests (both TX and RX) during suspend/resume and station removal 🚫
  • WLAN_STA_PS_DRIVER β€” driver requires keeping this station in power-save mode logically, so it can flush frames that might still be in the queues 🌊
  • WLAN_STA_PSPOLL β€” station sent PS-poll while the driver was keeping the station in power-save mode; reply when the driver unblocks πŸ“¨
  • WLAN_STA_TDLS_PEER β€” station is a TDLS peer 🌈
  • WLAN_STA_TDLS_PEER_AUTH β€” this TDLS peer is authorized to send direct packets, which means the link is enabled βœ…
  • WLAN_STA_TDLS_INITIATOR β€” we are the initiator of the TDLS link with this station πŸ™‹β€β™€οΈ
  • WLAN_STA_TDLS_CHAN_SWITCH β€” this TDLS peer supports TDLS channel-switching πŸ”€
  • WLAN_STA_TDLS_OFF_CHANNEL β€” the local STA is currently off-channel with this TDLS peer πŸ“΄
  • WLAN_STA_TDLS_WIDER_BW β€” this TDLS peer supports working on a wider bw on the BSS base channel πŸ“Ά
  • WLAN_STA_UAPSD β€” station requested unscheduled SP while the driver was keeping the station in power-save mode; reply when the driver unblocks the station ⏳
  • WLAN_STA_SP β€” station is in a service period, so don't try to reply to other uAPSD trigger frames or PS-Poll πŸ™…β€β™€οΈ
  • WLAN_STA_4ADDR_EVENT β€” 4-addr event was already sent for this frame πŸ“¬
  • WLAN_STA_INSERTED β€” this station is inserted into the hash table πŸ—‚οΈ
  • WLAN_STA_RATE_CONTROL β€” rate control was initialized for this station πŸ“ˆ
  • WLAN_STA_TOFFSET_KNOWN β€” toffset calculated for this station is valid βœ”οΈ
  • WLAN_STA_MPSP_OWNER β€” local STA is owner of a mesh Peer Service Period πŸ‘‘
  • WLAN_STA_MPSP_RECIPIENT β€” local STA is recipient of a MPSP 🎁
  • WLAN_STA_PS_DELIVER β€” station woke up, but we're still blocking TX until pending frames are delivered 😭
  • WLAN_STA_USES_ENCRYPTION β€” this station was configured for encryption, so drop all packets without a key later πŸ”‘
  • WLAN_STA_DECAP_OFFLOAD β€” this station uses rx decap offload πŸ“
  • NUM_WLAN_STA_FLAGS β€” the number of defined flags πŸ”’

πŸ¦‹ Description πŸ¦‹

So like… these flags are used with struct sta_info's flags member β€” but only indirectly, through set_sta_flag and friends πŸ’«. That's the whole vibe. iykyk.


πŸ’« SEE ALSO πŸ’«

Kernel file ./net/mac80211/sta_info.h β€” and the whole friend group:

  • struct tid_ampdu_tx(9)
  • struct tid_ampdu_rx(9)
  • struct sta_ampdu_mlme(9)
  • struct ieee80211_fast_tx(9)
  • struct ieee80211_fast_rx(9)
  • struct mesh_sta(9)
  • struct link_sta_info(9)
  • struct ieee80211_sta_removed_link_stats(9)
  • struct sta_info(9)
  • __sta_info_flush(9)
  • sta_info_flush(9)

okay that's the whole page, bestie, you ate that 🫢✨ this lil gem lives in ./net/mac80211, dated October 2026, and it's filed under enum ieee80...a_info_flags(9) in the Kernel API Manual β€” slay, go read some kernel source, ily πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from