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 <brandon.cazander@xxxxxxxxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> --- 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 --