do_gro(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… do_gro(9) β€” like, the whole Kernel API Manual vibe ✨

okay bestie, welcome to another episode of "kernel functions that are lowkey iconic." this one's called do_gro, and she lives in the Kernel API Manual, so you know she's official πŸŽ€


🌸 NAME 🌸

do_gro β€” perform Generic Receive Offload ingress packet processing

like, she does the GRO thing on packets coming in. ingress girlie. πŸ¦‹


✨ SYNOPSIS ✨

void do_gro (struct sge_eth_rxq *rxq , const struct pkt_gl *gl , const
struct cpl_rx_pkt *pkt );

returns void, so no sneaky return values to worry about, periodt πŸ’…


🫢 ARGUMENTS 🫢

  • rxq β€” ingress RX Ethernet Queue. yes bestie, the receive queue, she's the one holding the packets πŸ’–
  • gl β€” gather list for ingress packet. it's giving "all the fragments, gathered" 🌸
  • pkt β€” CPL header for last packet fragment. the final little header, the last one in the lineup ⭐

πŸ”₯ DESCRIPTION πŸ”₯

Perform Generic Receive Offload (GRO) ingress packet processing. fr fr that's the whole job description πŸ’€

and the way we do it? we use the standard Linux GRO interfaces for this. no custom homemade situation, just the standard Linux ones, iykyk πŸ‘‘


🧚 SEE ALSO 🧚

Kernel file ./drivers/net/ethernet/chelsio/cxgb4vf/sge.c

and now the friend group, the whole crew, no cap, all of them:


ok that's the whole page, nothing skipped, every single one of those (9) cross-refs is up there πŸ‘† go read them, they're literally all connected πŸ’€

and that's a wrap, bestie πŸŽ€ sign-off time: this lil masterpiece comes from ./drivers/net/ethernet/chelsio... and she's dated October 2026 β€” iconic behavior honestly, slay πŸ’œπŸŒˆ

πŸ“¦ where this page comes from