@@ -874,7 +874,9 @@ static void test_redirect_lookup(struct test_sk_lookup *skel)
static void drop_on_lookup(const struct test *t)
{
- struct sockaddr_storage dst = {};
+ struct network_helper_opts opts = {
+ .timeout_ms = IO_TIMEOUT_SEC,
+ };
int client_fd, server_fd, err;
struct bpf_link *lookup_link;
ssize_t n;
@@ -888,12 +890,11 @@ 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);
+ client_fd = connect_to_fd_opts(server_fd, t->sotype, &opts);
if (client_fd < 0)
goto close_srv;
- err = connect(client_fd, (void *)&dst, inetaddr_len(&dst));
+ err = 0;
if (t->sotype == SOCK_DGRAM) {
err = send_byte(client_fd);
if (err)
@@ -988,7 +989,9 @@ 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 };
+ struct network_helper_opts opts = {
+ .timeout_ms = IO_TIMEOUT_SEC,
+ };
int client, server1, server2, err;
struct bpf_link *lookup_link;
ssize_t n;
@@ -1012,12 +1015,11 @@ 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);
+ client = connect_to_fd_opts(server2, t->sotype, &opts);
if (client < 0)
goto close_srv2;
- err = connect(client, (void *)&dst, inetaddr_len(&dst));
+ err = 0;
if (t->sotype == SOCK_DGRAM) {
err = send_byte(client);
if (err)
@@ -1158,13 +1160,16 @@ static void run_sk_assign_connected(struct test_sk_lookup *skel,
int sotype)
{
int err, client_fd, connected_fd, server_fd;
+ struct network_helper_opts opts = {
+ .timeout_ms = IO_TIMEOUT_SEC,
+ };
struct bpf_link *lookup_link;
server_fd = make_server(sotype, EXT_IP4, EXT_PORT, NULL);
if (server_fd < 0)
return;
- connected_fd = make_client(sotype, EXT_IP4, EXT_PORT);
+ connected_fd = connect_to_fd_opts(server_fd, sotype, &opts);
if (connected_fd < 0)
goto out_close_server;
@@ -1178,7 +1183,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_opts(server_fd, sotype, &opts);
if (client_fd < 0)
goto out_unlink_prog;
if (sotype == SOCK_DGRAM) {