Thread (6 messages) flat view 6 messages, 4 authors, 2021-06-03

RE: [PATCH net v4] igb: Fix XDP with PTP enabled

From: Penigalapati, Sandeep <hidden>
Date: 2021-06-03 11:30:57
Also in: bpf, intel-wired-lan

-----Original Message-----
From: Kurt Kanzenbach <kurt@linutronix.de>
Sent: Monday, May 3, 2021 12:58 PM
To: Brandeburg, Jesse <redacted>; Nguyen, Anthony L
[off-list ref]; David S. Miller [off-list ref];
Jakub Kicinski [off-list ref]
Cc: Alexei Starovoitov <ast@kernel.org>; Daniel Borkmann
[off-list ref]; Jesper Dangaard Brouer [off-list ref]; John
Fastabend [off-list ref]; Sven Auhagen
[off-list ref]; intel-wired-lan@lists.osuosl.org;
netdev@vger.kernel.org; bpf@vger.kernel.org; Ilias Apalodimas
[off-list ref]; Lorenzo Bianconi [off-list ref];
Sebastian Andrzej Siewior [off-list ref]; Richard Cochran
[off-list ref]; Alexander Duyck
[off-list ref]; Tyler S [off-list ref];
Fijalkowski, Maciej [off-list ref]; Kurt Kanzenbach
[off-list ref]
Subject: [PATCH net v4] igb: Fix XDP with PTP enabled

When using native XDP with the igb driver, the XDP frame data doesn't point
to the beginning of the packet. It's off by 16 bytes. Everything works as
expected with XDP skb mode.

Actually these 16 bytes are used to store the packet timestamps. Therefore,
pull the timestamp before executing any XDP operations and adjust all other
code accordingly. The igc driver does it like that as well.

Tested with Intel i210 card and AF_XDP sockets.

Fixes: 9cbc948b5a20 ("igb: add XDP support")
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
---

Changes since v3:

* Get rid of timestamp check in hot path (Maciej Fijalkowski)

Changes since v2:

* Check timestamp for validity (Nguyen, Anthony L)

Changes since v1:

* Use xdp_prepare_buff() (Lorenzo Bianconi)

Changes since RFC:

* Removed unused return value definitions (Alexander Duyck)

Previous versions:

* https://lkml.kernel.org/netdev/20210422052617.17267-1-
kurt@linutronix.de/
* https://lkml.kernel.org/netdev/20210419072332.7246-1-
kurt@linutronix.de/
* https://lkml.kernel.org/netdev/20210415092145.27322-1-
kurt@linutronix.de/
* https://lkml.kernel.org/netdev/20210412101713.15161-1-
kurt@linutronix.de/

drivers/net/ethernet/intel/igb/igb.h      |  2 +-
drivers/net/ethernet/intel/igb/igb_main.c | 45 +++++++++++++----------
drivers/net/ethernet/intel/igb/igb_ptp.c  | 23 +++++-------
3 files changed, 37 insertions(+), 33 deletions(-)
Tested-by: Sandeep Penigalapati <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help