Message ID | 48186b788bc029cbd3a47007175c83357fa28668.1713262052.git.tanggeliang@kylinos.cn (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | use network helpers, part 1 | expand |
On 4/16/24 3:13 AM, Geliang Tang wrote: > From: Geliang Tang <tanggeliang@kylinos.cn> > > In order to pair up with connect_to_addr(), this patch adds a new helper > start_server_addr(), and another one start_server_addr_opts(), which is > a wrapper of __start_server(), only added a network_helper_opts arg at > the end. > > They all accept an argument 'addr' of 'struct sockaddr_storage' type > instead of a string type argument like start_server(). > > Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> > --- > tools/testing/selftests/bpf/network_helpers.c | 16 ++++++++++++++++ > tools/testing/selftests/bpf/network_helpers.h | 3 +++ > 2 files changed, 19 insertions(+) > > diff --git a/tools/testing/selftests/bpf/network_helpers.c b/tools/testing/selftests/bpf/network_helpers.c > index 563dde8617dd..836436688ca6 100644 > --- a/tools/testing/selftests/bpf/network_helpers.c > +++ b/tools/testing/selftests/bpf/network_helpers.c > @@ -185,6 +185,22 @@ int *start_reuseport_server(int family, int type, const char *addr_str, > return NULL; > } > > +int start_server_addr_opts(int type, const struct sockaddr_storage *addr, socklen_t len, > + const struct network_helper_opts *opts) I meant to only add one helper with the "opts" arg in v2 instead of adding two helpers. I want to minimize the number of new helpers and each just has different variants of args. timeout_ms usually makes sense, so opts is usually required. Thinking a bit more. A small nit from my v2 comment. Name this as start_server_addr() without the "_opts" part. Keep it short. I want the default helper has the opts arg from now other than a few exceptions like close_netns(), get_socket_local_port()...etc. No need to change other existing helpers. Stay with start_server_addr() and connect_to_addr() in this set. so, int start_server_addr(int type, const struct sockaddr_storage *addr, socklen_t len, const struct network_helper_opts *opts); opts could be NULL. pw-bot: cr > +{ > + return __start_server(type, 0, (struct sockaddr *)addr, len, > + opts->timeout_ms, 0); > +} > + > +int start_server_addr(int type, const struct sockaddr_storage *addr, socklen_t len) > +{ > + struct network_helper_opts opts = { > + .timeout_ms = 0, > + }; > + > + return start_server_addr_opts(type, addr, len, &opts); > +} > + > void free_fds(int *fds, unsigned int nr_close_fds) > { > if (fds) { > diff --git a/tools/testing/selftests/bpf/network_helpers.h b/tools/testing/selftests/bpf/network_helpers.h > index ac4da5fdcc95..9e6fcc89a8d0 100644 > --- a/tools/testing/selftests/bpf/network_helpers.h > +++ b/tools/testing/selftests/bpf/network_helpers.h > @@ -53,6 +53,9 @@ int start_mptcp_server(int family, const char *addr, __u16 port, > int *start_reuseport_server(int family, int type, const char *addr_str, > __u16 port, int timeout_ms, > unsigned int nr_listens); > +int start_server_addr_opts(int type, const struct sockaddr_storage *addr, socklen_t len, > + const struct network_helper_opts *opts); > +int start_server_addr(int type, const struct sockaddr_storage *addr, socklen_t len); > void free_fds(int *fds, unsigned int nr_close_fds); > int connect_to_addr(int type, const struct sockaddr_storage *addr, socklen_t len); > int connect_to_fd(int server_fd, int timeout_ms);
diff --git a/tools/testing/selftests/bpf/network_helpers.c b/tools/testing/selftests/bpf/network_helpers.c index 563dde8617dd..836436688ca6 100644 --- a/tools/testing/selftests/bpf/network_helpers.c +++ b/tools/testing/selftests/bpf/network_helpers.c @@ -185,6 +185,22 @@ int *start_reuseport_server(int family, int type, const char *addr_str, return NULL; } +int start_server_addr_opts(int type, const struct sockaddr_storage *addr, socklen_t len, + const struct network_helper_opts *opts) +{ + return __start_server(type, 0, (struct sockaddr *)addr, len, + opts->timeout_ms, 0); +} + +int start_server_addr(int type, const struct sockaddr_storage *addr, socklen_t len) +{ + struct network_helper_opts opts = { + .timeout_ms = 0, + }; + + return start_server_addr_opts(type, addr, len, &opts); +} + void free_fds(int *fds, unsigned int nr_close_fds) { if (fds) { diff --git a/tools/testing/selftests/bpf/network_helpers.h b/tools/testing/selftests/bpf/network_helpers.h index ac4da5fdcc95..9e6fcc89a8d0 100644 --- a/tools/testing/selftests/bpf/network_helpers.h +++ b/tools/testing/selftests/bpf/network_helpers.h @@ -53,6 +53,9 @@ int start_mptcp_server(int family, const char *addr, __u16 port, int *start_reuseport_server(int family, int type, const char *addr_str, __u16 port, int timeout_ms, unsigned int nr_listens); +int start_server_addr_opts(int type, const struct sockaddr_storage *addr, socklen_t len, + const struct network_helper_opts *opts); +int start_server_addr(int type, const struct sockaddr_storage *addr, socklen_t len); void free_fds(int *fds, unsigned int nr_close_fds); int connect_to_addr(int type, const struct sockaddr_storage *addr, socklen_t len); int connect_to_fd(int server_fd, int timeout_ms);