i40e_create_tx_ctx(9)
π i40e_create_tx_ctx β the Kernel API Manual, but make it cute π
okay so bestie, this is a page from the Kernel API Manual (that's the manual name, we're not copying the header line twice, iykyk β¨), and it's all about one little function that builds a Tx context descriptor. yes it sounds nerdy. no you're not gonna be bored. let's go π
β¨ NAME β¨
i40e_create_tx_ctx β literally the function that builds the Tx context descriptor. that's it. that's the vibe πΈ
π¦ SYNOPSIS π¦
void i40e_create_tx_ctx (struct i40e_ring *tx_ring , const u64
cd_type_cmd_tso_mss , const u32 cd_tunneling , const u32 cd_l2tag2 );
no cap, it returns nothing (void) β it just does its little descriptor-building thing and dips π
π ARGUMENTS π
four things, and every single one matters, bestie. not me listing them all π«Ά
tx_ringβ the ring you're creating the descriptor on. like, this is the main character of the argument list tbh πcd_type_cmd_tso_mssβ Quad Word 1 β¨ (yes that's really what the manpage says, i'm not making this up)cd_tunnelingβ Quad Word 0 - bits 0-31. the low half. the little spoon π₯Ίcd_l2tag2β Quad Word 0 - bits 32-63. the high half. the big spoon. iconic pair honestly π
π SEE ALSO π
okay this is the part where I flex π€ the whole squad β plus the kernel file it lives in β is right here, and no I did not skip a single one:
- Kernel file
./drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_fdir(9)i40e_program_fdir_filter(9)i40e_create_dummy_packet(9)i40e_create_dummy_udp_packet(9)i40e_create_dummy_tcp_packet(9)i40e_create_dummy_sctp_packet(9)i40e_prepare_fdir_filter(9)i40e_change_filter_num(9)i40e_add_del_fdir_udp(9)i40e_add_del_fdir_tcp(9)i40e_add_del_fdir_sctp(9)i40e_add_del_fdir_ip(9)i40e_add_del_fdir(9)i40e_fd_handle_status(9)i40e_unmap_and_free_tx_resource(9)i40e_clean_tx_ring(9)i40e_free_tx_resources(9)i40e_get_tx_pending(9)i40e_detect_recover_hung(9)i40e_clean_tx_irq(9)i40e_enable_wb_on_itr(9)i40e_force_wb(9)i40e_update_itr(9)i40e_reuse_rx_page(9)i40e_clean_programming_status(9)i40e_setup_tx_descriptors(9)i40e_clean_rx_ring(9)i40e_free_rx_resources(9)i40e_setup_rx_descriptors(9)i40e_release_rx_desc(9)i40e_alloc_mapped_page(9)i40e_alloc_rx_buffers(9)i40e_rx_checksum(9)i40e_rx_hash(9)i40e_process_skb_fields(9)i40e_cleanup_headers(9)i40e_can_reuse_rx_page(9)i40e_rx_buffer_flip(9)i40e_get_rx_buffer(9)i40e_put_rx_buffer(9)i40e_process_rx_buffs(9)i40e_construct_skb(9)i40e_build_skb(9)i40e_is_non_eop(9)i40e_run_xdp(9)i40e_xdp_ring_update_tail(9)i40e_update_rx_stats(9)i40e_finalize_xdp_rx(9)i40e_inc_ntp(9)i40e_add_xdp_frag(9)i40e_consume_xdp_buff(9)i40e_clean_rx_irq(9)i40e_buildreg_itr(9)i40e_update_enable_itr(9)i40e_napi_poll(9)i40e_atr(9)i40e_tx_prepare_vlan_flags(9)i40e_tso(9)i40e_tsyn(9)i40e_tx_enable_csum(9)__i40e_maybe_stop_tx(9)__i40e_chk_linearize(9)i40e_tx_map(9)i40e_xmit_xdp_ring(9)i40e_xmit_frame_ring(9)i40e_lan_xmit_frame(9)i40e_xdp_xmit(9)
likeβ¦ that's the whole friend group π and yes, the two with double underscores are exactly as written, don't @ me.
ngl bestie, this is the whole page. every argument, every quad word, every single SEE ALSO. you ate that. periodt π π₯
okay bye, sending you off with the receipts π§: this one lives in ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's i40e_create_tx_ctx(9) β go be a main character in the kernel, ily ππ
π¦ 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