[RFC PATCH v5 0/5] ethdev: add Tx timestamp slot APIs
Kumar, Rajesh
rajesh3.kumar at intel.com
Tue Oct 6 12:28:29 CEST 2026
Hi Stephen,
I wanted to quickly check if you have any further comments or feedback
on this v5 series?
If you are satisfied with the current changes, we can move forward to
the next steps for this patch.
Regards,
Rajesh
On 21-09-2026 08:30 pm, Kumar, Rajesh wrote:
> Hi all,
>
> This is a gentle reminder to review RFC patch series v5 ("ethdev: add
> Tx timestamp slot APIs").
>
> Regards,
> Rajesh
>
> On 08-09-2026 01:02 pm, Rajesh Kumar wrote:
>> The ethdev timesync API currently exposes Tx timestamps through a shared
>> hardware register. This requires applications to serialize timestamped
>> packets and does not allow correlation when multiple packets are in
>> flight.
>>
>> This RFC proposes an ethdev interface for hardware with independent Tx
>> timestamp slots. The interface reports the supported timestamping
>> mechanism, provides a port-global slot lifecycle, and lets applications
>> poll each slot asynchronously after transmission.
>>
>> The proposal includes the following components:
>>
>> * Capability reporting for shared-register and per-packet timestamping.
>> * Slot allocation, asynchronous timestamp retrieval, and slot release.
>> * A dual-domain timestamp structure for adjusted PHC and raw hardware
>> time.
>> * Mbuf dynamic field and dynflag support for passing slot handles to Tx,
>> with a helper that stamps a slot handle onto an mbuf.
>> * Registration and process-local reset of the cached dynfield state.
>> * An ice PMD implementation using the 64 per-port PHY timestamp slots.
>> * A testpmd command to report the slot capabilities of a port.
>> * Programming guide documentation, split into a patch describing the
>> pre-existing clock/Rx timesync API and a patch describing the new Tx
>> timestamp slot feature.
>>
>> The legacy rte_eth_timesync_read_tx_timestamp() API remains available on
>> devices using a shared timestamp register.
>>
>> Changes since v4:
>>
>> * Fixed review comments and AI observation.
>> * Consolidated the Tx timestamp slot API naming onto a single
>> rte_eth_timesync_tx_slot_{caps,alloc,read,release,stamp} prefix,
>> replacing the previous mix of tx_timestamp_slot_*, tx_ts_*, and
>> tx_slot_* spellings across the public API, PMD ops, and the ice
>> implementation.
>> * Dropped the per-port cached slot-info array in favor of a single
>> process-local dynfield offset/dynflag pair.
>> * Split the programming guide documentation out of the ethdev patch
>> into two dedicated patches: one documenting the pre-existing
>> clock/Rx timesync API, and one documenting the new Tx timestamp slot
>> feature, so review of the new functionality is not mixed with review
>> of already-existing behavior.
>> * Fixed inconsistent TX/Tx casing in comments, log messages, and
>> documentation to consistently use "Tx".
>>
>> Comments and suggestions on the interface and the ice implementation are
>> welcome.
>>
>> Rajesh Kumar (5):
>> ethdev: add Tx timestamp slot management APIs
>> doc: describe ethdev timesync clock and Rx timestamp API
>> doc: describe ethdev Tx timestamp slot API
>> net/ice: support per-packet Tx timestamp slots
>> app/testpmd: add Tx timestamp capabilities command
>>
>> app/test-pmd/cmdline.c | 79 ++++++++
>> doc/guides/nics/features.rst | 15 +-
>> doc/guides/prog_guide/ethdev/index.rst | 1 +
>> doc/guides/prog_guide/ethdev/timesync.rst | 219 +++++++++++++++++++++
>> doc/guides/rel_notes/release_26_11.rst | 7 +
>> drivers/net/intel/ice/ice_ethdev.c | 211 ++++++++++++++++++++-
>> drivers/net/intel/ice/ice_ethdev.h | 2 +
>> drivers/net/intel/ice/ice_rxtx.c | 9 +-
>> lib/ethdev/ethdev_driver.h | 28 +++
>> lib/ethdev/rte_ethdev.c | 151 ++++++++++++++-
>> lib/ethdev/rte_ethdev.h | 220 ++++++++++++++++++++++
>> 11 files changed, 933 insertions(+), 9 deletions(-)
>> create mode 100644 doc/guides/prog_guide/ethdev/timesync.rst
>>
More information about the dev
mailing list