i40e_lan_xmit_frame(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

# πŸ’… i40e_lan_xmit_frame(9)

okay so bestie, welcome to the i40e_lan_xmit_frame page β€” it lives in section 9 of the Kernel API Manual, and honestly? it's a short one, so we can absolutely devour it together 🫢

---

🌸 NAME 🌸

i40e_lan_xmit_frame β€” picks the right VSI and Tx queue so your buffer actually gets sent ✨

Like, it's the little matchmaker of the transmit path: it looks at your buffer, figures out which virtual station interface and which Tx queue it belongs to, and sends it on its way. no cap πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

netdev_tx_t i40e_lan_xmit_frame (struct sk_buff *skb , struct net_device
*netdev );

πŸŽ€ ARGUMENTS πŸŽ€

  • skb β€” the send buffer πŸ’Œ (the thing you're trying to get out the door)
  • netdev β€” the network interface device structure πŸ–§ (the whole device vibe it's attached to)

⭐ DESCRIPTION ⭐

So the function returns NETDEV_TX_OK if it got sent β€” slay, we love a success β€” and if not? an error code. that's it, that's the whole description. short king energy πŸ‘‘

ngl the manpage does not elaborate beyond that, so I'm not gonna invent lore for you β€” what it says is what it does: NETDEV_TX_OK on send, otherwise an error code. πŸ“

🌈 SEE ALSO 🌈

First up, the kernel file this all lives in: ./drivers/net/ethernet/intel/i40e/i40e_txrx.c πŸ“

And here's the whole friend group β€” literally every one of these is part of the i40e saga, so go say hi πŸ‘‹:

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_create_tx_ctx(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_xdp_xmit(9)

---

and that's the whole page, bestie, you ate that πŸ“βœ¨ mwah πŸ’‹

sign-off szn πŸŽ€: this cutie came from the source tree ./drivers/net/ethernet/intel/i40e, version October 2026, and the page itself is i40e_lan_xmit_frame(9) β€” go forth and transmit responsibly πŸ’œ

πŸ“¦ where this page comes from