libeth_rx_alloc(9)
π libeth_rx_alloc(9) π
okay so bestie, we're in the Kernel API Manual today and this little icon is literally the moment a fresh Rx buffer gets born β¨ stay with me, it's gonna slay
πΈ NAME πΈ
libeth_rx_alloc β allocate a new Rx buffer π (yes that's it, that's the whole job, and she does it flawlessly)
β¨ SYNOPSIS β¨
dma_addr_t libeth_rx_alloc (const struct libeth_fq_fp *fq , u32 i );
like, look at her. returns a dma_addr_t, takes two things, no drama π
π«Ά ARGUMENTS π«Ά
fqβ the fill queue you're allocating for, bestie. it's aconst struct libeth_fq_fp *, so we're just looking at it, not touching πiβ the index of the buffer within the queue. au32. that's the one you want, go get her β
π₯ RETURN π₯
on a successful allocation you get the DMA address back β and you pass that straight to HW for Rx, that's the whole point, iykyk π¦
otherwise? you get DMA_MAPPING_ERROR. no buffer, no address, just sadness π
π SEE ALSO π
the way that these all live in the kernel file ./include/net/libeth/rx.h β obsessed, go read them all fr fr:
struct libeth_fqe(9)enum libeth_fqe_type(9)struct libeth_fq(9)libeth_rx_sync_for_cpu(9)struct libeth_rx_csum(9)struct libeth_rqe_info(9)libeth_rx_pt_get_ip_ver(9)libeth_rx_pt_set_hash(9)
ngl the whole friend group is in that one header. mwah π
π that's the page! brought to you by ./include/net/libeth, dated October 2026, and titled libeth_rx_alloc(9) β she ate and left no crumbs, periodt π
β¨πΈ
π¦ 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