[PATCH v3 1/2] net/af_xdp: add af_xdp rx metadata and dynamic timestamping support

Mark Blasko blasko at google.com
Sat Aug 1 05:26:25 CEST 2026


On Sun, Jul 26, 2026 at 10:01 AM Stephen Hemminger
<stephen at networkplumber.org> wrote:
>
> On Tue, 21 Jul 2026 12:11:27 +0000
> Mark Blasko <blasko at google.com> wrote:
>
>
> > +xdp_meta_rx_ts_offset
> > +~~~~~~~~~~~~~~~~~~~~~
> > +
> > +The ``xdp_meta_rx_ts_offset`` argument specifies the byte offset of the 64-bit RX
> > +timestamp within the XDP metadata headroom area (prepended before packet data).
> > +
> > +.. code-block:: console
> > +
> > +    --vdev net_af_xdp,iface=ens786f1,xdp_meta_rx_ts_offset=8
> > +
> > +xdp_meta_valid_hint_offset
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +
> > +The ``xdp_meta_valid_hint_offset`` argument specifies the byte offset of the validity
> > +flag byte within the XDP metadata headroom area.
> > +
> > +.. code-block:: console
> > +
> > +    --vdev net_af_xdp,iface=ens786f1,xdp_meta_rx_ts_offset=8,xdp_meta_valid_hint_offset=4
> > +
> > +xdp_meta_rx_ts_valid_mask
> > +~~~~~~~~~~~~~~~~~~~~~~~~~
> > +
> > +The ``xdp_meta_rx_ts_valid_mask`` argument specifies the bitmask (in hex or decimal) used
> > +to verify timestamp validity at ``xdp_meta_valid_hint_offset``.
> > +
> > +.. code-block:: console
> > +
> > +    --vdev net_af_xdp,iface=ens786f1,xdp_meta_rx_ts_offset=8,xdp_meta_valid_hint_offset=4,xdp_meta_rx_ts_valid_mask=0x1
> > +
>
> Awkward to have so many new metadata devargs, but I guess if XDP has no metadata standard there
> is no better way. Maybe combine into one devarg if all are required?

Not all parameters are required: `xdp_meta_rx_ts_offset` is the only
devarg needed for basic Rx
timestamping when timestamps are always valid. `xdp_meta_valid_hint_offset` and
`xdp_meta_rx_ts_valid_mask` are optional parameters used only when the
BPF/driver layout
provides a per-packet validity hint.

Sent v4 with the other review comments addressed.


More information about the dev mailing list