write_tx_pkt_wr(9)
π write_tx_pkt_wr(9) β ok bestie, we're writing a TX_PKT work request
So this is a page from the Kernel API Manual, and it's about write_tx_pkt_wr β the function that literally generates a TX_PKT work request. Yes, that's the whole vibe. Let's get into it π
β¨ NAME β¨
write_tx_pkt_wr β write a TX_PKT work request. That's it, that's the name, no notes π
πΈ SYNOPSIS πΈ
void write_tx_pkt_wr (struct adapter *adap , struct sk_buff *skb , const
struct port_info *pi , unsigned int pidx , unsigned int gen , struct
sge_txq *q , unsigned int ndesc , unsigned int compl , const dma_addr_t
*addr );
Like, look at all those arguments. She's got range π«Ά
π¦ ARGUMENTS π¦
adapβ the adapter. the main character of this whole operation, honestly.skbβ the packet to send. the actual message, the payload, the reason we're all here πpiβ the egress interface. it's giving "which door does this packet leave through".pidxβ index of the first Tx descriptor to write. like, where do we even start writing. that's this.genβ the generation value to use. lowkey sounds mystical but it's just a value and we love her.qβ the Tx queue. the line the packet is standing in.ndescβ number of descriptors the packet will occupy. how much space she's taking up, no cap.complβ the value of the COMPL bit to use. yes, specifically the COMPL bit. iconic flag behavior.addrβ address. short, sweet, exactly as documented π
π DESCRIPTION π
Generate a TX_PKT work request to send the supplied packet.
That's the whole job. It's not deep, bestie, but it is essential β you hand over the packet, this function does the generating. periodt. β¨
π₯ SEE ALSO π₯
Ok so this function has, like, so many friends. All of these live in the kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c, and here they all are β every single one, because we do not skip the list in this house π
refill_rspq(9),need_skb_unmap(9),unmap_skb(9),free_tx_desc(9),reclaim_completed_tx(9),should_restart_tx(9),free_rx_bufs(9),add_one_rx_buf(9),refill_fl(9),recycle_rx_buf(9),alloc_ring(9),t3_reset_qset(9),t3_free_qset(9),init_qset_cntxt(9),sgl_len(9),flits_to_desc(9),get_packet(9),get_packet_pg(9),get_imm_packet(9),calc_tx_descs(9),write_sgl(9)check_ring_tx_db(9),write_wr_hdr_sgl(9),t3_eth_xmit(9),write_imm(9),check_desc_avail(9),reclaim_completed_tx_imm(9),ctrl_xmit(9),restart_ctrlq(9),deferred_unmap_destructor(9),write_ofld_wr(9),calc_tx_descs_ofld(9),ofld_xmit(9),restart_offloadq(9),queue_set(9),is_ctrl_pkt(9),t3_offload_tx(9),offload_enqueue(9),deliver_partial_bundle(9),ofld_poll(9),rx_offload(9)restart_tx(9),cxgb3_arp_process(9),rx_eth(9),lro_add_page(9),handle_rsp_cntrl_info(9),check_ring_db(9),is_new_response(9),process_responses(9),napi_rx_handler(9),process_pure_responses(9),handle_responses(9),t3_intr_handler(9),t3_sge_err_intr_handler(9),sge_timer_tx(9),sge_timer_rx(9)t3_update_qset_coalesce(9),t3_sge_alloc_qset(9),t3_start_sge_timers(9),t3_stop_sge_timers(9),t3_free_sge_resources(9),t3_sge_start(9),t3_sge_stop_dma(9),t3_sge_stop(9),t3_sge_init(9),t3_sge_prep(9)
fr fr that's the whole crew. go read them, they're all right there in ./drivers/net/ethernet/chelsio/cxgb3/sge.c π§
And that's the page, bestie π This lil' rewrite came to you from ./drivers/net/ethernet/chelsio..., dated October 2026 β mwah, take care of her, she's got write_tx_pkt_wr(9) energy and we're obsessed ππ
π¦ 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