[PATCH bpf-next 1/4] selftests/bpf: Handle SIGINT when creating netns

From: Matthieu Baerts (NGI0)
Date: Tue May 07 2024 - 06:54:39 EST


From: Geliang Tang <tanggeliang@xxxxxxxxxx>

It's necessary to delete netns during the MPTCP bpf tests interrupt,
otherwise the next tests run will fail due to unable to create netns.

This patch adds a new SIGINT handle sig_int, and deletes NS_TEST in it.

Signed-off-by: Geliang Tang <tanggeliang@xxxxxxxxxx>
Reviewed-by: Mat Martineau <martineau@xxxxxxxxxx>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@xxxxxxxxxx>
---
tools/testing/selftests/bpf/prog_tests/mptcp.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index 274d2e033e39..baf976a7a1dd 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -64,11 +64,18 @@ struct mptcp_storage {
char ca_name[TCP_CA_NAME_MAX];
};

+static void sig_int(int sig)
+{
+ signal(sig, SIG_IGN);
+ SYS_NOFAIL("ip netns del %s", NS_TEST);
+}
+
static struct nstoken *create_netns(void)
{
SYS(fail, "ip netns add %s", NS_TEST);
SYS(fail, "ip -net %s link set dev lo up", NS_TEST);

+ signal(SIGINT, sig_int);
return open_netns(NS_TEST);
fail:
return NULL;

--
2.43.0