diff options
author | Andrii Nakryiko <andriin@fb.com> | 2020-07-31 11:28:28 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-08-01 20:38:28 -0700 |
commit | 90806ccc90bbd0150267a97ae4003269597a6a6c (patch) | |
tree | 9a3eb6b6cda28f4689509797816966e648cf84fb /tools/testing/selftests/bpf/prog_tests/xdp_link.c | |
parent | 2e49527e52486dac910460b1b3f6fce6e21c6b48 (diff) | |
download | linux-90806ccc90bbd0150267a97ae4003269597a6a6c.tar.gz linux-90806ccc90bbd0150267a97ae4003269597a6a6c.tar.bz2 linux-90806ccc90bbd0150267a97ae4003269597a6a6c.zip |
selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links
Add bpf_link__detach() testing to selftests for cgroup, netns, and xdp
bpf_links.
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20200731182830.286260-4-andriin@fb.com
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/xdp_link.c')
-rw-r--r-- | tools/testing/selftests/bpf/prog_tests/xdp_link.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_link.c b/tools/testing/selftests/bpf/prog_tests/xdp_link.c index 52cba6795d40..6f814999b395 100644 --- a/tools/testing/selftests/bpf/prog_tests/xdp_link.c +++ b/tools/testing/selftests/bpf/prog_tests/xdp_link.c @@ -131,6 +131,20 @@ void test_xdp_link(void) CHECK(link_info.xdp.ifindex != IFINDEX_LO, "link_ifindex", "got %u != exp %u\n", link_info.xdp.ifindex, IFINDEX_LO); + err = bpf_link__detach(link); + if (CHECK(err, "link_detach", "failed %d\n", err)) + goto cleanup; + + memset(&link_info, 0, sizeof(link_info)); + err = bpf_obj_get_info_by_fd(bpf_link__fd(link), &link_info, &link_info_len); + if (CHECK(err, "link_info", "failed: %d\n", err)) + goto cleanup; + CHECK(link_info.prog_id != id1, "link_prog_id", + "got %u != exp %u\n", link_info.prog_id, id1); + /* ifindex should be zeroed out */ + CHECK(link_info.xdp.ifindex != 0, "link_ifindex", + "got %u != exp %u\n", link_info.xdp.ifindex, 0); + cleanup: test_xdp_link__destroy(skel1); test_xdp_link__destroy(skel2); |