Set tx_type to HWTSTAMP_TX_ON to enable hardware timestamping for all
outgoing packets.

Besides, set XDP_UMEM_TX_METADATA_LEN flag to reserve tx_metadata_len bytes
of per-chunk metadata.

Signed-off-by: Song Yoong Siang <[email protected]>
---
 tools/testing/selftests/bpf/xdp_hw_metadata.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/xdp_hw_metadata.c 
b/tools/testing/selftests/bpf/xdp_hw_metadata.c
index 06266aad2f99..6f7b15d6c6ed 100644
--- a/tools/testing/selftests/bpf/xdp_hw_metadata.c
+++ b/tools/testing/selftests/bpf/xdp_hw_metadata.c
@@ -79,7 +79,7 @@ static int open_xsk(int ifindex, struct xsk *xsk, __u32 
queue_id)
                .fill_size = XSK_RING_PROD__DEFAULT_NUM_DESCS,
                .comp_size = XSK_RING_CONS__DEFAULT_NUM_DESCS,
                .frame_size = XSK_UMEM__DEFAULT_FRAME_SIZE,
-               .flags = XSK_UMEM__DEFAULT_FLAGS,
+               .flags = XDP_UMEM_TX_METADATA_LEN,
                .tx_metadata_len = sizeof(struct xsk_tx_metadata),
        };
        __u32 idx = 0;
@@ -551,6 +551,7 @@ static void hwtstamp_enable(const char *ifname)
 {
        struct hwtstamp_config cfg = {
                .rx_filter = HWTSTAMP_FILTER_ALL,
+               .tx_type = HWTSTAMP_TX_ON,
        };
 
        hwtstamp_ioctl(SIOCGHWTSTAMP, ifname, &saved_hwtstamp_cfg);
-- 
2.34.1


Reply via email to