Loading tools/testing/selftests/bpf/.gitignore +0 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ libbpf.so.* test_hashmap test_btf_dump xdping test_sockopt_sk test_sockopt_multi test_sockopt_inherit test_tcp_rtt tools/testing/selftests/bpf/Makefile +1 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test test_sock test_btf test_sockmap get_cgroup_id_user test_socket_cookie \ test_cgroup_storage test_select_reuseport test_section_names \ test_netcnt test_tcpnotify_user test_sock_fields test_sysctl test_hashmap \ test_btf_dump test_cgroup_attach xdping test_sockopt_sk \ test_btf_dump test_cgroup_attach xdping \ test_sockopt_multi test_sockopt_inherit test_tcp_rtt BPF_OBJ_FILES = $(patsubst %.c,%.o, $(notdir $(wildcard progs/*.c))) Loading Loading @@ -113,7 +113,6 @@ $(OUTPUT)/test_netcnt: cgroup_helpers.c $(OUTPUT)/test_sock_fields: cgroup_helpers.c $(OUTPUT)/test_sysctl: cgroup_helpers.c $(OUTPUT)/test_cgroup_attach: cgroup_helpers.c $(OUTPUT)/test_sockopt_sk: cgroup_helpers.c $(OUTPUT)/test_sockopt_multi: cgroup_helpers.c $(OUTPUT)/test_sockopt_inherit: cgroup_helpers.c $(OUTPUT)/test_tcp_rtt: cgroup_helpers.c Loading tools/testing/selftests/bpf/test_sockopt_sk.c→tools/testing/selftests/bpf/prog_tests/sockopt_sk.c +12 −48 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0 #include <errno.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> #include <linux/filter.h> #include <bpf/bpf.h> #include <bpf/libbpf.h> #include "bpf_rlimit.h" #include "bpf_util.h" #include <test_progs.h> #include "cgroup_helpers.h" #define CG_PATH "/sockopt" #define SOL_CUSTOM 0xdeadbeef static int getsetsockopt(void) Loading Loading @@ -176,7 +160,7 @@ static int prog_attach(struct bpf_object *obj, int cgroup_fd, const char *title) return 0; } static int run_test(int cgroup_fd) static void run_test(int cgroup_fd) { struct bpf_prog_load_attr attr = { .file = "./sockopt_sk.o", Loading @@ -186,51 +170,31 @@ static int run_test(int cgroup_fd) int err; err = bpf_prog_load_xattr(&attr, &obj, &ignored); if (err) { log_err("Failed to load BPF object"); return -1; } if (CHECK_FAIL(err)) return; err = prog_attach(obj, cgroup_fd, "cgroup/getsockopt"); if (err) if (CHECK_FAIL(err)) goto close_bpf_object; err = prog_attach(obj, cgroup_fd, "cgroup/setsockopt"); if (err) if (CHECK_FAIL(err)) goto close_bpf_object; err = getsetsockopt(); CHECK_FAIL(getsetsockopt()); close_bpf_object: bpf_object__close(obj); return err; } int main(int args, char **argv) void test_sockopt_sk(void) { int cgroup_fd; int err = EXIT_SUCCESS; if (setup_cgroup_environment()) goto cleanup_obj; cgroup_fd = create_and_get_cgroup(CG_PATH); if (cgroup_fd < 0) goto cleanup_cgroup_env; if (join_cgroup(CG_PATH)) goto cleanup_cgroup; if (run_test(cgroup_fd)) err = EXIT_FAILURE; printf("test_sockopt_sk: %s\n", err == EXIT_SUCCESS ? "PASSED" : "FAILED"); cgroup_fd = test__join_cgroup("/sockopt_sk"); if (CHECK_FAIL(cgroup_fd < 0)) return; cleanup_cgroup: run_test(cgroup_fd); close(cgroup_fd); cleanup_cgroup_env: cleanup_cgroup_environment(); cleanup_obj: return err; } tools/testing/selftests/bpf/test_progs.h +2 −1 Original line number Diff line number Diff line Loading @@ -16,9 +16,10 @@ typedef __u16 __sum16; #include <linux/if_packet.h> #include <linux/ip.h> #include <linux/ipv6.h> #include <linux/tcp.h> #include <netinet/tcp.h> #include <linux/filter.h> #include <linux/perf_event.h> #include <linux/socket.h> #include <linux/unistd.h> #include <sys/ioctl.h> Loading Loading
tools/testing/selftests/bpf/.gitignore +0 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ libbpf.so.* test_hashmap test_btf_dump xdping test_sockopt_sk test_sockopt_multi test_sockopt_inherit test_tcp_rtt
tools/testing/selftests/bpf/Makefile +1 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test test_sock test_btf test_sockmap get_cgroup_id_user test_socket_cookie \ test_cgroup_storage test_select_reuseport test_section_names \ test_netcnt test_tcpnotify_user test_sock_fields test_sysctl test_hashmap \ test_btf_dump test_cgroup_attach xdping test_sockopt_sk \ test_btf_dump test_cgroup_attach xdping \ test_sockopt_multi test_sockopt_inherit test_tcp_rtt BPF_OBJ_FILES = $(patsubst %.c,%.o, $(notdir $(wildcard progs/*.c))) Loading Loading @@ -113,7 +113,6 @@ $(OUTPUT)/test_netcnt: cgroup_helpers.c $(OUTPUT)/test_sock_fields: cgroup_helpers.c $(OUTPUT)/test_sysctl: cgroup_helpers.c $(OUTPUT)/test_cgroup_attach: cgroup_helpers.c $(OUTPUT)/test_sockopt_sk: cgroup_helpers.c $(OUTPUT)/test_sockopt_multi: cgroup_helpers.c $(OUTPUT)/test_sockopt_inherit: cgroup_helpers.c $(OUTPUT)/test_tcp_rtt: cgroup_helpers.c Loading
tools/testing/selftests/bpf/test_sockopt_sk.c→tools/testing/selftests/bpf/prog_tests/sockopt_sk.c +12 −48 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0 #include <errno.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> #include <linux/filter.h> #include <bpf/bpf.h> #include <bpf/libbpf.h> #include "bpf_rlimit.h" #include "bpf_util.h" #include <test_progs.h> #include "cgroup_helpers.h" #define CG_PATH "/sockopt" #define SOL_CUSTOM 0xdeadbeef static int getsetsockopt(void) Loading Loading @@ -176,7 +160,7 @@ static int prog_attach(struct bpf_object *obj, int cgroup_fd, const char *title) return 0; } static int run_test(int cgroup_fd) static void run_test(int cgroup_fd) { struct bpf_prog_load_attr attr = { .file = "./sockopt_sk.o", Loading @@ -186,51 +170,31 @@ static int run_test(int cgroup_fd) int err; err = bpf_prog_load_xattr(&attr, &obj, &ignored); if (err) { log_err("Failed to load BPF object"); return -1; } if (CHECK_FAIL(err)) return; err = prog_attach(obj, cgroup_fd, "cgroup/getsockopt"); if (err) if (CHECK_FAIL(err)) goto close_bpf_object; err = prog_attach(obj, cgroup_fd, "cgroup/setsockopt"); if (err) if (CHECK_FAIL(err)) goto close_bpf_object; err = getsetsockopt(); CHECK_FAIL(getsetsockopt()); close_bpf_object: bpf_object__close(obj); return err; } int main(int args, char **argv) void test_sockopt_sk(void) { int cgroup_fd; int err = EXIT_SUCCESS; if (setup_cgroup_environment()) goto cleanup_obj; cgroup_fd = create_and_get_cgroup(CG_PATH); if (cgroup_fd < 0) goto cleanup_cgroup_env; if (join_cgroup(CG_PATH)) goto cleanup_cgroup; if (run_test(cgroup_fd)) err = EXIT_FAILURE; printf("test_sockopt_sk: %s\n", err == EXIT_SUCCESS ? "PASSED" : "FAILED"); cgroup_fd = test__join_cgroup("/sockopt_sk"); if (CHECK_FAIL(cgroup_fd < 0)) return; cleanup_cgroup: run_test(cgroup_fd); close(cgroup_fd); cleanup_cgroup_env: cleanup_cgroup_environment(); cleanup_obj: return err; }
tools/testing/selftests/bpf/test_progs.h +2 −1 Original line number Diff line number Diff line Loading @@ -16,9 +16,10 @@ typedef __u16 __sum16; #include <linux/if_packet.h> #include <linux/ip.h> #include <linux/ipv6.h> #include <linux/tcp.h> #include <netinet/tcp.h> #include <linux/filter.h> #include <linux/perf_event.h> #include <linux/socket.h> #include <linux/unistd.h> #include <sys/ioctl.h> Loading