ixgbe_is_non_eop(9)
π ixgbe_is_non_eop
okay so bestie, welcome to the Kernel API Manual page for ixgbe_is_non_eop π
this one is short and sweet, which honestly? refreshing. let's get into it β¨
πΈ NAME
ixgbe_is_non_eop β process handling of non-EOP buffers π«Ά
β¨ SYNOPSIS
bool ixgbe_is_non_eop (struct ixgbe_ring *rx_ring , union
ixgbe_adv_rx_desc *rx_desc , struct sk_buff *skb );
like, it returns a bool. that's the whole vibe check right there π
π ARGUMENTS
rx_ringβ the Rx ring being processed π like, the queue we're currently going throughrx_descβ the Rx descriptor for the current buffer, aka the lil receipt for this packet pieceskbβ the current socket buffer containing the buffer in progress π§ the packet-in-progress bestie
π¦ DESCRIPTION
so what it does: this function updates next to clean. literally that's a step it takes, no cap.
then it checks the buffer. if the buffer is an EOP buffer, the function exits returning false β like, k bye, we're done here, that was the end of the packet π
otherwise, it will place the sk_buff in the next buffer to be chained, and return true, indicating that this is in fact a non-EOP buffer. so true = "nope, not the end, keep chaining, we're still going" π₯ and false = "EOP, we out" π
it's giving very much main character energy in the Rx path, honestly π
π SEE ALSO
the whole squad, fr fr β first up, the kernel file itself:
Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
and then, bestie, the entire extended friend group π (yes, all of them, i'm not skipping a single one):
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_pull_tail(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)
ngl that's a lot of cross-references but every single one of them is iconic in its own way π«Ά go read them, i'll wait π
and that's the page!! source? it lives at ./drivers/net/ethernet/intel/i... (yes, truncated in the footer, don't come for me π) and the date on it is October 2026. slay, periodt, go chain some buffers bestie π¦πβ¨
π¦ 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