ixgbe_pull_tail(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ixgbe_pull_tail β€” bestie edition

okay so this is a page from the Kernel API Manual, and today's main character is ixgbe_pull_tail, no cap. ✨


🌸 NAME 🌸

ixgbe_pull_tail β€” the ixgbe-specific version of skb_pull_tail. literally what it says on the tin, iykyk πŸŽ€


✨ SYNOPSIS ✨

void ixgbe_pull_tail (struct ixgbe_ring *rx_ring , struct sk_buff *skb
);

like yes that's the whole signature, she's not complicated πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • rx_ring β€” the rx descriptor ring that the packet is being transacted on. that's her home base fr 🏠
  • skb β€” a pointer to the current skb that's getting adjusted. she's the one being tweaked πŸ’–

πŸ’œ DESCRIPTION πŸ’œ

okay so listen 🫢 this function is an ixgbe-specific version of __pskb_pull_tail. the main difference between this one and the original function is that this one can make several assumptions about the state of things, and those assumptions allow for significant optimizations versus the standard function. queen behavior honestly πŸ‘‘

as a result we can do things like drop a frag and maintain an accurate truesize for the skb. not me being efficient AND tidy 😭✨


🌈 SEE ALSO 🌈

the kernel file lives at ./drivers/net/ethernet/intel/ixgbe/ixgbe_main.c β€” that's the spot πŸ“

and here's the whole squad, all of them, every single one, because we don't leave anyone out πŸ’•

ixgbe_pcie_from_parent(9), ixgbe_read_reg(9), ixgbe_set_ivar(9), ixgbe_get_vf_idx(9), ixgbe_tx_timeout_reset(9), ixgbe_tx_maxrate(9), ixgbe_update_tx_ring_stats(9), ixgbe_update_rx_ring_stats(9),

ixgbe_pf_handle_tx_hang(9), ixgbe_vf_handle_tx_hang(9), ixgbe_check_illegal_queue(9), ixgbe_handle_mdd_event(9), ixgbe_clean_tx_irq(9), ixgbe_rx_is_fcoe(9), ixgbe_rx_checksum(9),

ixgbe_alloc_rx_buffers(9), ixgbe_process_skb_fields(9), ixgbe_is_non_eop(9), ixgbe_dma_sync_frag(9), ixgbe_cleanup_headers(9), ixgbe_reuse_rx_page(9), ixgbe_add_rx_frag(9), ixgbe_clean_rx_irq(9),

ixgbe_configure_msix(9), ixgbe_update_itr(9), ixgbe_write_eitr(9), ixgbe_check_overtemp_subtask(9), ixgbe_check_phy_fw_load(9), ixgbe_check_module_power(9), ixgbe_check_link_cfg_err(9), ixgbe_process_link_status_event(9), ixgbe_handle_link_status_event(9),

ixgbe_schedule_fw_event(9), ixgbe_aci_event_cleanup(9), ixgbe_handle_fw_event(9), ixgbe_irq_enable(9), ixgbe_poll(9), ixgbe_request_msix_irqs(9), ixgbe_intr(9), ixgbe_request_irq(9), ixgbe_irq_disable(9), ixgbe_configure_msi_and_legacy(9),

ixgbe_configure_tx_ring(9), ixgbe_configure_tx(9), ixgbe_rss_indir_tbl_entries(9), ixgbe_store_key(9), ixgbe_init_rss_key(9), ixgbe_store_reta(9), ixgbe_store_vfreta(9), ixgbe_configure_rscctl(9), ixgbe_configure_rx(9),

ixgbe_vlan_strip_disable(9), ixgbe_vlan_strip_enable(9), ixgbe_write_mc_addr_list(9), ixgbe_set_rx_mode(9), ixgbe_configure_dcb(9), ixgbe_hpbthresh(9), ixgbe_lpbthresh(9), ixgbe_clean_rx_ring(9),

ixgbe_enable_link_status_events(9), ixgbe_disable_link_status_events(9), ixgbe_sfp_link_config(9), ixgbe_non_sfp_link_config(9), ixgbe_check_media_subtask(9), ixgbe_clear_vf_stats_counters(9), ixgbe_clean_tx_ring(9), ixgbe_clean_all_rx_rings(9), ixgbe_clean_all_tx_rings(9),

ixgbe_set_eee_capable(9), ixgbe_tx_timeout(9), ixgbe_sw_init(9), ixgbe_setup_tx_resources(9), ixgbe_setup_all_tx_resources(9), ixgbe_setup_rx_resources(9), ixgbe_setup_all_rx_resources(9), ixgbe_free_tx_resources(9), ixgbe_free_all_tx_resources(9), ixgbe_free_rx_resources(9), ixgbe_free_all_rx_resources(9),

ixgbe_max_xdp_frame_size(9), ixgbe_change_mtu(9), ixgbe_open(9), ixgbe_close(9), ixgbe_update_stats(9), ixgbe_fdir_reinit_subtask(9), ixgbe_check_hang_subtask(9), ixgbe_watchdog_update_link(9), ixgbe_watchdog_link_is_up(9), ixgbe_watchdog_link_is_down(9), ixgbe_watchdog_flush_tx(9), ixgbe_watchdog_subtask(9), ixgbe_sfp_detection_subtask(9), ixgbe_sfp_link_config_subtask(9),

ixgbe_service_timer(9), ixgbe_check_fw_error(9), ixgbe_service_task(9), ixgbe_set_mac(9), ixgbe_add_sanmac_netdev(9), ixgbe_del_sanmac_netdev(9), ixgbe_validate_rtr(9), ixgbe_set_prio_tc_map(9), ixgbe_setup_tc(9), ixgbe_configure_bridge_mode(9),

ixgbe_irq_disable_single(9), ixgbe_txrx_ring_disable(9), ixgbe_txrx_ring_enable(9), ixgbe_enumerate_functions(9), ixgbe_wol_supported(9), ixgbe_set_fw_version_e610(9), ixgbe_set_fw_version(9), ixgbe_recovery_probe(9), ixgbe_probe(9), ixgbe_remove(9),

ixgbe_io_error_detected(9), ixgbe_io_slot_reset(9), ixgbe_io_resume(9), ixgbe_init_module(9), ixgbe_exit_module(9)


πŸŽ€ and that's the page!! source/version is ./drivers/net/ethernet/intel/i..., stamped October 2026, and the page itself is ixgbe_pull_tail(9). mwah, go read some kernel source bestie πŸ’–πŸ¦‹

πŸ“¦ where this page comes from