STRUCT MACSEC_SECY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct macsec_secy(9) β€” MACsec Security Entity

okay bestie so like, this is a page from the Kernel API Manual (yes, the kernel has an API manual and it's lowkey iconic) and we're about to deep-dive the struct macsec_secy β€” the MACsec Security Entity. it's giving main character of the MACsec subsystem tbh. let's go πŸŽ€


✨ NAME ✨

struct macsec_secy β€” the MACsec Security Entity. that's it, that's the name. she's the SecY. periodt. πŸ‘‘


🌸 SYNOPSIS 🌸

struct macsec_secy {
    struct net_device *netdev;
    unsigned int n_rx_sc;
    sci_t sci;
    u16 key_len;
    u16 icv_len;
    enum macsec_validation_type validate_frames;
    bool xpn;
    bool operational;
    bool protect_frames;
    bool replay_protect;
    u32 replay_window;
    struct macsec_tx_sc tx_sc;
    struct macsec_rx_sc *rx_sc;
 };

like… look at her. every field accounted for. no notes. πŸ’–


πŸ¦‹ Members πŸ¦‹

so here's the vibe check on every single member, no skips, no cap:

  • netdev β€” the netdevice for this SecY. this is her home address basically 🏠
  • n_rx_sc β€” number of receive secure channels configured on this SecY. counting the squad, fr fr.
  • sci β€” secure channel identifier used for tx. her whole transmit identity, iykyk ✨
  • key_len β€” length of keys used by the cipher suite πŸ”‘
  • icv_len β€” length of ICV used by the cipher suite. integrity check vibes only.
  • validate_frames β€” validation mode. it's an enum macsec_validation_type, very official.
  • xpn β€” enable XPN for this SecY. (yes, that's XPN, not a typo, don't come for me πŸ’€)
  • operational β€” the MAC_Operational flag 🚦
  • protect_frames β€” enable protection for this SecY. we stay protected around here πŸ›‘οΈ
  • replay_protect β€” enable packet number checks on receive. no replays allowed, blocked and reported πŸ™ˆ
  • replay_window β€” size of the replay window. how much we're willing to look back, bestie πŸͺŸ
  • tx_sc β€” transmit secure channel. the outgoing one, the extrovert πŸ’…
  • rx_sc β€” linked list of receive secure channels. the whole incoming friend group, linked together 🫢

πŸ’œ SEE ALSO πŸ’œ

go check these out, they're literally family:

  • Kernel file ./include/net/macsec.h
  • struct macsec_key(9)
  • struct macsec_rx_sa(9)
  • struct macsec_rx_sc(9)
  • struct macsec_tx_sa(9)
  • struct macsec_tx_sc(9)
  • struct macsec_context(9)
  • struct macsec_ops(9)

that's the whole page, bestie, every field and every reference present and accounted for 🧚✨ mwah.

signed off with love from ./include/net β€” dated October 2026 β€” filed under struct macsec_secy(9) πŸ’–

πŸ“¦ where this page comes from