ice_xmit_pkt_batch(9)
β¨ ice_xmit_pkt_batch(9) β¨
okay so bestie, welcome to the Kernel API Manual π this one's a lil function that lives in the networking gutters of the kernel, and honestly? it's giving "assembly line but make it DMA" πβ¨
πΈ NAME πΈ
ice_xmit_pkt_batch β produce a batch of HW Tx descriptors out of AF_XDP descriptors π₯
like, it takes a whole stack of AF_XDP descriptors and turns them into HW Tx descriptors in one go, because doing them one at a time is so last season π
π SYNOPSIS π
void ice_xmit_pkt_batch (struct ice_tx_ring *xdp_ring , struct xsk_buff_pool *xsk_pool , struct xdp_desc *descs , unsigned int *total_bytes );
she returns nothing (void, iconic, no notes) and takes four args π«Ά
π¦ ARGUMENTS π¦
xdp_ringβ the XDP ring you're producing the HW Tx descriptors on π― that's the destination, the main character, the stagexsk_poolβ the XSK buffer pool you pick the buffers from, aka the ones HW is gonna consume πdescsβ the AF_XDP descriptors you pull the DMA addresses and the lengths out of π§ gotta get both, no captotal_bytesβ a bytes accumulator π it's used for the stats update later, so pls keep it accurate bestie
π SEE ALSO π
the kernel file where all this magic lives:
- Kernel file
./drivers/net/ethernet/intel/ice/ice_xsk.cπ
and the whole friend group (all (9) sections, obviously):
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_fill_rx_descs(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_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)
lowkey a whole squad of zero-copy functions, and you thought your group chat was big π
that's the whole page bestie, go forth and batch those descriptors π¦π
mwah π β brought to you by the fine folks over at ./drivers/net/ethernet/intel/ice, dated October 2026, and this has been ice_xmit_pkt_batch(9) signing off πβ¨
π¦ 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