Commit b08f205e authored by Michal Luczaj's avatar Michal Luczaj Committed by Martin KaFai Lau

selftests/bpf: Socket pair creation, cleanups

Following create_pair() changes, remove unused function argument in
create_socket_pairs() and adapt its callers, i.e. drop the open-coded
loopback socket creation.
Reviewed-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
Tested-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
Suggested-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: default avatarMichal Luczaj <mhal@rbox.co>
Link: https://lore.kernel.org/r/20240731-selftest-sockmap-fixes-v2-2-08a0c73abed2@rbox.coSigned-off-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
parent 190de544
...@@ -503,8 +503,8 @@ static void test_sockmap_skb_verdict_shutdown(void) ...@@ -503,8 +503,8 @@ static void test_sockmap_skb_verdict_shutdown(void)
static void test_sockmap_skb_verdict_fionread(bool pass_prog) static void test_sockmap_skb_verdict_fionread(bool pass_prog)
{ {
int err, map, verdict, c0 = -1, c1 = -1, p0 = -1, p1 = -1;
int expected, zero = 0, sent, recvd, avail; int expected, zero = 0, sent, recvd, avail;
int err, map, verdict, s, c0 = -1, c1 = -1, p0 = -1, p1 = -1;
struct test_sockmap_pass_prog *pass = NULL; struct test_sockmap_pass_prog *pass = NULL;
struct test_sockmap_drop_prog *drop = NULL; struct test_sockmap_drop_prog *drop = NULL;
char buf[256] = "0123456789"; char buf[256] = "0123456789";
...@@ -531,11 +531,8 @@ static void test_sockmap_skb_verdict_fionread(bool pass_prog) ...@@ -531,11 +531,8 @@ static void test_sockmap_skb_verdict_fionread(bool pass_prog)
if (!ASSERT_OK(err, "bpf_prog_attach")) if (!ASSERT_OK(err, "bpf_prog_attach"))
goto out; goto out;
s = socket_loopback(AF_INET, SOCK_STREAM); err = create_socket_pairs(AF_INET, SOCK_STREAM, &c0, &c1, &p0, &p1);
if (!ASSERT_GT(s, -1, "socket_loopback(s)")) if (!ASSERT_OK(err, "create_socket_pairs()"))
goto out;
err = create_socket_pairs(s, AF_INET, SOCK_STREAM, &c0, &c1, &p0, &p1);
if (!ASSERT_OK(err, "create_socket_pairs(s)"))
goto out; goto out;
err = bpf_map_update_elem(map, &zero, &c1, BPF_NOEXIST); err = bpf_map_update_elem(map, &zero, &c1, BPF_NOEXIST);
......
...@@ -437,8 +437,8 @@ static inline int create_pair(int family, int sotype, int *p0, int *p1) ...@@ -437,8 +437,8 @@ static inline int create_pair(int family, int sotype, int *p0, int *p1)
return err; return err;
} }
static inline int create_socket_pairs(int s, int family, int sotype, static inline int create_socket_pairs(int family, int sotype, int *c0, int *c1,
int *c0, int *c1, int *p0, int *p1) int *p0, int *p1)
{ {
int err; int err;
......
...@@ -677,7 +677,7 @@ static void redir_to_connected(int family, int sotype, int sock_mapfd, ...@@ -677,7 +677,7 @@ static void redir_to_connected(int family, int sotype, int sock_mapfd,
int verd_mapfd, enum redir_mode mode) int verd_mapfd, enum redir_mode mode)
{ {
const char *log_prefix = redir_mode_str(mode); const char *log_prefix = redir_mode_str(mode);
int s, c0, c1, p0, p1; int c0, c1, p0, p1;
unsigned int pass; unsigned int pass;
int err, n; int err, n;
u32 key; u32 key;
...@@ -685,13 +685,10 @@ static void redir_to_connected(int family, int sotype, int sock_mapfd, ...@@ -685,13 +685,10 @@ static void redir_to_connected(int family, int sotype, int sock_mapfd,
zero_verdict_count(verd_mapfd); zero_verdict_count(verd_mapfd);
s = socket_loopback(family, sotype | SOCK_NONBLOCK); err = create_socket_pairs(family, sotype | SOCK_NONBLOCK, &c0, &c1,
if (s < 0) &p0, &p1);
return;
err = create_socket_pairs(s, family, sotype, &c0, &c1, &p0, &p1);
if (err) if (err)
goto close_srv; return;
err = add_to_sockmap(sock_mapfd, p0, p1); err = add_to_sockmap(sock_mapfd, p0, p1);
if (err) if (err)
...@@ -722,8 +719,6 @@ static void redir_to_connected(int family, int sotype, int sock_mapfd, ...@@ -722,8 +719,6 @@ static void redir_to_connected(int family, int sotype, int sock_mapfd,
xclose(c1); xclose(c1);
xclose(p0); xclose(p0);
xclose(c0); xclose(c0);
close_srv:
xclose(s);
} }
static void test_skb_redir_to_connected(struct test_sockmap_listen *skel, static void test_skb_redir_to_connected(struct test_sockmap_listen *skel,
...@@ -909,7 +904,7 @@ static void test_msg_redir_to_listening_with_link(struct test_sockmap_listen *sk ...@@ -909,7 +904,7 @@ static void test_msg_redir_to_listening_with_link(struct test_sockmap_listen *sk
static void redir_partial(int family, int sotype, int sock_map, int parser_map) static void redir_partial(int family, int sotype, int sock_map, int parser_map)
{ {
int s, c0 = -1, c1 = -1, p0 = -1, p1 = -1; int c0 = -1, c1 = -1, p0 = -1, p1 = -1;
int err, n, key, value; int err, n, key, value;
char buf[] = "abc"; char buf[] = "abc";
...@@ -919,13 +914,10 @@ static void redir_partial(int family, int sotype, int sock_map, int parser_map) ...@@ -919,13 +914,10 @@ static void redir_partial(int family, int sotype, int sock_map, int parser_map)
if (err) if (err)
return; return;
s = socket_loopback(family, sotype | SOCK_NONBLOCK); err = create_socket_pairs(family, sotype | SOCK_NONBLOCK, &c0, &c1,
if (s < 0) &p0, &p1);
goto clean_parser_map;
err = create_socket_pairs(s, family, sotype, &c0, &c1, &p0, &p1);
if (err) if (err)
goto close_srv; goto clean_parser_map;
err = add_to_sockmap(sock_map, p0, p1); err = add_to_sockmap(sock_map, p0, p1);
if (err) if (err)
...@@ -944,8 +936,6 @@ static void redir_partial(int family, int sotype, int sock_map, int parser_map) ...@@ -944,8 +936,6 @@ static void redir_partial(int family, int sotype, int sock_map, int parser_map)
xclose(p0); xclose(p0);
xclose(c1); xclose(c1);
xclose(p1); xclose(p1);
close_srv:
xclose(s);
clean_parser_map: clean_parser_map:
key = 0; key = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment