STRUCT EFX_REP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct efx_rep(9) ✨

okay so bestie, welcome to the Kernel API Manual πŸ’– this one is all about struct efx_rep and honestly? it's giving "private data for an Efx representor" and we're obsessed. let's get into it πŸŽ€


🌸 NAME 🌸

struct efx_rep β€” private data for an Efx representor, no cap πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct efx_rep {
    struct efx_nic *parent;
    struct net_device *net_dev;
    u32 msg_enable;
    u32 mport;
    unsigned int idx;
    unsigned int write_index, read_index;
    unsigned int rx_pring_size;
    struct efx_tc_flow_rule dflt;
    struct list_head list;
    struct list_head rx_list;
    spinlock_t rx_lock;
    struct napi_struct napi;
    struct efx_rep_sw_stats stats;
    struct devlink_port *dl_port;
 };

like, that's the whole squad right there πŸ‘‘ every single one of these fields is a main character in their own way:

  • parent β€” the efx PF that manages this representor, literally the mom friend of the struct 🫢
  • net_dev β€” the representor netdevice, that's its whole identity fr fr
  • msg_enable β€” log message enable flags, aka the volume knob for how chatty it gets πŸ—£οΈ
  • mport β€” m-port ID of the corresponding VF, you know the vibe 😌
  • idx β€” VF index, its little number in the lineup ✨
  • write_index β€” number of packets enqueued to rx_list πŸ“₯
  • read_index β€” number of packets consumed from rx_list πŸ“€
  • rx_pring_size β€” max length of the RX list, the limit bestie, the ceiling 🚧
  • dflt β€” default-rule for MAE switching, the fallback plan when nobody's picking πŸŽ€
  • list β€” entry on efx->vf_reps, it's on the list (literally) πŸ’€
  • rx_list β€” list of SKBs queued for receive in NAPI poll, the queue of destiny 🌈
  • rx_lock β€” protects rx_list, do NOT skip the lock bestie, that's how you get chaos 😭
  • napi β€” NAPI control structure, iconic, no notes ⭐
  • stats β€” software traffic counters for netdev stats, the receipts πŸ“Š
  • dl_port β€” devlink port associated to this netdev representor, the linked bestie πŸ”—
reminder bestie: rx_lock protects rx_list. that's not a suggestion, that's the whole point. miss it and it's giving undefined chaos πŸ’€

🧚 SEE ALSO 🧚

  • Kernel file ./drivers/net/ethernet/sfc/ef100_rep.h β€” go read it, iykyk πŸ“–βœ¨

and that's the page!! mwah πŸ’‹ this little beauty lives in ./drivers/net/ethernet/sfc and it's dated October 2026 β€” so like, future iconic behavior πŸ‘‘βœ¨ go forth and represent, bestie πŸ¦‹πŸ’–

πŸ“¦ where this page comes from