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

From: Alexei Starovoitov
Date: Tue May 07 2024 - 10:44:03 EST


On Tue, May 7, 2024 at 3:53 AM Matthieu Baerts (NGI0)
<matttbe@xxxxxxxxxx> wrote:
>
> 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);

That's a drop in the bucket.
ctrl-c of test_progs doesn't really work.
Such clean up needs to be generic as part of network_helpers.c