STRUCT MACSEC_DEV(9)
π 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 thereal_devreference. 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 abool, 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 titledstruct macsec_dev(9)in the Kernel API Manual. mwah π π
π¦ 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