bpf: selftests: Support not connecting client socket
authorDaniel Xu <dxu@dxuuu.xyz>
Fri, 21 Jul 2023 20:22:47 +0000 (14:22 -0600)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 28 Jul 2023 23:52:08 +0000 (16:52 -0700)
For connectionless protocols or raw sockets we do not want to actually
connect() to the server.

Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
Link: https://lore.kernel.org/r/525c13d66dac2d640a1db922546842c051c6f2e6.1689970773.git.dxu@dxuuu.xyz
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/network_helpers.c
tools/testing/selftests/bpf/network_helpers.h

index 8a33bce..4dcd63a 100644 (file)
@@ -301,8 +301,9 @@ int connect_to_fd_opts(int server_fd, const struct network_helper_opts *opts)
                       strlen(opts->cc) + 1))
                goto error_close;
 
-       if (connect_fd_to_addr(fd, &addr, addrlen, opts->must_fail))
-               goto error_close;
+       if (!opts->noconnect)
+               if (connect_fd_to_addr(fd, &addr, addrlen, opts->must_fail))
+                       goto error_close;
 
        return fd;
 
index 6941856..87894dc 100644 (file)
@@ -21,6 +21,7 @@ struct network_helper_opts {
        const char *cc;
        int timeout_ms;
        bool must_fail;
+       bool noconnect;
 };
 
 /* ipv4 test vector */