i40e_ptp_rx_hwtstamp(9)
β¨ i40e_ptp_rx_hwtstamp β¨
okay so this is a page from the Kernel API Manual and honestly? it's a little baddie. it's all about i40e_ptp_rx_hwtstamp, the utility function that checks for an Rx timestamp π
get comfy, bestie, we're going stamp shopping.
πΈ NAME πΈ
i40e_ptp_rx_hwtstamp β the utility function that checks for an Rx timestamp. that's it, that's the vibe check π
π¦ SYNOPSIS π¦
void i40e_ptp_rx_hwtstamp (struct i40e_pf *pf , struct sk_buff *skb , u8
index );
like, three args, void return, no drama. periodt β¨
π ARGUMENTS π
pfβ the board private structure π«Ά she's the main character here, the whole board's business lives inside her.skbβ the particular skb we're gonna send the timestamp with. it's this one, not some other one, iykyk πindexβ an index into the receive timestamp registers for the timestamp β think of it as a little map pin telling you which register slot has your timestamp in it.
π DESCRIPTION π
okay so here's the lore π The XL710 receives a notification in the receive descriptor with an offset into the set of RXTIME registers where the timestamp is for that skb.
this function? she goes and fetches the receive timestamp from that offset, if a valid one exists β so like, no valid timestamp, no timestamp, that's the rule ππ
and the RXTIME registers are in ns, so we must convert the result first. literally cannot skip that step, no cap. nanosecond girlies need a conversion before they can hang πβ¨
π₯ SEE ALSO π₯
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_ptp.c
and the whole friend group, all of them, every single one, we love a full roster π:
i40e_ptp_extts0_work(9)i40e_is_ptp_pin_dev(9)i40e_can_set_pins(9)i40_ptp_reset_timing_events(9)i40e_ptp_verify(9)i40e_ptp_read(9)i40e_ptp_write(9)i40e_ptp_convert_to_hwtstamp(9)i40e_ptp_adjfine(9)i40e_ptp_set_1pps_signal_hw(9)i40e_ptp_adjtime(9)i40e_ptp_gettimex(9)i40e_ptp_settime(9)i40e_pps_configure(9)i40e_pin_state(9)i40e_ptp_enable_pin(9)i40e_ptp_feature_enable(9)i40e_ptp_get_rx_events(9)i40e_ptp_rx_hang(9)i40e_ptp_tx_hang(9)i40e_ptp_tx_hwtstamp(9)i40e_ptp_set_increment(9)i40e_ptp_hwtstamp_get(9)i40e_ptp_free_pins(9)i40e_ptp_set_pin_hw(9)i40e_ptp_set_led_hw(9)i40e_ptp_init_leds_hw(9)i40e_ptp_set_pins_hw(9)i40e_ptp_set_pins(9)i40e_ptp_alloc_pins(9)i40e_ptp_set_timestamp_mode(9)i40e_ptp_hwtstamp_set(9)i40e_init_pin_config(9)i40e_ptp_create_clock(9)i40e_ptp_save_hw_time(9)i40e_ptp_restore_hw_time(9)i40e_ptp_init(9)i40e_ptp_stop(9)
and that's the whole page, bestie π this cutie comes to you straight from ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's filed under i40e_ptp_rx_hwtstamp(9). slay, go read your timestamps π§πΈ
π¦ 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