All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin KaFai Lau <martin.lau@linux.dev>
To: Hangbin Liu <liuhangbin@gmail.com>
Cc: Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	bpf@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
	"David S . Miller" <davem@davemloft.net>,
	Song Liu <song@kernel.org>, Yonghong Song <yhs@fb.com>,
	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>, Mykola Lysenko <mykolal@fb.com>,
	Felix Maurer <fmaurer@redhat.com>,
	Matthieu Baerts <matthieu.baerts@tessares.net>,
	mptcp@lists.linux.dev, netdev@vger.kernel.org
Subject: Re: [PATCHv2 bpf-next] selftests/bpf: run mptcp in a dedicated netns
Date: Wed, 22 Feb 2023 15:44:17 -0800	[thread overview]
Message-ID: <8781d9c2-2352-ac0b-9d79-82be8eb404ff@linux.dev> (raw)
In-Reply-To: <20230219070124.3900561-1-liuhangbin@gmail.com>

On 2/18/23 11:01 PM, Hangbin Liu wrote:
> The current mptcp test is run in init netns. If the user or default
> system config disabled mptcp, the test will fail. Let's run the mptcp
> test in a dedicated netns to avoid none kernel default mptcp setting.
> 
> Suggested-by: Martin KaFai Lau <martin.lau@linux.dev>
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> ---
> v2: remove unneed close_cgroup_fd goto label.
> ---
>   .../testing/selftests/bpf/prog_tests/mptcp.c  | 27 +++++++++++++++++--
>   1 file changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> index 59f08d6d1d53..dbe2bcfd3b38 100644
> --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
> +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> @@ -7,6 +7,16 @@
>   #include "network_helpers.h"
>   #include "mptcp_sock.skel.h"
>   
> +#define SYS(fmt, ...)						\
> +	({							\
> +		char cmd[1024];					\
> +		snprintf(cmd, sizeof(cmd), fmt, ##__VA_ARGS__);	\
> +		if (!ASSERT_OK(system(cmd), cmd))		\
> +			goto fail;				\
> +	})
> +
> +#define NS_TEST "mptcp_ns"
> +
>   #ifndef TCP_CA_NAME_MAX
>   #define TCP_CA_NAME_MAX	16
>   #endif
> @@ -138,12 +148,20 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
>   
>   static void test_base(void)
>   {
> +	struct nstoken *nstoken = NULL;
>   	int server_fd, cgroup_fd;
>   
>   	cgroup_fd = test__join_cgroup("/mptcp");
>   	if (!ASSERT_GE(cgroup_fd, 0, "test__join_cgroup"))
>   		return;
>   
> +	SYS("ip netns add %s", NS_TEST);
> +	SYS("ip -net %s link set dev lo up", NS_TEST);
> +
> +	nstoken = open_netns(NS_TEST);
> +	if (!ASSERT_OK_PTR(nstoken, "open_netns"))
> +		goto fail;
> +
>   	/* without MPTCP */
>   	server_fd = start_server(AF_INET, SOCK_STREAM, NULL, 0, 0);
>   	if (!ASSERT_GE(server_fd, 0, "start_server"))
> @@ -157,13 +175,18 @@ static void test_base(void)
>   	/* with MPTCP */
>   	server_fd = start_mptcp_server(AF_INET, NULL, 0, 0);
>   	if (!ASSERT_GE(server_fd, 0, "start_mptcp_server"))
> -		goto close_cgroup_fd;
> +		goto fail;
>   
>   	ASSERT_OK(run_test(cgroup_fd, server_fd, true), "run_test mptcp");
>   
>   	close(server_fd);
>   
> -close_cgroup_fd:
> +fail:
> +	if (nstoken)
> +		close_netns(nstoken);
> +
> +	system("ip netns del " NS_TEST " >& /dev/null");

It needs to be "&>", like the fix in commit 98e13848cf43 ("selftests/bpf: Fix 
decap_sanity_ns cleanup").

Since it needs to respin, could you help and take this chance to put the above 
SYS() macro into the test_progs.h. Other selftests are doing similar thing also. 
If possible, it may be easier to have a configurable "goto_label" as the first arg.

  parent reply	other threads:[~2023-02-22 23:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-19  7:01 [PATCHv2 bpf-next] selftests/bpf: run mptcp in a dedicated netns Hangbin Liu
2023-02-19  8:38 ` selftests/bpf: run mptcp in a dedicated netns: Tests Results MPTCP CI
2023-02-20 11:16 ` [PATCHv2 bpf-next] selftests/bpf: run mptcp in a dedicated netns Matthieu Baerts
2023-02-20 12:17 ` selftests/bpf: run mptcp in a dedicated netns: Tests Results MPTCP CI
2023-02-22 23:44 ` Martin KaFai Lau [this message]
2023-02-23  6:40   ` [PATCHv2 bpf-next] selftests/bpf: run mptcp in a dedicated netns Hangbin Liu

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=8781d9c2-2352-ac0b-9d79-82be8eb404ff@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=davem@davemloft.net \
    --cc=fmaurer@redhat.com \
    --cc=haoluo@google.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=liuhangbin@gmail.com \
    --cc=matthieu.baerts@tessares.net \
    --cc=mptcp@lists.linux.dev \
    --cc=mykolal@fb.com \
    --cc=netdev@vger.kernel.org \
    --cc=sdf@google.com \
    --cc=song@kernel.org \
    --cc=yhs@fb.com \
    /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.