RE: [PATCH] igc: Fix HW RX timestamp when passed by ZC XDP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday, January 28, 2025 8:27 PM, Zdenek Bouska <zdenek.bouska@xxxxxxxxxxx> wrote:
>Fixes HW RX timestamp in the following scenario:
>- AF_PACKET socket with enabled HW RX timestamps is created
>- AF_XDP socket with enabled zero copy is created
>- frame is forwarded to the BPF program, where the timestamp should
>  still be readable (extracted by igc_xdp_rx_timestamp(), kfunc
>  behind bpf_xdp_metadata_rx_timestamp())
>- the frame got XDP_PASS from BPF program, redirecting to the stack
>- AF_PACKET socket receives the frame with HW RX timestamp
>
>Moves the skb timestamp setting from igc_dispatch_skb_zc() to
>igc_construct_skb_zc() so that igc_construct_skb_zc() is similar to
>igc_construct_skb().
>
>This issue can also be reproduced by running:
> # tools/testing/selftests/bpf/xdp_hw_metadata enp1s0
>When a frame with the wrong port 9092 (instead of 9091) is used:
> # echo -n xdp | nc -u -q1 192.168.10.9 9092
>then the RX timestamp is missing and xdp_hw_metadata prints:
> skb hwtstamp is not found!
>
>With this fix or when copy mode is used:
> # tools/testing/selftests/bpf/xdp_hw_metadata -c enp1s0
>then RX timestamp is found and xdp_hw_metadata prints:
> found skb hwtstamp = 1736509937.852786132
>
>Fixes: 069b142f5819 ("igc: Add support for PTP .getcyclesx64()")
>Signed-off-by: Zdenek Bouska <zdenek.bouska@xxxxxxxxxxx>

This patch LGTM and tested working on my side with xdp_hw_metadata
self-test app on XDP_PASS scenario.
Thanks for the patch.
	
Reviewed-by: Song Yoong Siang <yoong.siang.song@xxxxxxxxx>




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux