STRUCT LIBETH_RQE_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct libeth_rqe_info(9) β€” receive queue element info

okay bestie, welcome to the Kernel API Manual, and buckle up because we're about to get into the nitty-gritty of a receive queue element info struct ✨ this little cutie is literally the info packet you get about an RQE (receive queue element), and she's doing the most with bitfields. iykyk.


✨ NAME ✨

struct libeth_rqe_info β€” receive queue element info πŸŽ€

like. that's her. that's the whole vibe. she's a struct holding the deets about one receive queue element, and she is thriving.


πŸ¦‹ SYNOPSIS πŸ¦‹

struct libeth_rqe_info {
    u32 len;
    u32 ptype:14;
    u32 eop:1;
    u32 rxe:1;
    u32 vlan:16;
 };

no cap, look at those bitfields β€” ptype:14, eop:1, rxe:1, vlan:16 β€” she's packing everything in tight and the layout is iconic. notice the members are u32 and three of them are sharing 32 bits worth of space between them (14 + 1 + 1 + 16 = 32, the math is mathing 🧚). also yes there's a little space before that closing }; in the original and we're keeping it verbatim because we respect the source πŸ’œ


πŸ‘‘ Members πŸ‘‘

🌸 len

the packet length, periodt. how long the packet is. that's it, that's the member πŸ’…

⭐ ptype

the packet type β€” and the important caveat here bestie, it's based on types programmed into the device, so it's not some universal cosmic truth, it's whatever the device was told to report πŸ™ˆ

πŸ”₯ eop

whether it's the last fragment of the packet. eop = end of packet, and this one bit tells you if you've reached the end of the line or if there's more coming πŸ‘‘

πŸ’€ rxe

MAC errors: CRC, Alignment, Oversize, Undersizes, Length error. yeah. all of those. one bit, five possible flavors of "something went wrong at the MAC layer" β€” CRC errors, alignment errors, oversize, undersizes, and length error. not a vibe, but you gotta know 😭

πŸŽ€ vlan

the C-VLAN or S-VLAN tag β€” which one you get depends on the VLAN offload configuration. so it's giving "it depends on your setup" and you should check your config before assuming 🫢


🌈 SEE ALSO 🌈

go read the whole little friend group, they're all connected and honestly the rx.h file is the main character here πŸ¦‹


πŸ’– reminder bestie: rxe being set can mean any of CRC, Alignment, Oversize, Undersizes, or Length error β€” it's a single bit doing a lot of emotional labor.

and that's the page, fr fr 🫢 brought to you by ./include/net/libeth and dated October 2026, all wrapped up in this month's very own struct libeth_rqe_info(9). slay, go read your rx headers, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from