From: Geliang Tang <tanggeliang@xxxxxxxxxx> This patch uses public helper connect_to_fd() exported in network_helpers.h instead of using make_socket() and connect() in prog_tests/sk_lookup.c. This can simplify the code. Signed-off-by: Geliang Tang <tanggeliang@xxxxxxxxxx> --- .../selftests/bpf/prog_tests/sk_lookup.c | 33 +++++-------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/sk_lookup.c b/tools/testing/selftests/bpf/prog_tests/sk_lookup.c index 2fc2b928e168..0f2e8a4c1524 100644 --- a/tools/testing/selftests/bpf/prog_tests/sk_lookup.c +++ b/tools/testing/selftests/bpf/prog_tests/sk_lookup.c @@ -868,10 +868,8 @@ static void test_redirect_lookup(struct test_sk_lookup *skel) static void drop_on_lookup(const struct test *t) { - struct sockaddr_storage dst = {}; int client_fd, server_fd, err; struct bpf_link *lookup_link; - socklen_t len; ssize_t n; lookup_link = attach_lookup_prog(t->lookup_prog); @@ -883,12 +881,10 @@ static void drop_on_lookup(const struct test *t) if (server_fd < 0) goto detach; - client_fd = make_socket(t->sotype, t->connect_to.ip, - t->connect_to.port, &dst, &len); + client_fd = connect_to_fd(server_fd, 0); if (client_fd < 0) goto close_srv; - err = connect(client_fd, (void *)&dst, len); if (t->sotype == SOCK_DGRAM) { err = send_byte(client_fd); if (err) @@ -983,10 +979,8 @@ static void test_drop_on_lookup(struct test_sk_lookup *skel) static void drop_on_reuseport(const struct test *t) { - struct sockaddr_storage dst = { 0 }; int client, server1, server2, err; struct bpf_link *lookup_link; - socklen_t len; ssize_t n; lookup_link = attach_lookup_prog(t->lookup_prog); @@ -1008,12 +1002,10 @@ static void drop_on_reuseport(const struct test *t) if (server2 < 0) goto close_srv1; - client = make_socket(t->sotype, t->connect_to.ip, - t->connect_to.port, &dst, &len); + client = connect_to_fd(server2, 0); if (client < 0) goto close_srv2; - err = connect(client, (void *)&dst, len); if (t->sotype == SOCK_DGRAM) { err = send_byte(client); if (err) @@ -1160,7 +1152,7 @@ static void run_sk_assign_connected(struct test_sk_lookup *skel, if (server_fd < 0) return; - connected_fd = make_client(sotype, EXT_IP4, EXT_PORT); + connected_fd = connect_to_fd(server_fd, 0); if (connected_fd < 0) goto out_close_server; @@ -1174,7 +1166,7 @@ static void run_sk_assign_connected(struct test_sk_lookup *skel, goto out_close_connected; /* Try to redirect TCP SYN / UDP packet to a connected socket */ - client_fd = make_client(sotype, EXT_IP4, EXT_PORT); + client_fd = connect_to_fd(server_fd, 0); if (client_fd < 0) goto out_unlink_prog; if (sotype == SOCK_DGRAM) { @@ -1223,11 +1215,9 @@ struct test_multi_prog { static void run_multi_prog_lookup(const struct test_multi_prog *t) { - struct sockaddr_storage dst = {}; int map_fd, server_fd, client_fd; struct bpf_link *link1, *link2; int prog_idx, done, err; - socklen_t len; map_fd = bpf_map__fd(t->run_map); @@ -1257,17 +1247,13 @@ static void run_multi_prog_lookup(const struct test_multi_prog *t) if (err) goto out_close_server; - client_fd = make_socket(SOCK_STREAM, EXT_IP4, EXT_PORT, &dst, &len); - if (client_fd < 0) - goto out_close_server; - - err = connect(client_fd, (void *)&dst, len); - if (CHECK(err && !t->expect_errno, "connect", + client_fd = connect_to_fd(server_fd, 0); + if (CHECK(client_fd < 0 && !t->expect_errno, "connect", "unexpected error %d\n", errno)) - goto out_close_client; - if (CHECK(err && t->expect_errno && errno != t->expect_errno, + goto out_close_server; + if (CHECK(client_fd < 0 && t->expect_errno && errno != t->expect_errno, "connect", "unexpected error %d\n", errno)) - goto out_close_client; + goto out_close_server; done = 0; prog_idx = PROG1; @@ -1281,7 +1267,6 @@ static void run_multi_prog_lookup(const struct test_multi_prog *t) CHECK(err, "bpf_map_lookup_elem", "failed\n"); CHECK(!done, "bpf_map_lookup_elem", "PROG2 !done\n"); -out_close_client: close(client_fd); out_close_server: close(server_fd); -- 2.43.0