Skip to content

Commit e1cdb70

Browse files
Geliang TangMartin KaFai Lau
authored andcommitted
selftests/bpf: Use start_server_addr in test_sock_addr
Include network_helpers.h in test_sock_addr.c, use the newly added public helper start_server_addr() instead of the local defined function start_server(). This can avoid duplicate code. In order to use functions defined in network_helpers.c in test_sock_addr.c, Makefile needs to be updated and <Linux/err.h> needs to be included in network_helpers.h to avoid compilation errors. Signed-off-by: Geliang Tang <[email protected]> Link: https://lore.kernel.org/r/3101f57bde5502383eb41723c8956cc26be06893.1713868264.git.tanggeliang@kylinos.cn Signed-off-by: Martin KaFai Lau <[email protected]>
1 parent 285cffb commit e1cdb70

File tree

3 files changed

+7
-35
lines changed

3 files changed

+7
-35
lines changed

tools/testing/selftests/bpf/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,11 +290,12 @@ UNPRIV_HELPERS := $(OUTPUT)/unpriv_helpers.o
290290
TRACE_HELPERS := $(OUTPUT)/trace_helpers.o
291291
JSON_WRITER := $(OUTPUT)/json_writer.o
292292
CAP_HELPERS := $(OUTPUT)/cap_helpers.o
293+
NETWORK_HELPERS := $(OUTPUT)/network_helpers.o
293294

294295
$(OUTPUT)/test_dev_cgroup: $(CGROUP_HELPERS) $(TESTING_HELPERS)
295296
$(OUTPUT)/test_skb_cgroup_id_user: $(CGROUP_HELPERS) $(TESTING_HELPERS)
296297
$(OUTPUT)/test_sock: $(CGROUP_HELPERS) $(TESTING_HELPERS)
297-
$(OUTPUT)/test_sock_addr: $(CGROUP_HELPERS) $(TESTING_HELPERS)
298+
$(OUTPUT)/test_sock_addr: $(CGROUP_HELPERS) $(TESTING_HELPERS) $(NETWORK_HELPERS)
298299
$(OUTPUT)/test_sockmap: $(CGROUP_HELPERS) $(TESTING_HELPERS)
299300
$(OUTPUT)/test_tcpnotify_user: $(CGROUP_HELPERS) $(TESTING_HELPERS) $(TRACE_HELPERS)
300301
$(OUTPUT)/get_cgroup_id_user: $(CGROUP_HELPERS) $(TESTING_HELPERS)

tools/testing/selftests/bpf/network_helpers.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ typedef __u16 __sum16;
1111
#include <linux/ipv6.h>
1212
#include <linux/ethtool.h>
1313
#include <linux/sockios.h>
14+
#include <linux/err.h>
1415
#include <netinet/tcp.h>
1516
#include <bpf/bpf_endian.h>
1617
#include <net/if.h>

tools/testing/selftests/bpf/test_sock_addr.c

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <bpf/libbpf.h>
2020

2121
#include "cgroup_helpers.h"
22+
#include "network_helpers.h"
2223
#include "testing_helpers.h"
2324
#include "bpf_util.h"
2425

@@ -939,37 +940,6 @@ static int cmp_peer_addr(int sock1, const struct sockaddr_storage *addr2)
939940
return cmp_sock_addr(getpeername, sock1, addr2, /*cmp_port*/ 1);
940941
}
941942

942-
static int start_server(int type, const struct sockaddr_storage *addr,
943-
socklen_t addr_len)
944-
{
945-
int fd;
946-
947-
fd = socket(addr->ss_family, type, 0);
948-
if (fd == -1) {
949-
log_err("Failed to create server socket");
950-
goto out;
951-
}
952-
953-
if (bind(fd, (const struct sockaddr *)addr, addr_len) == -1) {
954-
log_err("Failed to bind server socket");
955-
goto close_out;
956-
}
957-
958-
if (type == SOCK_STREAM) {
959-
if (listen(fd, 128) == -1) {
960-
log_err("Failed to listen on server socket");
961-
goto close_out;
962-
}
963-
}
964-
965-
goto out;
966-
close_out:
967-
close(fd);
968-
fd = -1;
969-
out:
970-
return fd;
971-
}
972-
973943
static int connect_to_server(int type, const struct sockaddr_storage *addr,
974944
socklen_t addr_len)
975945
{
@@ -1178,7 +1148,7 @@ static int run_bind_test_case(const struct sock_addr_test *test)
11781148
if (init_addrs(test, &requested_addr, &expected_addr, NULL))
11791149
goto err;
11801150

1181-
servfd = start_server(test->type, &requested_addr, addr_len);
1151+
servfd = start_server_addr(test->type, &requested_addr, addr_len, NULL);
11821152
if (servfd == -1)
11831153
goto err;
11841154

@@ -1214,7 +1184,7 @@ static int run_connect_test_case(const struct sock_addr_test *test)
12141184
goto err;
12151185

12161186
/* Prepare server to connect to */
1217-
servfd = start_server(test->type, &expected_addr, addr_len);
1187+
servfd = start_server_addr(test->type, &expected_addr, addr_len, NULL);
12181188
if (servfd == -1)
12191189
goto err;
12201190

@@ -1271,7 +1241,7 @@ static int run_xmsg_test_case(const struct sock_addr_test *test, int max_cmsg)
12711241
goto err;
12721242

12731243
/* Prepare server to sendmsg to */
1274-
servfd = start_server(test->type, &server_addr, addr_len);
1244+
servfd = start_server_addr(test->type, &server_addr, addr_len, NULL);
12751245
if (servfd == -1)
12761246
goto err;
12771247

0 commit comments

Comments
 (0)