ice_fill_rx_descs(9)
π ice_fill_rx_descs (9) β the Kernel API Manual moment π
okay so bestie, welcome to the section 9 glow-up of ice_fill_rx_descs(9). this is the Intel ice driver's little buffer-wrangler, and honestly? she's giving "backstage crew at the concert" energy β nobody claps for her but the whole show falls apart without her. let's get into it β¨
β¨ NAME β¨
ice_fill_rx_descs β grab buffers out of the XSK buffer pool and, like, use them π
π¦ SYNOPSIS π¦
u16 ice_fill_rx_descs (struct xsk_buff_pool *pool , struct xdp_buff
**xdp , union ice_32b_rx_flex_desc *rx_desc , u16 count );
yes the spacing is exactly like that, don't come for me, I'm just the messenger π«Ά
πΈ ARGUMENTS πΈ
poolβ the XSK Buffer pool you're pulling the buffers from. this is the source of truth, the purse, the stash πxdpβ the SW ring ofxdp_buffthat's gonna hold the buffers. think of it as the cute little display shelf πrx_descβ pointer to the Rx descriptors that are getting filled. this is the actual thing being written into, main character energy fr fr πcountβ how many buffers to allocate. the literal number, no vibes-based guessing allowed π₯
π DESCRIPTION π
so what does she actually do? she allocates a number of Rx buffers from the fill ring or from the internal recycle mechanism, and then places them on the Rx ring. that's the whole job. no cap. π
β οΈ heads up bestie: ring wrap should be handled by the caller of this function. she is not doing the wrapping for you, that's your problem, not hers π
and what does she give back? she returns the amount of allocated Rx descriptors β that's the return value, go read it, it's right there in your hand π
β SEE ALSO β
the kernel file in question, for the curious girlies who wanna read the source directly:
./drivers/net/ethernet/intel/ice/ice_xsk.c
and the whole friend group, in order, because I would never leave one out π«Ά:
ice_qvec_toggle_napi(9)ice_qvec_dis_irq(9)ice_qvec_cfg_msix(9)ice_qvec_ena_irq(9)ice_xsk_pool_disable(9)ice_xsk_pool_enable(9)ice_realloc_rx_xdp_bufs(9)ice_xsk_pool_setup(9)__ice_alloc_rx_bufs_zc(9)ice_alloc_rx_bufs_zc(9)ice_clean_xdp_irq_zc(9)ice_xmit_xdp_tx_zc(9)ice_run_xdp_zc(9)ice_clean_rx_irq_zc(9)ice_xmit_pkt(9)ice_xmit_pkt_batch(9)ice_fill_tx_hw_ring(9)ice_xmit_zc(9)ice_xsk_wakeup(9)ice_xsk_any_rx_ring_ena(9)ice_xsk_clean_rx_ring(9)ice_xsk_clean_xdp_ring(9)
and that's the page, bestie!! π§ brought to you by the fine folks over at ./drivers/net/ethernet/intel/ice, dated October 2026, and yes she is literally titled ice_fill_rx_descs(9) β go forth and fill those descriptors, iykyk πβ¨π
π¦ 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