selftests/bpf: Use start_server_addr in sk_assign
authorGeliang Tang <tanggeliang@kylinos.cn>
Thu, 18 Apr 2024 08:09:09 +0000 (16:09 +0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Sat, 20 Apr 2024 00:13:28 +0000 (17:13 -0700)
Include network_helpers.h in prog_tests/sk_assign.c, use the newly
added public helper start_server_addr() instead of the local defined
function start_server(). This can avoid duplicate code.

The code that sets SO_RCVTIMEO timeout as timeo_sec (3s) can be dropped,
since start_server_addr() sets default timeout as 3s.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Link: https://lore.kernel.org/r/2af706ffbad63b4f7eaf93a426ed1076eadf1a05.1713427236.git.tanggeliang@kylinos.cn
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/testing/selftests/bpf/prog_tests/sk_assign.c

index 1374b626a9858f1c1aaebc3555c934f55de5e876..b066b6b88d7c24d97b42b369b79f62de5ebc72f2 100644 (file)
@@ -15,6 +15,7 @@
 #include <unistd.h>
 
 #include "test_progs.h"
+#include "network_helpers.h"
 
 #define BIND_PORT 1234
 #define CONNECT_PORT 4321
@@ -73,30 +74,6 @@ configure_stack(void)
        return true;
 }
 
-static int
-start_server(const struct sockaddr *addr, socklen_t len, int type)
-{
-       int fd;
-
-       fd = socket(addr->sa_family, type, 0);
-       if (CHECK_FAIL(fd == -1))
-               goto out;
-       if (CHECK_FAIL(setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &timeo_sec,
-                                 timeo_optlen)))
-               goto close_out;
-       if (CHECK_FAIL(bind(fd, addr, len) == -1))
-               goto close_out;
-       if (type == SOCK_STREAM && CHECK_FAIL(listen(fd, 128) == -1))
-               goto close_out;
-
-       goto out;
-close_out:
-       close(fd);
-       fd = -1;
-out:
-       return fd;
-}
-
 static int
 connect_to_server(const struct sockaddr *addr, socklen_t len, int type)
 {
@@ -310,7 +287,9 @@ void test_sk_assign(void)
                        continue;
                prepare_addr(test->addr, test->family, BIND_PORT, false);
                addr = (const struct sockaddr *)test->addr;
-               server = start_server(addr, test->len, test->type);
+               server = start_server_addr(test->type,
+                                          (const struct sockaddr_storage *)addr,
+                                          test->len, NULL);
                if (server == -1)
                        goto close;