STRUCT MACSEC_TX_SA(9)
π NAME π
Bestie, meet struct macsec_tx_sa(9) from the Kernel API Manual β aka the transmit secure association. The manual name is folded right here in the intro instead of being copied as a header line, periodt π«Ά.
β¨ SYNOPSIS β¨
Okay so here's the whole struct, no cap β copy-paste energy, but make it iconic:
struct macsec_tx_sa {
struct macsec_key key;
ssci_t ssci;
spinlock_t lock;
union {
pn_t next_pn_halves;
u64 next_pn;
};
refcount_t refcnt;
bool active;
struct macsec_tx_sa_stats __percpu *stats;
struct rcu_work destroy_work;
};
π¦ Members π¦
keyβ the key structure πssciβ the short secure channel identifier πlockβ this one protectsnext_pnmanipulations π{unnamed_union}β anonymous, bestie. The code block haspn_t next_pn_halves;andu64 next_pn;living inside it, and the note below is all aboutnext_pnπnext_pnβ packet number to use for the next packet π¦activeβ the page literally doesn't describe this one, so we're not inventing lore πstatsβ per-SA stats πdestroy_workβ deferred work to free the SA in process context after RCU grace period π§Ήβ¨
Tiny note: the code block also contains refcount_t refcnt; β the Members list doesn't describe it, so we're just acknowledging it exists, bestie π
.
π SEE ALSO π
Kernel file ./include/net/macsec.h β go check these out, bestie:
struct macsec_key(9)struct macsec_rx_sa(9)struct macsec_rx_sc(9)struct macsec_tx_sc(9)struct macsec_secy(9)struct macsec_context(9)struct macsec_ops(9)
Okay that's the whole page β slay! Cute sign-off: source/version vibes come from ./include/net, dated October 2026, and the footer's manual tag is struct macsec_tx_sa(9). Bye bestie, go free that SA in process context after the RCU grace period πππ¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms