[PATCH bpf-next v3 0/6] XDP metadata support for tun driver

Marcus Wichelmann posted 6 patches 9 months, 3 weeks ago
There is a newer version of this series
drivers/net/tun.c                             |  28 ++-
tools/testing/selftests/bpf/network_helpers.c |  28 +++
tools/testing/selftests/bpf/network_helpers.h |   3 +
.../selftests/bpf/prog_tests/lwt_helpers.h    |  29 ----
.../bpf/prog_tests/xdp_context_test_run.c     | 163 ++++++++++++++++--
.../selftests/bpf/progs/test_xdp_meta.c       |  56 +++---
6 files changed, 230 insertions(+), 77 deletions(-)
[PATCH bpf-next v3 0/6] XDP metadata support for tun driver
Posted by Marcus Wichelmann 9 months, 3 weeks ago
Hi,

thank you for your reviw. As promised, here is V3 of this patch series.

I noticed that the updated selftests were flaky sometimes due to the kernel
networking stack sending IPv6 multicast listener reports on the created
test interfaces.
This can be seen here:
https://github.com/kernel-patches/bpf/actions/runs/13449071153/job/37580497963

Setting the NOARP flag on the interfaces should fix this race condition.

Successful pipeline:
https://github.com/kernel-patches/bpf/actions/runs/13500667544

Signed-off-by: Marcus Wichelmann <marcus.wichelmann@hetzner-cloud.de>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>

---

v3:
- change the condition to handle xdp_buffs without metadata support, as
  suggested by Willem de Bruijn <willemb@google.com>
- add clarifying comment why that condition is needed
- set NOARP flag in selftests to ensure that the kernel does not send
  packets on the test interfaces that may interfere with the tests

v2: https://lore.kernel.org/bpf/20250217172308.3291739-1-marcus.wichelmann@hetzner-cloud.de/
- submit against bpf-next subtree
- split commits and improved commit messages
- remove redundant metasize check and add clarifying comment instead
- use max() instead of ternary operator
- add selftest for metadata support in the tun driver

v1: https://lore.kernel.org/all/20250130171614.1657224-1-marcus.wichelmann@hetzner-cloud.de/

Marcus Wichelmann (6):
  net: tun: enable XDP metadata support
  net: tun: enable transfer of XDP metadata to skb
  selftests/bpf: move open_tuntap to network helpers
  selftests/bpf: refactor xdp_context_functional test and bpf program
  selftests/bpf: add test for XDP metadata support in tun driver
  selftests/bpf: fix file descriptor assertion in open_tuntap helper

 drivers/net/tun.c                             |  28 ++-
 tools/testing/selftests/bpf/network_helpers.c |  28 +++
 tools/testing/selftests/bpf/network_helpers.h |   3 +
 .../selftests/bpf/prog_tests/lwt_helpers.h    |  29 ----
 .../bpf/prog_tests/xdp_context_test_run.c     | 163 ++++++++++++++++--
 .../selftests/bpf/progs/test_xdp_meta.c       |  56 +++---
 6 files changed, 230 insertions(+), 77 deletions(-)

-- 
2.43.0
Re: [PATCH bpf-next v3 0/6] XDP metadata support for tun driver
Posted by Willem de Bruijn 9 months, 3 weeks ago
Marcus Wichelmann wrote:
> Hi,
> 
> thank you for your reviw. As promised, here is V3 of this patch series.
> 
> I noticed that the updated selftests were flaky sometimes due to the kernel
> networking stack sending IPv6 multicast listener reports on the created
> test interfaces.
> This can be seen here:
> https://github.com/kernel-patches/bpf/actions/runs/13449071153/job/37580497963
> 
> Setting the NOARP flag on the interfaces should fix this race condition.
> 
> Successful pipeline:
> https://github.com/kernel-patches/bpf/actions/runs/13500667544
> 
> Signed-off-by: Marcus Wichelmann <marcus.wichelmann@hetzner-cloud.de>
> Acked-by: Jason Wang <jasowang@redhat.com>
> Reviewed-by: Willem de Bruijn <willemb@google.com>

Please don't add tags, unless a person has explicitly added them.

And they are only sticky when the code has not been changed since
they added them.

