[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <PH0PR11MB58302B932136F6E27A3F7712D8E82@PH0PR11MB5830.namprd11.prod.outlook.com>
Date: Fri, 31 Jan 2025 13:36:46 +0000
From: "Song, Yoong Siang" <yoong.siang.song@...el.com>
To: "Bouska, Zdenek" <zdenek.bouska@...mens.com>, "Nguyen, Anthony L"
<anthony.l.nguyen@...el.com>, "Kitszel, Przemyslaw"
<przemyslaw.kitszel@...el.com>, Andrew Lunn <andrew+netdev@...n.ch>, "David
S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, "Jakub
Kicinski" <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, "Alexei
Starovoitov" <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, Jesper
Dangaard Brouer <hawk@...nel.org>, John Fastabend <john.fastabend@...il.com>,
"Gomes, Vinicius" <vinicius.gomes@...el.com>, "Bezdeka, Florian"
<florian.bezdeka@...mens.com>, "Kiszka, Jan" <jan.kiszka@...mens.com>
CC: "intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"bpf@...r.kernel.org" <bpf@...r.kernel.org>, "Bouska, Zdenek"
<zdenek.bouska@...mens.com>
Subject: RE: [PATCH] igc: Fix HW RX timestamp when passed by ZC XDP
On Tuesday, January 28, 2025 8:27 PM, Zdenek Bouska <zdenek.bouska@...mens.com> 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@...mens.com>
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@...el.com>
Powered by blists - more mailing lists