ice_xmit_pkt_batch(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 stage
  • xsk_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 cap
  • total_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):


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