STRUCT MACSEC_DEV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct macsec_dev(9) πŸ’–

okay so this is the struct macsec_dev page from the Kernel API Manual β€” yes bestie, we're in the kernel docs now, and honestly? iconic. it's the private-data struct for a MACsec device and it's literally just a lil bundle of everything the driver needs to keep track of. let's get into it ✨


🌸 SYNOPSIS 🌸

struct macsec_dev {
    struct macsec_secy secy;
    struct net_device *real_dev;
    netdevice_tracker dev_tracker;
    struct pcpu_secy_stats __percpu *stats;
    struct list_head secys;
    struct gro_cells gro_cells;
    enum macsec_offload offload;
    bool insert_tx_tag;
 };

no cap, that's the whole thing β€” eight lil fields, every single one of them matters. 🫢


πŸŽ€ Members πŸŽ€

  • secy β€” the SecY config. that's the actual secure-entity brain of the operation 🧠✨
  • real_dev β€” a pointer to the underlying netdevice. like, the actual physical-ish device this MACsec stuff is riding on top of πŸ’…
  • dev_tracker β€” refcount tracker for the real_dev reference. it's giving "accountability" β€” keeps tabs on that reference so nobody leaks it πŸ™ˆ
  • stats β€” the MACsec device stats. numbers, bestie, we love numbers πŸ“Š
  • secys β€” a linked list of SecY's on the underlying device. plural SecY situation, very main character energy πŸ‘‘
  • gro_cells β€” pointer to the Generic Receive Offload cell. G-R-O, slay πŸ¦‹
  • offload β€” the status of offloading on the MACsec device. is it offloaded? is it not? this field knows πŸ”₯
  • insert_tx_tag β€” when offloading, the device requires an additional tag to be inserted. so it's a bool, and when it's true the hardware needs that extra tag β€” noted, fr fr 🏷️

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/net/macsec.c
  • struct macsec_rxh_data(9)

and that's the vibe check, bestie β€” go read macsec.c if you want the full lore 🌈

this page comes from ./drivers/net, dated October 2026, and it's titled struct macsec_dev(9) in the Kernel API Manual. mwah πŸ’‹ πŸ’œ
πŸ“¦ where this page comes from