:p
atchew
Login
From: Geliang Tang <tanggeliang@kylinos.cn> Since create_netns() is updated in "bpf-next add netns helpers" series, some mptcp bpf patches need to be updated. This series epends on "bpf-next add netns helpers" series. Geliang Tang (3): selftests/bpf: Handle SIGINT when creating netns Squash to "selftests/bpf: Add mptcp subflow subtest" Squash to "selftests/bpf: Add bpf scheduler test" tools/testing/selftests/bpf/network_helpers.c | 12 ++++++++++++ tools/testing/selftests/bpf/prog_tests/mptcp.c | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) -- 2.43.0
From: Geliang Tang <tanggeliang@kylinos.cn> It's necessary to delete netns during BPF selftests interrupt, otherwise the next tests run will fail due to unable to create netns. This patch adds a new SIGINT handle netns_sig_handler() in create_netns(), and deletes NS_TEST in this handler. For passing argument to signal handler, a trick mentioned in [1] is used. [1] https://stackoverflow.com/questions/6970224/providing-passing-argument-to-signal-handler Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> --- tools/testing/selftests/bpf/network_helpers.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/bpf/network_helpers.c b/tools/testing/selftests/bpf/network_helpers.c index XXXXXXX..XXXXXXX 100644 --- a/tools/testing/selftests/bpf/network_helpers.c +++ b/tools/testing/selftests/bpf/network_helpers.c @@ -XXX,XX +XXX,XX @@ void cleanup_netns(struct nstoken *token) close_netns(token); } +static int netns_sig_handler(const int sig, void *ptr) +{ + struct nstoken *token = (struct nstoken *)ptr; + + signal(sig, SIG_IGN); + if (sig == SIGINT) + cleanup_netns(token); + return 0; +} + struct nstoken *create_netns(const char *name) { struct nstoken *token = NULL; @@ -XXX,XX +XXX,XX @@ struct nstoken *create_netns(const char *name) goto fail; } + signal(SIGINT, (__sighandler_t)netns_sig_handler); + netns_sig_handler(SIGUSR1, (void *)token); return token; fail: -- 2.43.0
From: Geliang Tang <tanggeliang@kylinos.cn> create_netns() is updated in "bpf-next add netns helpers" series, test_subflow() needs to be updated too. That means v3 of "selftests/bpf: new MPTCP subflow subtest" cannot be sent to bpf-next at the moment until this "bpf-next add netns helpers" series is accepted. Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c index XXXXXXX..XXXXXXX 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -XXX,XX +XXX,XX @@ static void test_subflow(void) if (!ASSERT_OK(err, "prog_attach")) goto skel_destroy; - nstoken = create_netns(); + nstoken = create_netns(NS_TEST); if (!ASSERT_OK_PTR(nstoken, "create_netns: mptcp_subflow")) goto skel_destroy; -- 2.43.0
From: Geliang Tang <tanggeliang@kylinos.cn> create_netns() is updated in "bpf-next add netns helpers" series, sched_init() needs to be updated too. Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c index XXXXXXX..XXXXXXX 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -XXX,XX +XXX,XX @@ static struct nstoken *sched_init(char *flags, char *sched) { struct nstoken *nstoken; - nstoken = create_netns(); + nstoken = create_netns(NS_TEST); if (!ASSERT_OK_PTR(nstoken, "create_netns")) return NULL; -- 2.43.0
From: Geliang Tang <tanggeliang@kylinos.cn> Since create_netns() is updated in "bpf-next add netns helpers" series, some mptcp bpf patches need to be updated. This series epends on "bpf-next add netns helpers" series. Based-on: <cover.1715821541.git.tanggeliang@kylinos.cn> v3: - add based-on tag. v2: - drop patch 1. Now netns is deleted first before adding it in "selftests/bpf: Export create_netns helper", no need to use SIGINT to delete it anymore. Geliang Tang (2): Squash to "selftests/bpf: Add mptcp subflow subtest" Squash to "selftests/bpf: Add bpf scheduler test" tools/testing/selftests/bpf/prog_tests/mptcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.43.0
From: Geliang Tang <tanggeliang@kylinos.cn> create_netns() is updated in "bpf-next add netns helpers" series, test_subflow() needs to be updated too. That means v3 of "selftests/bpf: new MPTCP subflow subtest" cannot be sent to bpf-next at the moment until this "bpf-next add netns helpers" series is accepted. Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c index XXXXXXX..XXXXXXX 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -XXX,XX +XXX,XX @@ static void test_subflow(void) if (!ASSERT_OK(err, "prog_attach")) goto skel_destroy; - nstoken = create_netns(); + nstoken = create_netns(NS_TEST); if (!ASSERT_OK_PTR(nstoken, "create_netns: mptcp_subflow")) goto skel_destroy; -- 2.43.0
From: Geliang Tang <tanggeliang@kylinos.cn> create_netns() is updated in "bpf-next add netns helpers" series, sched_init() needs to be updated too. Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c index XXXXXXX..XXXXXXX 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -XXX,XX +XXX,XX @@ static struct nstoken *sched_init(char *flags, char *sched) { struct nstoken *nstoken; - nstoken = create_netns(); + nstoken = create_netns(NS_TEST); if (!ASSERT_OK_PTR(nstoken, "create_netns")) return NULL; -- 2.43.0