[PATCH v7 0/2] net/af_xdp: add Rx timestamping and read_clock support

Mark Blasko <[email protected]>
Newsgroups org.dpdk.dev
Message-ID <[email protected]>
This patch series introduces support for dynamic Rx timestamping and
clock querying in the AF_XDP Poll Mode Driver.

The first patch introduces three new vdev devargs to specify
layout-agnostic metadata offsets and bitmasks for extracting hardware
Rx timestamps from XDP metadata into the mbuf dynamic timestamp field.

The second patch implements the read_clock ethdev operation, querying
ethtool for the interface's PTP Hardware Clock index at start and using
clock_gettime to query the NIC hardware clock time.
---
v7:
- Patch 1:
  - Fail immediately if SIOCGHWTSTAMP ioctl fails to ensure SIOCSHWTSTAMP
    is only issued with an existing configuration read back from kernel.
v6:
- Patch 1:
  - Add per-queue Rx timestamp offload support.
  - Refine SIOCGHWTSTAMP filter check and preserve flags.
  - Fix feature matrix ordering in af_xdp.ini.
  - Add conversion and overlap validation for devargs.
  - Unify timestamp extraction for ZC and CP paths.
  - Update documentation formatting, bounds, and casing.
- Patch 2:
  - Fix ptp_fd cleanup path in eth_dev_close().
  - Lower PTP open failure log level to INFO.
v5:
- Patch 1:
  - Fix rx_timestamp_enabled check in eth_rx_queue_setup().
  - Update af_xdp.rst documentation and code example.
  - Update release notes for 26.11.
- Patch 2:
  - Update release notes for 26.11.
v4:
- Patch 1:
  - Validate rx_timestamp_offset (8 <= offset <= 256) and valid_hint_offset
    (1 <= offset <= 256) bounds.
  - Revert parse_integer_arg() to base 10 and add dedicated parse_hex_arg()
    for validity mask.
  - Optimize fast-path check and use rte_pktmbuf_mtod_offset() macro.
  - Preserve config.tx_type in SIOCSHWTSTAMP instead of forcing
    HWTSTAMP_TX_OFF.
  - Return -errno on socket failure and replace (caddr_t) cast with
    (void *).
  - Advertise RTE_ETH_RX_OFFLOAD_TIMESTAMP conditionally when
    rx_timestamp_offset >= 0.
  - Update af_xdp.ini features matrix with Timestamp offload = Y.
  - Document CAP_NET_ADMIN requirement and persistent HW filter side
    effect in af_xdp.rst.
- Patch 2:
  - Move ptp_fd into pmd_process_private for multi-process safety.
  - Decouple /dev/ptpX opening from RTE_ETH_RX_OFFLOAD_TIMESTAMP.
  - Move read_clock documentation out of "Options" into its own section
    in af_xdp.rst.
  - Add #ifndef guards around CLOCKFD and FD_TO_CLOCKID macro definitions.
  - Replace (caddr_t) cast with (void *).
v3:
- Patch 1:
  - Add PMD documentation and release notes entry.
  - Move dynamic mbuf timestamp field registration to eth_dev_start().
  - Replace 64-bit pointer casting with memcpy.
  - Add devargs validation and support auto-base integer parsing.
- Patch 2:
  - Add documentation and release notes entry.
  - Add PTP file descriptor cleanup on device start, stop, and close.
  - Return -errno on clock_gettime() failure and fix PTP open error logging.
v2:
- Patch 1:
  - Replace static metadata struct assumption with configurable vdev devargs
    for layout-agnostic timestamp offset extraction and validity verification.

Mark Blasko (2):
  net/af_xdp: add af_xdp rx metadata and dynamic timestamping support
  net/af_xdp: add read_clock support to AF_XDP PMD

 doc/guides/nics/af_xdp.rst             |  51 ++++
 doc/guides/nics/features/af_xdp.ini    |   1 +
 doc/guides/rel_notes/release_26_11.rst |   7 +
 drivers/net/af_xdp/rte_eth_af_xdp.c    | 344 ++++++++++++++++++++++++-
 4 files changed, 394 insertions(+), 9 deletions(-)

-- 
2.55.0.691.gc56d675ccc-goog
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.