On 07/27, Jesper Dangaard Brouer wrote: > > On 26/07/2023 01.10, Willem de Bruijn wrote: > > Stanislav Fomichev wrote: > > > On 07/25, Willem de Bruijn wrote: > > > > Stanislav Fomichev wrote: > [...] > > > > > +struct xsk_tx_metadata { > > > > > + __u32 flags; > > > > > + > > > > > + /* XDP_TX_METADATA_CHECKSUM */ > > > > > + > > > > > + /* Offset from desc->addr where checksumming should start. */ > > > > > + __u16 csum_start; > > > > > + /* Offset from csum_start where checksum should be stored. */ > > > > > + __u16 csum_offset; > > > > > + > > > > > + /* XDP_TX_METADATA_TIMESTAMP */ > > > > > + > > > > > + __u64 tx_timestamp; > > > > > +}; > >>> > > > > Is this structure easily extensible for future offloads, > [...] > > > > Pacing offload is the other feature that comes to mind. That could > > conceivably use the tx_timestamp field. > > I would really like to see hardware offload "pacing" or LaunchTime as > hardware chips i210 and i225 calls it. I looked at the TX descriptor > details for drivers igc (i225) and igb (i210), and documented my finding > here[1], which should help with the code details if someone is motivated > for implementing this (I know of people on xdp-hints list that wanted > this LaunchTime feature). > > [1] https://github.com/xdp-project/xdp-project/blob/master/areas/tsn/code01_follow_qdisc_TSN_offload.org#tx-time-to-hardware-driver-igc Nice! > AFAIK this patchset uses struct xsk_tx_metadata as both TX and > TX-Completion, right?. It would be "conceivable" to reuse tx_timestamp > field, but it might be confusing for uAPI end-users. Maybe a union? Sure, but do we add it later when we add launch time? For now, let's figure out whether 'tx_timestamp' is the right name for the 'tx completion timestamp' :-D Later on, we can union it with launch_time?