Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

selftests/bpf: Migrate WILDCARD_IP test

Move wildcard IP sendmsg test case out of bpf/test_sock_addr.c into
prog_tests/sock_addr.c.

Signed-off-by: Jordan Rife <jrife@google.com>
Link: https://lore.kernel.org/r/20240510190246.3247730-7-jrife@google.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>

authored by

Jordan Rife and committed by
Alexei Starovoitov
d1b24fcf a2618c0d

+56 -20
+50
tools/testing/selftests/bpf/prog_tests/sock_addr.c
··· 40 40 #define SERV6_V4MAPPED_IP "::ffff:192.168.0.4" 41 41 #define SRC6_IP "::1" 42 42 #define SRC6_REWRITE_IP TEST_IPV6 43 + #define WILDCARD6_IP "::" 43 44 #define SERV6_PORT 6060 44 45 #define SERV6_REWRITE_PORT 6666 45 46 ··· 444 443 BPF_SKEL_FUNCS(connect_unix_prog, connect_unix_prog); 445 444 BPF_SKEL_FUNCS(sendmsg4_prog, sendmsg_v4_prog); 446 445 BPF_SKEL_FUNCS(sendmsg6_prog, sendmsg_v6_prog); 446 + BPF_SKEL_FUNCS(sendmsg6_prog, sendmsg_v6_preserve_dst_prog); 447 447 BPF_SKEL_FUNCS(sendmsg_unix_prog, sendmsg_unix_prog); 448 448 BPF_SKEL_FUNCS(recvmsg4_prog, recvmsg4_prog); 449 449 BPF_SKEL_FUNCS(recvmsg6_prog, recvmsg6_prog); ··· 784 782 }, 785 783 { 786 784 SOCK_ADDR_TEST_SENDMSG, 785 + "sendmsg6: sendmsg [::] (BSD'ism) (dgram)", 786 + sendmsg_v6_preserve_dst_prog_load, 787 + sendmsg_v6_preserve_dst_prog_destroy, 788 + BPF_CGROUP_UDP6_SENDMSG, 789 + &user_ops, 790 + AF_INET6, 791 + SOCK_DGRAM, 792 + WILDCARD6_IP, 793 + SERV6_PORT, 794 + SERV6_REWRITE_IP, 795 + SERV6_PORT, 796 + SRC6_IP, 797 + SUCCESS, 798 + }, 799 + { 800 + SOCK_ADDR_TEST_SENDMSG, 787 801 "sendmsg_unix: sendmsg (dgram)", 788 802 sendmsg_unix_prog_load, 789 803 sendmsg_unix_prog_destroy, ··· 850 832 }, 851 833 { 852 834 SOCK_ADDR_TEST_SENDMSG, 835 + "sendmsg6: sock_sendmsg [::] (BSD'ism) (dgram)", 836 + sendmsg_v6_preserve_dst_prog_load, 837 + sendmsg_v6_preserve_dst_prog_destroy, 838 + BPF_CGROUP_UDP6_SENDMSG, 839 + &kern_ops_sock_sendmsg, 840 + AF_INET6, 841 + SOCK_DGRAM, 842 + WILDCARD6_IP, 843 + SERV6_PORT, 844 + SERV6_REWRITE_IP, 845 + SERV6_PORT, 846 + SRC6_IP, 847 + SUCCESS, 848 + }, 849 + { 850 + SOCK_ADDR_TEST_SENDMSG, 853 851 "sendmsg_unix: sock_sendmsg (dgram)", 854 852 sendmsg_unix_prog_load, 855 853 sendmsg_unix_prog_destroy, ··· 912 878 SERV6_REWRITE_IP, 913 879 SERV6_REWRITE_PORT, 914 880 SRC6_REWRITE_IP, 881 + SUCCESS, 882 + }, 883 + { 884 + SOCK_ADDR_TEST_SENDMSG, 885 + "sendmsg6: kernel_sendmsg [::] (BSD'ism) (dgram)", 886 + sendmsg_v6_preserve_dst_prog_load, 887 + sendmsg_v6_preserve_dst_prog_destroy, 888 + BPF_CGROUP_UDP6_SENDMSG, 889 + &kern_ops_kernel_sendmsg, 890 + AF_INET6, 891 + SOCK_DGRAM, 892 + WILDCARD6_IP, 893 + SERV6_PORT, 894 + SERV6_REWRITE_IP, 895 + SERV6_PORT, 896 + SRC6_IP, 915 897 SUCCESS, 916 898 }, 917 899 {
+6
tools/testing/selftests/bpf/progs/sendmsg6_prog.c
··· 59 59 return 1; 60 60 } 61 61 62 + SEC("cgroup/sendmsg6") 63 + int sendmsg_v6_preserve_dst_prog(struct bpf_sock_addr *ctx) 64 + { 65 + return 1; 66 + } 67 + 62 68 char _license[] SEC("license") = "GPL";
-20
tools/testing/selftests/bpf/test_sock_addr.c
··· 92 92 static int bind6_prog_load(const struct sock_addr_test *test); 93 93 static int connect4_prog_load(const struct sock_addr_test *test); 94 94 static int connect6_prog_load(const struct sock_addr_test *test); 95 - static int sendmsg_allow_prog_load(const struct sock_addr_test *test); 96 95 static int sendmsg_deny_prog_load(const struct sock_addr_test *test); 97 96 static int sendmsg4_rw_asm_prog_load(const struct sock_addr_test *test); 98 97 static int sendmsg6_rw_asm_prog_load(const struct sock_addr_test *test); ··· 343 344 SUCCESS, 344 345 }, 345 346 { 346 - "sendmsg6: preserve dst IP = [::] (BSD'ism)", 347 - sendmsg_allow_prog_load, 348 - BPF_CGROUP_UDP6_SENDMSG, 349 - BPF_CGROUP_UDP6_SENDMSG, 350 - AF_INET6, 351 - SOCK_DGRAM, 352 - WILDCARD6_IP, 353 - SERV6_PORT, 354 - SERV6_REWRITE_IP, 355 - SERV6_PORT, 356 - SRC6_IP, 357 - SUCCESS, 358 - }, 359 - { 360 347 "sendmsg6: deny call", 361 348 sendmsg_deny_prog_load, 362 349 BPF_CGROUP_UDP6_SENDMSG, ··· 440 455 BPF_EXIT_INSN(), 441 456 }; 442 457 return load_insns(test, insns, ARRAY_SIZE(insns)); 443 - } 444 - 445 - static int sendmsg_allow_prog_load(const struct sock_addr_test *test) 446 - { 447 - return xmsg_ret_only_prog_load(test, /*rc*/ 1); 448 458 } 449 459 450 460 static int sendmsg_deny_prog_load(const struct sock_addr_test *test)