summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/progs/empty_skb.c
diff options
context:
space:
mode:
authorSun Jian <sun.jian.kdev@gmail.com>2026-04-08 11:46:23 +0800
committerAlexei Starovoitov <ast@kernel.org>2026-04-12 15:42:57 -0700
commitf1cc94665df907a85589ddb5fe74d7768ff61533 (patch)
treeea85eea33e93b218bbc7c04a87fd9f2d47fcd296 /tools/testing/selftests/bpf/progs/empty_skb.c
parent12bec2bd4b76d81c5d3996bd14ec1b7f4d983747 (diff)
selftests/bpf: cover short IPv4/IPv6 inputs with adjust_room
Add a selftest covering ETH_HLEN-sized IPv4/IPv6 EtherType inputs for bpf_prog_test_run_skb(). Reuse a single zero-initialized struct ethhdr eth_hlen and set eth_hlen.h_proto from the per-test h_proto field. Also add a dedicated tc_adjust_room program and route the short IPv4/IPv6 cases to it, so the selftest actually exercises the bpf_skb_adjust_room() path from the report. Signed-off-by: Sun Jian <sun.jian.kdev@gmail.com> Link: https://lore.kernel.org/r/20260408034623.180320-3-sun.jian.kdev@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/empty_skb.c')
-rw-r--r--tools/testing/selftests/bpf/progs/empty_skb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/empty_skb.c b/tools/testing/selftests/bpf/progs/empty_skb.c
index 4b0cd6753251..44326f5cc8bb 100644
--- a/tools/testing/selftests/bpf/progs/empty_skb.c
+++ b/tools/testing/selftests/bpf/progs/empty_skb.c
@@ -35,3 +35,10 @@ int tc_redirect_egress(struct __sk_buff *skb)
ret = bpf_clone_redirect(skb, ifindex, 0);
return 0;
}
+
+SEC("tc")
+int tc_adjust_room(struct __sk_buff *skb)
+{
+ ret = bpf_skb_adjust_room(skb, 4, BPF_ADJ_ROOM_NET, 0);
+ return 0;
+}