i40e_tx_map(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– i40e_tx_map β€” NAME

okay so welcome to the Kernel API Manual bestie, and today's main character is i40e_tx_map β€” literally the function that Builds the Tx descriptor πŸŽ€ that's the whole name, that's the whole job, and honestly? iconic.


✨ SYNOPSIS

int i40e_tx_map (struct i40e_ring *tx_ring , struct sk_buff *skb ,
struct i40e_tx_buffer *first , u32 tx_flags , const u8 hdr_len , u32
td_cmd , u32 td_offset );

like yes she takes seven arguments, she's high-maintenance, we love her for it πŸ’…


🌸 ARGUMENTS

okay so here's the whole roster, no skips, no cap:

  • tx_ring β€” the ring we're sending the buffer on πŸŒ€ like the actual queue she's feeding
  • skb β€” the send buffer itself, the payload, the moment
  • first β€” the first buffer info buffer to use β€” yes, "first buffer info buffer," that's really what it's called, I don't make the rules 🫢
  • tx_flags β€” the collected send information, all the little flags she gathered along the way
  • hdr_len β€” size of the packet header, const u8, tiny king πŸ‘‘
  • td_cmd β€” the command field in the descriptor, this is the actual instruction bit
  • td_offset β€” the offset for checksum or crc ⭐

πŸ¦‹ DESCRIPTION

so basically: she returns 0 on success, and -1 on failure to DMA 😭 that's it, that's the whole description. short, blunt, a little dramatic β€” very her.

bestie if you get that -1 back, do not keep it cute, the DMA genuinely did not go through πŸ™ˆ

πŸ”₯ SEE ALSO

this list is long long, so buckle up β€” she's got a whole friend group and every single one of them is invited πŸ’œ


and that's the page, bestie 🌈 this whole thing lived in ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's page i40e_tx_map(9) of the Kernel API Manual β€” go build that descriptor, periodt πŸ’…βœ¨

πŸ“¦ where this page comes from