e1000e_config_hwtstamp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… e1000e_config_hwtstamp(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” today's main character is e1000e_config_hwtstamp, and yes, the manual name is literally baked into the title up there, iykyk πŸŽ€


🌸 NAME 🌸

e1000e_config_hwtstamp β€” configure the hwtstamp registers and enable/disable πŸ¦‹


⭐ SYNOPSIS ⭐

int e1000e_config_hwtstamp (struct e1000_adapter *adapter , struct
kernel_hwtstamp_config *config , struct netlink_ext_ack *extack );

πŸŽ€ ARGUMENTS πŸŽ€

  • adapter β€” the board private structure, aka where all the driver's private business lives πŸ™ˆ
  • config β€” the timestamp configuration, this is the vibe check for how timestamping should behave ✨
  • extack β€” netlink extended ACK, so errors can get reported back properly πŸ’Œ

πŸ”₯ DESCRIPTION πŸ”₯

Outgoing time stamping can be enabled and disabled, no cap. Play nice and disable it when requested β€” like, it shouldn't cause any overhead when no packet needs it anyway, so there's truly no reason to be dramatic about it πŸ’…. Real talk though: at most one packet in the queue may be marked for time stamping. Why? Because otherwise it would be impossible to tell for sure which packet the hardware time stamp belongs to 😭 and that's the whole point, bestie.

Incoming time stamping has to be configured via the hardware filters β€” that's just how it is 🧚. Heads up: not all combinations are supported, and in particular the event type has to be specified fr fr. Also, matching the kind of event packet is not</> supported, with exactly one exception: "all V2 events regardless of level 2 or 4" πŸ‘‘

ok so quick recap of the receipts: outgoing = one marked packet max, incoming = hardware filters only, event type = mandatory, event-kind matching = nope except that one V2 case. Slay. βœ…

🌈 SEE ALSO 🌈

Kernel file ./drivers/net/ethernet/intel/e1000e/netdev.c β€” the source of truth, go read it 🫢

__ew32_prepare(9), e1000_regdump(9), e1000e_dump(9), e1000_desc_unused(9), e1000e_systim_to_hwtstamp(9), e1000e_rx_hwtstamp(9), e1000_receive_skb(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), 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)


πŸ’€ one (1) tiny warning babe: incoming timestamping configurations are not all supported β€” event type is mandatory, and event-kind matching is off the table except for that single V2-events-regardless-of-level-2-or-4 case. Do not come for me if you ignore this, I warned you πŸ™ˆ

k that's the whole page, mwah πŸ’‹ β€” this little love letter came from ./drivers/net/ethernet/intel/e... and it's dated October 2026, so go forth and timestamp responsibly, bestie πŸ¦‹πŸ’–βœ¨

πŸ“¦ where this page comes from