STRUCT OCELOT_FDMA_RX_RING(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 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