While implementing PoC building blocks for eBPF code XDP+TC that can manipulate VLANs headers, I discovered a bug in generic-XDP.
The fix should be backported to stable kernels. Even-though generic-XDP were introduced in v4.12, I think the bug is not exposed until v4.14 in the mentined fixes commit. --- p.s. send from Embedded Recipes 2018 in Paris Jesper Dangaard Brouer (3): net: fix generic XDP to handle if eth header was mangled bpf: make TC vlan bpf_helpers avail to selftests selftests/bpf: add XDP selftests for modifying and popping VLAN headers net/core/dev.c | 14 + tools/testing/selftests/bpf/Makefile | 5 tools/testing/selftests/bpf/bpf_helpers.h | 4 tools/testing/selftests/bpf/test_xdp_vlan.c | 292 ++++++++++++++++++++++++++ tools/testing/selftests/bpf/test_xdp_vlan.sh | 195 +++++++++++++++++ 5 files changed, 508 insertions(+), 2 deletions(-) create mode 100644 tools/testing/selftests/bpf/test_xdp_vlan.c create mode 100755 tools/testing/selftests/bpf/test_xdp_vlan.sh -- Signature