cxgb4_inline_tx_skb(9)
π cxgb4_inline_tx_skb π
okay so this is a page from the Kernel API Manual, and today's main character is cxgb4_inline_tx_skb β she takes a packet and yeets its whole data payload straight into the Tx descriptors. no middleman, no scatter-gather drama. periodt.
β¨ NAME β¨
cxgb4_inline_tx_skb β inline a packet's data into Tx descriptors π
πΈ SYNOPSIS πΈ
void cxgb4_inline_tx_skb (const struct sk_buff *skb , const struct
sge_txq *q , void *pos );
that's the whole signature, bestie β copy it exactly, don't get creative π
π¦ ARGUMENTS π¦
skbβ the packet. the actual goods. the payload in question πqβ the Tx queue where the packet will be inlined. this is the destination vibe.posβ starting position in the Tx queue where to inline the packet. like, where in the ring we start writing. iykyk π
π DESCRIPTION π
so the whole point: inline a packet's contents directly into Tx descriptors, starting at the given position within the Tx DMA ring. no cap, that's the move β the data goes right in there instead of pointing somewhere else π₯
and now the tea: most of the complexity of this operation is dealing with wrap arounds in the middle of the packet we want to inline. yeah. the ring wraps, your packet doesn't care, and someone has to handle that. that someone is this function. she's built different π
π SEE ALSO π
this is the friend group, and honestly? it's a lot of them. every single one, in order, no skipping π«Ά
- the kernel file:
./drivers/net/ethernet/chelsio/cxgb4/sge.c txq_avail(9)fl_cap(9)fl_starving(9)deferred_unmap_destructor(9)free_tx_desc(9)reclaim_completed_tx(9)cxgb4_reclaim_completed_tx(9)free_rx_bufs(9)unmap_rx_buf(9)refill_fl(9)alloc_ring(9)sgl_len(9)flits_to_desc(9)is_eth_imm(9)calc_tx_flits(9)cxgb4_write_sgl(9)cxgb4_ring_tx_db(9)t4_sge_eth_txq_egress_update(9)cxgb4_eth_xmit(9)t4vf_is_eth_imm(9)t4vf_calc_tx_flits(9)cxgb4_vf_eth_xmit(9)reclaim_completed_tx_imm(9)cxgb4_ethofld_send_flowc(9)is_imm(9)ctrlq_check_stop(9)ctrl_xmit(9)restart_ctrlq(9)t4_mgmt_tx(9)is_ofld_imm(9)calc_tx_flits_ofld(9)txq_stop_maperr(9)ofldtxq_stop(9)service_ofldq(9)ofld_xmit(9)restart_ofldq(9)skb_txq(9)is_ctrl_pkt(9)t4_ofld_send(9)cxgb4_ofld_send(9)ofld_xmit_direct(9)t4_crypto_send(9)cxgb4_crypto_send(9)cxgb4_pktgl_to_skb(9)t4_pktgl_free(9)cxgb4_sgetim_to_hwtstamp(9)t4_systim_to_hwstamp(9)t4_rx_hststamp(9)t4_tx_hststamp(9)t4_tx_completion_handler(9)t4_ethrx_handler(9)restore_rx_bufs(9)is_new_response(9)rspq_next(9)process_responses(9)napi_rx_handler(9)t4_intr_handler(9)bar2_address(9)t4_sge_alloc_eth_txq(9)t4_free_sge_resources(9)t4_sge_stop(9)t4_sge_init_soft(9)t4_sge_init(9)
ok that's the whole page, nothing dropped, we ate and left no crumbs π
and for the cute sign-off: this one comes from the source/version line ./drivers/net/ethernet/chelsio... and it's dated October 2026 β so yeah, she's from the future, which honestly tracks πβ¨ luv u, go inline some packets responsibly π
π¦ 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