e1000_receive_skb(9)
okay so real talk: this page comes straight out of the Kernel API Manual, and it's about one tiny little helper in the e1000 driver family. Don't let the size fool you bestie, it's doing the Lord's work. π«Ά
β¨ NAME β¨
e1000_receive_skb β the helper function that handles Rx indications π
πΈ SYNOPSIS πΈ
void e1000_receive_skb (struct e1000_adapter *adapter , struct
net_device *netdev , struct sk_buff *skb , u32 staterr , __le16 vlan );
π¦ ARGUMENTS π¦
adapterβ the board private structure. it's giving "the driver's whole personality lives in here" energy πnetdevβ pointer to thenetdevstruct. the network device representation, iconic, no notes β¨skbβ pointer to thesk_buffthat's getting indicated up to the stack. this is the actual packet, main character behavior fr πstaterrβ the descriptor's extended error and status field, exactly as written by the hardware. hardware wrote it, we do not edit it, periodt π₯vlanβ the descriptor's vlan field, as written by hardware (and ngl, no le/be conversion happens here β that's the whole point, so do not go converting it, bestie π)
quick vibe check:staterrandvlanare raw hardware output. don't get creative with them. π
π SEE ALSO π
first up, the kernel file, front and center:
Kernel file ./drivers/net/ethernet/intel/e1000e/netdev.c
and now the whole extended cinematic universe, because apparently everyone is related at this family reunion π«Ά:
__ew32_prepare(9),e1000_regdump(9),e1000e_dump(9),e1000_desc_unused(9)e1000e_systim_to_hwtstamp(9),e1000e_rx_hwtstamp(9),e1000_rx_checksum(9)e1000_alloc_rx_buffers(9),e1000_alloc_rx_buffers_ps(9),e1000_alloc_jumbo_rx_buffers(9)e1000_clean_rx_irq(9),e1000e_tx_hwtstamp_work(9),e1000_clean_tx_irq(9),e1000_clean_rx_irq_ps(9),e1000_clean_jumbo_rx_irq(9),e1000_clean_rx_ring(9)e1000_intr_msi(9),e1000_intr(9),e1000_configure_msix(9),e1000e_set_interrupt_capability(9),e1000_request_msix(9),e1000_request_irq(9),e1000_irq_disable(9),e1000_irq_enable(9)e1000e_get_hw_control(9),e1000e_release_hw_control(9)e1000_alloc_ring_dma(9),e1000e_setup_tx_resources(9),e1000e_setup_rx_resources(9),e1000_clean_tx_ring(9),e1000e_free_tx_resources(9),e1000e_free_rx_resources(9)e1000_update_itr(9),e1000e_write_itr(9),e1000_alloc_queues(9),e1000e_poll(9)e1000e_vlan_filter_disable(9),e1000e_vlan_filter_enable(9),e1000e_vlan_strip_disable(9),e1000e_vlan_strip_enable(9)e1000_configure_tx(9),e1000_setup_rctl(9),e1000_configure_rx(9)e1000e_write_mc_addr_list(9),e1000e_write_uc_addr_list(9),e1000e_set_rx_mode(9)e1000e_get_base_timinca(9),e1000e_config_hwtstamp(9)e1000_configure(9),e1000e_power_up_phy(9),e1000_power_down_phy(9)e1000_flush_tx_ring(9),e1000_flush_rx_ring(9),e1000_flush_desc_rings(9)e1000e_systim_reset(9),e1000e_reset(9),e1000e_trigger_lsc(9),e1000e_down(9)e1000e_sanitize_systim(9),e1000e_read_systim(9),e1000e_cyclecounter_read(9)e1000_sw_init(9),e1000_intr_msi_test(9),e1000_test_msi_interrupt(9),e1000_test_msi(9)e1000e_open(9),e1000e_close(9),e1000_set_mac(9)e1000e_update_phy_task(9),e1000_update_phy_info(9),e1000e_update_phy_stats(9),e1000e_update_stats(9),e1000_phy_read_status(9)e1000_watchdog(9),e1000_tx_timeout(9),e1000e_get_stats64(9),e1000_change_mtu(9)e1000e_hwtstamp_set(9),__e1000e_disable_aspm(9),e1000e_disable_aspm(9),e1000e_disable_aspm_locked(9)e1000_netpoll(9),e1000_io_error_detected(9),e1000_io_slot_reset(9),e1000_io_resume(9)e1000_probe(9),e1000_remove(9),e1000_init_module(9),e1000_exit_module(9)
like I said. whole family reunion. everybody showed up. π
and that's the page!! π§ this lil run of sunshine is filed under the source/version tag ./drivers/net/ethernet/intel/e..., dated October 2026, and it answers to the name e1000_receive_skb(9) β slay, go read the code bestie, 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