STRUCT OCELOT_FDMA_RX_RING(9)
πΈ struct ocelot_fdma_rx_ring(9) πΈ
okay bestie, welcome to the Kernel API Manual β¨ β this is the page for struct ocelot_fdma_rx_ring, and we're gonna get you comfy with it, no cap π
π NAME π
struct ocelot_fdma_rx_ring β TX ring description of DCBs π
yes, it's an RX ring and the one-liner says TX. not me pointing it out, the docs said it first π iykyk.
π¦ SYNOPSIS π¦
struct ocelot_fdma_rx_ring {
struct ocelot_fdma_dcb *dcbs;
dma_addr_t dcbs_dma;
struct ocelot_fdma_rx_buf bufs[OCELOT_FDMA_RX_RING_SIZE];
struct sk_buff *skb;
u16 next_to_clean;
u16 next_to_use;
u16 next_to_alloc;
};
like, that's the whole vibe of the struct, literally all of it π«Ά
β¨ Members β¨
dcbsβ the DCBs that got allocated for this ring, that's them, that's the pile πdcbs_dmaβ the DMA base address of the DCBs, so the hardware knows where the party's at πbufsβ the list of RX buffers that are associated to the DCBs πΈskbβ the SKB that the netdev is currently receiving πnext_to_cleanβ the next DCB to be cleaned up during NAPI polling π§Ήβ¨next_to_useβ the next available DCB to send an SKB out of πnext_to_allocβ the next buffer that needs to be allocated (could be page reuse or an alloc, both are valid, we don't judge) π«
π₯ SEE ALSO π₯
- Kernel file
./drivers/net/ethernet/mscc/ocelot_fdma.h struct ocelot_fdma_tx_buf(9)struct ocelot_fdma_tx_ring(9)struct ocelot_fdma_rx_buf(9)struct ocelot_fdma(9)
go read those too, they're the friend group π«Άπ
and that's the page, bestie!! π sign-off time: this lil masterpiece lives at ./drivers/net/ethernet/mscc, dated October 2026, and it's filed under struct ocelot_fdma_rx_ring(9) β iconic of it, honestly π
βπ
π¦ 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