diff options
| author | Yonghong Song <yonghong.song@linux.dev> | 2024-04-09 21:35:47 -0700 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2024-04-10 19:52:25 -0700 |
| commit | 8ba218e625f0dfb3ef46fe0721dcdf565726ff76 (patch) | |
| tree | c6b821d619c3bd94494c91cdca2e1fb4b7147eec /tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c | |
| parent | a15d58b2bc82abd8c4c994af158b0410424a18d3 (diff) | |
| download | linux-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.c | 17 |
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"; |
