STRUCT MESH_STA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mesh_sta(9)

okay bestie, welcome to the Kernel API Manual ✨ this one's about struct mesh_sta β€” literally the mesh STA information struct, and yes it lives in the kernel, and yes it's iconic πŸ’–


🌸 NAME

struct mesh_sta β€” mesh STA information 🫢


✨ SYNOPSIS

struct mesh_sta {
    struct timer_list plink_timer;
    struct sta_info *plink_sta;
    s64 t_offset;
    s64 t_offset_setpoint;
    spinlock_t plink_lock;
    u16 llid;
    u16 plid;
    u16 aid;
    u16 reason;
    u8 plink_retries;
    bool processed_beacon;
    bool connected_to_gate;
    bool connected_to_as;
    enum nl80211_plink_state plink_state;
    u32 plink_timeout;
    enum nl80211_mesh_power_mode local_pm;
    enum nl80211_mesh_power_mode peer_pm;
    enum nl80211_mesh_power_mode nonpeer_pm;
    struct ewma_mesh_fail_avg fail_avg;
    struct ewma_mesh_tx_rate_avg tx_rate_avg;
};

no cap, that's the whole struct, every field, nothing skipped πŸŽ€


πŸ¦‹ Members

  • plink_timer β€” the peer link watch timer, ticking away like it's got main character energy ⏰
  • plink_sta β€” the sta_info of that peer link watch timer 🫢
  • t_offset β€” timing offset relative to this host, iykyk πŸ•°οΈ
  • t_offset_setpoint β€” the reference timing offset of this sta, the one you use when calculating clockdrift ⭐
  • plink_lock β€” serialize access to plink fields πŸ”’ literally do not touch those fields without it
  • llid β€” Local link ID πŸ‘‘
  • plid β€” Peer link ID πŸ’«
  • aid β€” local aid, supplied by the peer πŸ“
  • reason β€” cancel reason on PLINK_HOLDING state πŸ’€
  • plink_retries β€” retries in establishment πŸ”
  • processed_beacon β€” set to true after peer rates and capabilities are processed βœ…
  • connected_to_gate β€” true if the mesh STA has a path to a mesh gate πŸšͺ
  • connected_to_as β€” true if the mesh STA has a path to a authentication server πŸ”
  • plink_state β€” peer link state 🌈
  • plink_timeout β€” timeout of the peer link ⏳
  • local_pm β€” local link-specific power save mode πŸ”‹
  • peer_pm β€” peer-specific power save mode towards the local STA πŸ”Œ
  • nonpeer_pm β€” STA power save mode towards non-peer neighbors πŸŒ™
  • fail_avg β€” moving percentage of failed MSDUs 😭
  • tx_rate_avg β€” moving average of tx bitrate πŸ“ˆ

πŸ‘€ SEE ALSO

Kernel file ./net/mac80211/sta_info.h plus these absolute legends: enum ieee80211_sta_info_flags(9), 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 link_sta_info(9), struct ieee80211_sta_removed_link_stats(9), struct sta_info(9), __sta_info_flush(9), sta_info_flush(9) 🧚 go read them, fr fr


this page comes from ./net/mac80211 and it's dated October 2026 β€” that's the source, the version, and the date all in one, so jot that down bestie πŸ’…

k bye, slay, and remember: the vibe check is the plink_lock πŸ”₯πŸ’œ

πŸ“¦ where this page comes from