These are only in the cover letter, so not picked up. But for future
revisions and patches.

I'll take a closer look at the actual patches in a bit.
 
> ---
> 
> v3:
> - change the condition to handle xdp_buffs without metadata support, as
>   suggested by Willem de Bruijn <willemb@google.com>
> - add clarifying comment why that condition is needed
> - set NOARP flag in selftests to ensure that the kernel does not send
>   packets on the test interfaces that may interfere with the tests
> 
> v2: https://lore.kernel.org/bpf/20250217172308.3291739-1-marcus.wichelmann@hetzner-cloud.de/
> - submit against bpf-next subtree
> - split commits and improved commit messages
> - remove redundant metasize check and add clarifying comment instead
> - use max() instead of ternary operator
> - add selftest for metadata support in the tun driver
> 
> v1: https://lore.kernel.org/all/20250130171614.1657224-1-marcus.wichelmann@hetzner-cloud.de/
> 
> Marcus Wichelmann (6):
>   net: tun: enable XDP metadata support
>   net: tun: enable transfer of XDP metadata to skb
>   selftests/bpf: move open_tuntap to network helpers
>   selftests/bpf: refactor xdp_context_functional test and bpf program
>   selftests/bpf: add test for XDP metadata support in tun driver
>   selftests/bpf: fix file descriptor assertion in open_tuntap helper
> 
>  drivers/net/tun.c                             |  28 ++-
>  tools/testing/selftests/bpf/network_helpers.c |  28 +++
>  tools/testing/selftests/bpf/network_helpers.h |   3 +
>  .../selftests/bpf/prog_tests/lwt_helpers.h    |  29 ----
>  .../bpf/prog_tests/xdp_context_test_run.c     | 163 ++++++++++++++++--
>  .../selftests/bpf/progs/test_xdp_meta.c       |  56 +++---
>  6 files changed, 230 insertions(+), 77 deletions(-)
> 
> -- 
> 2.43.0
>
Re: [PATCH bpf-next v3 0/6] XDP metadata support for tun driver
Posted by Marcus Wichelmann 9 months, 3 weeks ago
Am 25.02.25 um 15:55 schrieb Willem de Bruijn:
> Marcus Wichelmann wrote:
>> [...]
>>
>> Signed-off-by: Marcus Wichelmann <marcus.wichelmann@hetzner-cloud.de>
>> Acked-by: Jason Wang <jasowang@redhat.com>
>> Reviewed-by: Willem de Bruijn <willemb@google.com>
> 
> Please don't add tags, unless a person has explicitly added them.
> 
> And they are only sticky when the code has not been changed since
> they added them.
> 
> These are only in the cover letter, so not picked up. But for future
> revisions and patches.

Oh, I'm sorry. I checked https://docs.kernel.org/process/submitting-patches.html
but must have misunderstood it then.

To clarify:
So these tags are limited to a single patch of the patch series and I should only
carry them over, when the single patch where they were added to is re-sent in a
follow-up patch series without changes?

Thank you. I still have to familiarise myself with the mailinglist processes.

Marcus
Re: [PATCH bpf-next v3 0/6] XDP metadata support for tun driver
Posted by Willem de Bruijn 9 months, 3 weeks ago
Marcus Wichelmann wrote:
> Am 25.02.25 um 15:55 schrieb Willem de Bruijn:
> > Marcus Wichelmann wrote:
> >> [...]
> >>
> >> Signed-off-by: Marcus Wichelmann <marcus.wichelmann@hetzner-cloud.de>
> >> Acked-by: Jason Wang <jasowang@redhat.com>
> >> Reviewed-by: Willem de Bruijn <willemb@google.com>
> > 
> > Please don't add tags, unless a person has explicitly added them.
> > 
> > And they are only sticky when the code has not been changed since
> > they added them.
> > 
> > These are only in the cover letter, so not picked up. But for future
> > revisions and patches.
> 
> Oh, I'm sorry. I checked https://docs.kernel.org/process/submitting-patches.html
> but must have misunderstood it then.
> 
> To clarify:
> So these tags are limited to a single patch of the patch series and I should only
> carry them over, when the single patch where they were added to is re-sent in a
> follow-up patch series without changes?

That's right.