Thanks to Brandon Cazander, who wrote a very detailed bug report that
even used perf probe's on xdp-newbies mailing list, we discovered that
generic-XDP contains some regressions when using bpf_xdp_adjust_head().
First issue were that my selftests script, that use bpf_xdp_adjust_head(),
by mistake didn't use generic-XDP any-longer. That selftest should have
caught the real regression introduced in commit 458bf2f224f0 ("net: core:
support XDP generic on stacked devices.").
To verify this patchset fix the regressions, you can invoked manually via:
cd tools/testing/selftests/bpf/
sudo ./test_xdp_vlan_mode_generic.sh
sudo ./test_xdp_vlan_mode_native.sh
Link: https://www.spinics.net/lists/xdp-newbies/msg01231.html
Fixes: 458bf2f224f0 ("net: core: support XDP generic on stacked devices.")
Reported by: Brandon Cazander <[email protected]>
Signed-off-by: Jesper Dangaard Brouer <[email protected]>
---
Jesper Dangaard Brouer (4):
bpf: fix XDP vlan selftests test_xdp_vlan.sh
selftests/bpf: add wrapper scripts for test_xdp_vlan.sh
selftests/bpf: reduce time to execute test_xdp_vlan.sh
net: fix bpf_xdp_adjust_head regression for generic-XDP
net/core/dev.c | 15 ++++-
tools/testing/selftests/bpf/Makefile | 3 +
tools/testing/selftests/bpf/test_xdp_vlan.sh | 57 ++++++++++++++++----
.../selftests/bpf/test_xdp_vlan_mode_generic.sh | 9 +++
.../selftests/bpf/test_xdp_vlan_mode_native.sh | 9 +++
5 files changed, 75 insertions(+), 18 deletions(-)
create mode 100755 tools/testing/selftests/bpf/test_xdp_vlan_mode_generic.sh
create mode 100755 tools/testing/selftests/bpf/test_xdp_vlan_mode_native.sh
--