STRUCT LIBETH_XDPSQ_NAPI_STATS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct libeth_xdpsq_napi_stats ✨

okay bestie, welcome to the Kernel API Manual πŸ’– β€” this one's a struct page, and it's honestly giving "small but mighty." ngl, it's a little cutie.


🌸 NAME 🌸

struct libeth_xdpsq_napi_stats β€” the "hot" counters that get updated in the XDP Tx completion loop πŸ”₯ like, these are the numbers you're touching constantly, so they get the VIP treatment.


πŸ¦‹ SYNOPSIS πŸ¦‹

struct libeth_xdpsq_napi_stats {
    union {
      struct {
        u32 packets;
        u32 bytes;
        u32 fragments;
      };
      u32 raw[];
    };
 };

look at that nested union/struct situation β€” it's giving layers, iykyk πŸŽ€


πŸ’… Members πŸ’…

  • {unnamed_union} β€” anonymous πŸ™ˆ (yes, literally no name, it's mysterious like that)
  • {unnamed_struct} β€” also anonymous, also iconic, also nameless 🫢
  • packets β€” the completed frames counter, keeping track of all the frames that finished up ✨
  • bytes β€” the sum of bytes of those completed frames above, doing the math so you don't have to πŸ’–
  • fragments β€” the sum of fragments of completed S/G frames, the little pieces of the picture 🧩
  • raw β€” the alias that lets you access all the fields as an array, one big scoop instead of three small ones πŸ‘‘

🌈 SEE ALSO 🌈

  • Kernel file ./include/net/libeth/types.h β€” go read it, it's right there πŸ¦‹
  • struct libeth_rq_napi_stats(9)
  • struct libeth_sq_napi_stats(9)
  • struct libeth_xdpsq_lock(9)
  • struct libeth_xdpsq_timer(9)
  • struct libeth_xdp_buff_stash(9)

all the sibling structs, a whole little family fr fr πŸ’œ


πŸ’€ quick reminder bestie: raw is an alias β€” same fields, array access. no cap, that's the whole trick.

and that's the page! πŸŽ€ this iconic little number lives in ./include/net/libeth and it's dated October 2026 β€” mwah, slay, periodt β­πŸ‘‘πŸ’œ

πŸ“¦ where this page comes from