From: Martin KaFai Lau <martin.lau@linux.dev>
To: Geliang Tang <geliang@kernel.org>
Cc: Geliang Tang <tanggeliang@kylinos.cn>,
Andrii Nakryiko <andrii@kernel.org>,
Eduard Zingerman <eddyz87@gmail.com>,
Mykola Lysenko <mykolal@fb.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Song Liu <song@kernel.org>,
Yonghong Song <yonghong.song@linux.dev>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>, Shuah Khan <shuah@kernel.org>,
bpf@vger.kernel.org, linux-kselftest@vger.kernel.org,
Eduard Zingerman <eddyz87@gmail.com>
Subject: Re: [PATCH bpf-next v4 06/14] selftests/bpf: Use connect_to_addr in sk_assign
Date: Wed, 17 Apr 2024 17:15:51 -0700 [thread overview]
Message-ID: <1eb9a17e-ae76-4082-9ac1-2f7a71063483@linux.dev> (raw)
In-Reply-To: <b918f3e9b4f5cac694982add59e4da575516b9e7.1713262052.git.tanggeliang@kylinos.cn>
On 4/16/24 3:13 AM, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
>
> This patch uses public helper connect_to_addr() exported in
> network_helpers.h instead of the local defined function connect_to_server()
> in prog_tests/sk_assign.c. This can avoid duplicate code.
>
> The code that sets SO_SNDTIMEO timeout as timeo_sec (3s) can be dropped,
> since connect_to_addr() sets default timeout as 3s.
>
> Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> ---
> .../selftests/bpf/prog_tests/sk_assign.c | 26 +------------------
> 1 file changed, 1 insertion(+), 25 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/sk_assign.c b/tools/testing/selftests/bpf/prog_tests/sk_assign.c
> index fa8f757c0edd..766fc56f5fc7 100644
> --- a/tools/testing/selftests/bpf/prog_tests/sk_assign.c
> +++ b/tools/testing/selftests/bpf/prog_tests/sk_assign.c
> @@ -23,8 +23,6 @@
> #define NS_SELF "/proc/self/ns/net"
> #define SERVER_MAP_PATH "/sys/fs/bpf/tc/globals/server_map"
>
> -static const struct timeval timeo_sec = { .tv_sec = 3 };
> -static const size_t timeo_optlen = sizeof(timeo_sec);
> static int stop, duration;
>
> static bool
> @@ -74,28 +72,6 @@ configure_stack(void)
> return true;
> }
>
> -static int
> -connect_to_server(const struct sockaddr *addr, socklen_t len, int type)
> -{
> - int fd = -1;
> -
> - fd = socket(addr->sa_family, type, 0);
> - if (CHECK_FAIL(fd == -1))
> - goto out;
> - if (CHECK_FAIL(setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &timeo_sec,
> - timeo_optlen)))
I think Eduard has also pointed out in v2 that the existing connect_to_addr()
does not set the timeout and suggested to add the opts arg also.
One option is to just modify the connect_to_addr() to set the default timeout
(3s) without needing to add the opts arg. Since we are changing the signature of
connect_to_addr() anyway, lets just add the opts argument also. When opts is
NULL or opts->timeout_ms is 0, then use the default 3s timeout like other
helpers do.
something like,
int connect_to_addr(int type, const struct sockaddr_storage *addr,
socklen_t addrlen, const struct network_helper_opts *opts);
next prev parent reply other threads:[~2024-04-18 0:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 10:13 [PATCH bpf-next v4 00/14] use network helpers, part 1 Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 01/14] selftests/bpf: Update arguments of connect_to_addr Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 02/14] selftests/bpf: Add start_server_addr* helpers Geliang Tang
2024-04-18 0:08 ` Martin KaFai Lau
2024-04-16 10:13 ` [PATCH bpf-next v4 03/14] selftests/bpf: Use start_server_addr in cls_redirect Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 04/14] selftests/bpf: Use connect_to_addr " Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 05/14] selftests/bpf: Use start_server_addr in sk_assign Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 06/14] selftests/bpf: Use connect_to_addr " Geliang Tang
2024-04-18 0:15 ` Martin KaFai Lau [this message]
2024-04-16 10:13 ` [PATCH bpf-next v4 07/14] selftests/bpf: Use get_socket_local_port " Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 08/14] selftests/bpf: Use make_sockaddr " Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 09/14] selftests/bpf: Use log_err in network_helpers Geliang Tang
2024-04-18 0:19 ` Martin KaFai Lau
2024-04-16 10:13 ` [PATCH bpf-next v4 10/14] selftests/bpf: Use start_server_addr in test_sock_addr Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 11/14] selftests/bpf: Use connect_to_addr " Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 12/14] selftests/bpf: Use make_sockaddr " Geliang Tang
2024-04-16 10:13 ` [PATCH bpf-next v4 13/14] selftests/bpf: Use make_sockaddr in test_sock Geliang Tang
2024-04-16 10:14 ` [PATCH bpf-next v4 14/14] selftests/bpf: Use make_sockaddr in ip_check_defrag Geliang Tang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1eb9a17e-ae76-4082-9ac1-2f7a71063483@linux.dev \
--to=martin.lau@linux.dev \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=eddyz87@gmail.com \
--cc=geliang@kernel.org \
--cc=haoluo@google.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mykolal@fb.com \
--cc=sdf@google.com \
--cc=shuah@kernel.org \
--cc=song@kernel.org \
--cc=tanggeliang@kylinos.cn \
--cc=yonghong.song@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.