summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c
diff options
context:
space:
mode:
authorYonghong Song <yonghong.song@linux.dev>2024-04-09 21:35:47 -0700
committerAlexei Starovoitov <ast@kernel.org>2024-04-10 19:52:25 -0700
commit8ba218e625f0dfb3ef46fe0721dcdf565726ff76 (patch)
treec6b821d619c3bd94494c91cdca2e1fb4b7147eec /tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c
parenta15d58b2bc82abd8c4c994af158b0410424a18d3 (diff)
downloadlinux-8ba218e625f0dfb3ef46fe0721dcdf565726ff76.tar.gz
linux-8ba218e625f0dfb3ef46fe0721dcdf565726ff76.tar.bz2
linux-8ba218e625f0dfb3ef46fe0721dcdf565726ff76.zip
selftests/bpf: Add some tests with new bpf_program__attach_sockmap() APIs
Add a few more tests in sockmap_basic.c and sockmap_listen.c to test bpf_link based APIs for SK_MSG and SK_SKB programs. Link attach/detach/update are all tested. All tests are passed. Acked-by: Eduard Zingerman <eddyz87@gmail.com> Reviewed-by: John Fastabend <john.fastabend@gmail.com> Signed-off-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/r/20240410043547.3738448-1-yonghong.song@linux.dev Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c')
-rw-r--r--tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c b/tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c
index 1d86a717a290..69aacc96db36 100644
--- a/tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c
+++ b/tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c
@@ -23,10 +23,25 @@ struct {
__type(value, int);
} sock_map_msg SEC(".maps");
-SEC("sk_skb")
+SEC("sk_skb/stream_verdict")
int prog_skb_verdict(struct __sk_buff *skb)
{
return SK_PASS;
}
+int clone_called;
+
+SEC("sk_skb/stream_verdict")
+int prog_skb_verdict_clone(struct __sk_buff *skb)
+{
+ clone_called = 1;
+ return SK_PASS;
+}
+
+SEC("sk_skb/stream_parser")
+int prog_skb_parser(struct __sk_buff *skb)
+{
+ return SK_PASS;
+}
+
char _license[] SEC("license") = "GPL";