ixgbe_ptp_rx_hang(9)
π ixgbe_ptp_rx_hang β the kernel API manual, but make it make sense π
okay bestie, so this page is from the Kernel API Manual, and the function in question is ixgbe_ptp_rx_hang. Yes it's a mouthful, no you don't have to pronounce it, we just need to know what it does. Let's go β¨
β¨ NAME β¨
ixgbe_ptp_rx_hang β it's the lil detector that catches the error case when the Rx timestamp registers got latched, aka stuck, aka not slaying π
πΈ SYNOPSIS πΈ
void ixgbe_ptp_rx_hang (struct ixgbe_adapter *adapter );
that's it, that's the whole signature. void return, one argument, no drama π
π¦ ARGUMENTS π¦
adapterβ the private network adapter structure. it's the main character of this call, everything happens through it π«Ά
π₯ DESCRIPTION π₯
kay so listen. this watchdog task is scheduled specifically to detect an error case β and the error case is that the hardware dropped an Rx packet that was timestamped when the ring was full π
the way that sounds scary is because it kind of is: this particular error is rare, but the aftermath is that it leaves the device in a state where it's unable to timestamp any future packets π so like, one dropped packet and the whole timestamping vibe is cooked. that's why the watchdog exists, iykyk.
ngl this is the whole reason the function is here β rare error, but a permanently broken timestamping state if nobody catches it. respect the watchdog π
π SEE ALSO π
the kernel file lives at ./drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c β that's where the source of truth is, go read it, it's giving lore π
and here's the whole friendship group of related functions, all of them, no cap, none skipped:
ixgbe_ptp_setup_sdp_X540(9)ixgbe_ptp_setup_sdp_X550(9)ixgbe_ptp_read_X550(9)ixgbe_ptp_read_82599(9)ixgbe_ptp_convert_to_hwtstamp(9)ixgbe_ptp_adjfine_82599(9)ixgbe_ptp_adjfine_X550(9)ixgbe_ptp_adjtime(9)ixgbe_ptp_gettimex(9)ixgbe_ptp_settime(9)ixgbe_ptp_feature_enable(9)ixgbe_ptp_check_pps_event(9)ixgbe_ptp_overflow_check(9)ixgbe_ptp_clear_tx_timestamp(9)ixgbe_ptp_tx_hang(9)ixgbe_ptp_tx_hwtstamp(9)ixgbe_ptp_tx_hwtstamp_work(9)ixgbe_ptp_rx_pktstamp(9)ixgbe_ptp_rx_rgtstamp(9)ixgbe_ptp_hwtstamp_get(9)ixgbe_ptp_set_timestamp_mode(9)ixgbe_ptp_hwtstamp_set(9)ixgbe_ptp_start_cyclecounter(9)ixgbe_ptp_init_systime(9)ixgbe_ptp_reset(9)ixgbe_ptp_create_clock(9)ixgbe_ptp_init(9)ixgbe_ptp_suspend(9)ixgbe_ptp_stop(9)
and that's the page!! π source path got truncated in the footer to ./drivers/net/ethernet/intel/i..., dated October 2026, and this whole manual entry is filed under ixgbe_ptp_rx_hang(9) β periodt, go timestamp some packets responsibly 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