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
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?
--Jesper