* [PATCH mptcp-next v3 1/6] selftests/bpf: add two mptcp netns helpers
@ 2023-05-30 13:15 ` Geliang Tang
0 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-05-17 13:57 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Add two netns helpers for mptcp tests: create_netns() and
cleanup_netns(). Use them in test_base().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/bpf/prog_tests/mptcp.c | 29 +++++++++++++------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index de8b6c68fc30..d008388554de 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -142,6 +142,23 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
return err;
}
+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);
+
+fail:
+ return open_netns(NS_TEST);
+}
+
+static void cleanup_netns(struct nstoken *nstoken)
+{
+ if (nstoken)
+ close_netns(nstoken);
+
+ SYS_NOFAIL("ip netns del %s &> /dev/null", NS_TEST);
+}
+
static void test_base(void)
{
struct nstoken *nstoken = NULL;
@@ -151,11 +168,8 @@ static void test_base(void)
if (!ASSERT_GE(cgroup_fd, 0, "test__join_cgroup"))
return;
- SYS(fail, "ip netns add %s", NS_TEST);
- SYS(fail, "ip -net %s link set dev lo up", NS_TEST);
-
- nstoken = open_netns(NS_TEST);
- if (!ASSERT_OK_PTR(nstoken, "open_netns"))
+ nstoken = create_netns();
+ if (!ASSERT_OK_PTR(nstoken, "create_netns"))
goto fail;
/* without MPTCP */
@@ -178,10 +192,7 @@ static void test_base(void)
close(server_fd);
fail:
- if (nstoken)
- close_netns(nstoken);
-
- SYS_NOFAIL("ip netns del " NS_TEST " &> /dev/null");
+ cleanup_netns(nstoken);
close(cgroup_fd);
}
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH mptcp-next v3 1/6] selftests/bpf: add two mptcp netns helpers
@ 2023-05-30 13:15 ` Geliang Tang
0 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-05-30 13:15 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Add two netns helpers for mptcp tests: create_netns() and
cleanup_netns(). Use them in test_base().
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/bpf/prog_tests/mptcp.c | 29 +++++++++++++------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index de8b6c68fc30..d008388554de 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -142,6 +142,23 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
return err;
}
+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);
+
+fail:
+ return open_netns(NS_TEST);
+}
+
+static void cleanup_netns(struct nstoken *nstoken)
+{
+ if (nstoken)
+ close_netns(nstoken);
+
+ SYS_NOFAIL("ip netns del %s &> /dev/null", NS_TEST);
+}
+
static void test_base(void)
{
struct nstoken *nstoken = NULL;
@@ -151,11 +168,8 @@ static void test_base(void)
if (!ASSERT_GE(cgroup_fd, 0, "test__join_cgroup"))
return;
- SYS(fail, "ip netns add %s", NS_TEST);
- SYS(fail, "ip -net %s link set dev lo up", NS_TEST);
-
- nstoken = open_netns(NS_TEST);
- if (!ASSERT_OK_PTR(nstoken, "open_netns"))
+ nstoken = create_netns();
+ if (!ASSERT_OK_PTR(nstoken, "create_netns"))
goto fail;
/* without MPTCP */
@@ -178,10 +192,7 @@ static void test_base(void)
close(server_fd);
fail:
- if (nstoken)
- close_netns(nstoken);
-
- SYS_NOFAIL("ip netns del " NS_TEST " &> /dev/null");
+ cleanup_netns(nstoken);
close(cgroup_fd);
}
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH mptcp-next v3 1/6] selftests/bpf: add two mptcp netns helpers
2023-05-30 13:15 ` Geliang Tang
(?)
@ 2023-05-17 15:09 ` Matthieu Baerts
-1 siblings, 0 replies; 14+ messages in thread
From: Matthieu Baerts @ 2023-05-17 15:09 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 17/05/2023 15:57, Geliang Tang wrote:
> Add two netns helpers for mptcp tests: create_netns() and
> cleanup_netns(). Use them in test_base().
>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> .../testing/selftests/bpf/prog_tests/mptcp.c | 29 +++++++++++++------
> 1 file changed, 20 insertions(+), 9 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> index de8b6c68fc30..d008388554de 100644
> --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
> +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> @@ -142,6 +142,23 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
> return err;
> }
>
> +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);
> +
> +fail:
Should you not return NULL in case of error not to start the test if the
environment is not OK?
SYS(fail, "ip netns add %s", NS_TEST);
SYS(fail, "ip -net %s link set dev lo up", NS_TEST);
return open_netns(NS_TEST);
fail:
return NULL;
> + return open_netns(NS_TEST);
> +}
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH mptcp-next v3 2/6] selftests/bpf: use random netns name for mptcp
@ 2023-05-30 13:15 ` Geliang Tang
0 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-05-17 13:57 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Use rand() to generate a random netns name instead of using the fixed
name "mptcp_ns" for every test.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/bpf/prog_tests/mptcp.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index d008388554de..ca348bab0afe 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -11,7 +11,7 @@
#include "mptcp_bpf_rr.skel.h"
#include "mptcp_bpf_red.skel.h"
-#define NS_TEST "mptcp_ns"
+char NS_TEST[32];
#ifndef TCP_CA_NAME_MAX
#define TCP_CA_NAME_MAX 16
@@ -144,6 +144,8 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
static struct nstoken *create_netns(void)
{
+ srand(time(NULL));
+ snprintf(NS_TEST, sizeof(NS_TEST), "mptcp_ns_%d", rand());
SYS(fail, "ip netns add %s", NS_TEST);
SYS(fail, "ip -net %s link set dev lo up", NS_TEST);
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH mptcp-next v3 2/6] selftests/bpf: use random netns name for mptcp
@ 2023-05-30 13:15 ` Geliang Tang
0 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-05-30 13:15 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Use rand() to generate a random netns name instead of using the fixed
name "mptcp_ns" for every test.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/bpf/prog_tests/mptcp.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index d008388554de..ca348bab0afe 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -11,7 +11,7 @@
#include "mptcp_bpf_rr.skel.h"
#include "mptcp_bpf_red.skel.h"
-#define NS_TEST "mptcp_ns"
+char NS_TEST[32];
#ifndef TCP_CA_NAME_MAX
#define TCP_CA_NAME_MAX 16
@@ -144,6 +144,8 @@ static int run_test(int cgroup_fd, int server_fd, bool is_mptcp)
static struct nstoken *create_netns(void)
{
+ srand(time(NULL));
+ snprintf(NS_TEST, sizeof(NS_TEST), "mptcp_ns_%d", rand());
SYS(fail, "ip netns add %s", NS_TEST);
SYS(fail, "ip -net %s link set dev lo up", NS_TEST);
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH mptcp-next v3 3/6] Squash to "selftests/bpf: Add bpf_first test"
2023-05-17 13:57 [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns Geliang Tang
2023-05-30 13:15 ` Geliang Tang
2023-05-30 13:15 ` Geliang Tang
@ 2023-05-17 13:57 ` Geliang Tang
2023-05-17 15:09 ` Matthieu Baerts
2023-05-17 13:57 ` [PATCH mptcp-next v3 4/6] Squash to "selftests/bpf: Add bpf_bkup test" Geliang Tang
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Geliang Tang @ 2023-05-17 13:57 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Run mptcp sched test in a dedicated netns.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
.../testing/selftests/bpf/prog_tests/mptcp.c | 50 +++++++++----------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index ca348bab0afe..210ab5c30962 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -284,42 +284,39 @@ static void send_data(int lfd, int fd)
#define ADDR_1 "10.0.1.1"
#define ADDR_2 "10.0.1.2"
-static void sched_init(char *flags, char *sched)
+static struct nstoken *sched_init(char *flags, char *sched)
{
- char cmd[64];
-
- system("ip link add veth1 type veth peer name veth2");
- snprintf(cmd, sizeof(cmd), "ip addr add %s/24 dev veth1", ADDR_1);
- system(cmd);
- system("ip link set veth1 up");
- snprintf(cmd, sizeof(cmd), "ip addr add %s/24 dev veth2", ADDR_2);
- system(cmd);
- system("ip link set veth2 up");
-
- snprintf(cmd, sizeof(cmd), "ip mptcp endpoint add %s %s", ADDR_2, flags);
- system(cmd);
- snprintf(cmd, sizeof(cmd), "sysctl -qw net.mptcp.scheduler=%s", sched);
- system(cmd);
-}
+ struct nstoken *nstoken;
-static void sched_cleanup(void)
-{
- system("sysctl -qw net.mptcp.scheduler=default");
- system("ip mptcp endpoint flush");
- system("ip link del veth1");
+ nstoken = create_netns();
+ if (!ASSERT_OK_PTR(nstoken, "create_netns"))
+ goto fail;
+
+ SYS(fail, "ip -net %s link add veth1 type veth peer name veth2", NS_TEST);
+ SYS(fail, "ip -net %s addr add %s/24 dev veth1", NS_TEST, ADDR_1);
+ SYS(fail, "ip -net %s link set dev veth1 up", NS_TEST);
+ SYS(fail, "ip -net %s addr add %s/24 dev veth2", NS_TEST, ADDR_2);
+ SYS(fail, "ip -net %s link set dev veth2 up", NS_TEST);
+ SYS(fail, "ip -net %s mptcp endpoint add %s %s", NS_TEST, ADDR_2, flags);
+ SYS(fail, "ip netns exec %s sysctl -qw net.mptcp.scheduler=%s", NS_TEST, sched);
+
+fail:
+ return nstoken;
}
static int has_bytes_sent(char *addr)
{
- char cmd[64];
+ char cmd[128];
- snprintf(cmd, sizeof(cmd), "ss -it dst %s | grep -q 'bytes_sent:'", addr);
+ snprintf(cmd, sizeof(cmd), "ip netns exec %s ss -it dst %s | grep -q bytes_sent:",
+ NS_TEST, addr);
return system(cmd);
}
static void test_first(void)
{
struct mptcp_bpf_first *first_skel;
+ struct nstoken *nstoken = NULL;
int server_fd, client_fd;
struct bpf_link *link;
@@ -333,7 +330,9 @@ static void test_first(void)
return;
}
- sched_init("subflow", "bpf_first");
+ nstoken = sched_init("subflow", "bpf_first");
+ if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_first"))
+ goto fail;
server_fd = start_mptcp_server(AF_INET, ADDR_1, 0, 0);
client_fd = connect_to_fd(server_fd, 0);
@@ -343,7 +342,8 @@ static void test_first(void)
close(client_fd);
close(server_fd);
- sched_cleanup();
+fail:
+ cleanup_netns(nstoken);
bpf_link__destroy(link);
mptcp_bpf_first__destroy(first_skel);
}
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH mptcp-next v3 3/6] Squash to "selftests/bpf: Add bpf_first test"
2023-05-17 13:57 ` [PATCH mptcp-next v3 3/6] Squash to "selftests/bpf: Add bpf_first test" Geliang Tang
@ 2023-05-17 15:09 ` Matthieu Baerts
0 siblings, 0 replies; 14+ messages in thread
From: Matthieu Baerts @ 2023-05-17 15:09 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 17/05/2023 15:57, Geliang Tang wrote:
> Run mptcp sched test in a dedicated netns.
>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> .../testing/selftests/bpf/prog_tests/mptcp.c | 50 +++++++++----------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> index ca348bab0afe..210ab5c30962 100644
> --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
> +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> @@ -284,42 +284,39 @@ static void send_data(int lfd, int fd)
> #define ADDR_1 "10.0.1.1"
> #define ADDR_2 "10.0.1.2"
>
> -static void sched_init(char *flags, char *sched)
> +static struct nstoken *sched_init(char *flags, char *sched)
> {
> - char cmd[64];
> -
> - system("ip link add veth1 type veth peer name veth2");
> - snprintf(cmd, sizeof(cmd), "ip addr add %s/24 dev veth1", ADDR_1);
> - system(cmd);
> - system("ip link set veth1 up");
> - snprintf(cmd, sizeof(cmd), "ip addr add %s/24 dev veth2", ADDR_2);
> - system(cmd);
> - system("ip link set veth2 up");
> -
> - snprintf(cmd, sizeof(cmd), "ip mptcp endpoint add %s %s", ADDR_2, flags);
> - system(cmd);
> - snprintf(cmd, sizeof(cmd), "sysctl -qw net.mptcp.scheduler=%s", sched);
> - system(cmd);
> -}
> + struct nstoken *nstoken;
>
> -static void sched_cleanup(void)
> -{
> - system("sysctl -qw net.mptcp.scheduler=default");
> - system("ip mptcp endpoint flush");
> - system("ip link del veth1");
> + nstoken = create_netns();
> + if (!ASSERT_OK_PTR(nstoken, "create_netns"))
> + goto fail;
> +
> + SYS(fail, "ip -net %s link add veth1 type veth peer name veth2", NS_TEST);
> + SYS(fail, "ip -net %s addr add %s/24 dev veth1", NS_TEST, ADDR_1);
> + SYS(fail, "ip -net %s link set dev veth1 up", NS_TEST);
> + SYS(fail, "ip -net %s addr add %s/24 dev veth2", NS_TEST, ADDR_2);
> + SYS(fail, "ip -net %s link set dev veth2 up", NS_TEST);
> + SYS(fail, "ip -net %s mptcp endpoint add %s %s", NS_TEST, ADDR_2, flags);
> + SYS(fail, "ip netns exec %s sysctl -qw net.mptcp.scheduler=%s", NS_TEST, sched);
> +
> +fail:
Same here, why not returning NULL in case of error to stop the test
earlier if it was not possible to setup the environment?
> + return nstoken;
> }
>
> static int has_bytes_sent(char *addr)
> {
> - char cmd[64];
> + char cmd[128];
>
> - snprintf(cmd, sizeof(cmd), "ss -it dst %s | grep -q 'bytes_sent:'", addr);
> + snprintf(cmd, sizeof(cmd), "ip netns exec %s ss -it dst %s | grep -q bytes_sent:",
> + NS_TEST, addr);
> return system(cmd);
> }
>
> static void test_first(void)
> {
> struct mptcp_bpf_first *first_skel;
> + struct nstoken *nstoken = NULL;
> int server_fd, client_fd;
> struct bpf_link *link;
>
> @@ -333,7 +330,9 @@ static void test_first(void)
> return;
> }
>
> - sched_init("subflow", "bpf_first");
> + nstoken = sched_init("subflow", "bpf_first");
> + if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_first"))
> + goto fail;
> server_fd = start_mptcp_server(AF_INET, ADDR_1, 0, 0);
> client_fd = connect_to_fd(server_fd, 0);
>
> @@ -343,7 +342,8 @@ static void test_first(void)
>
> close(client_fd);
> close(server_fd);
> - sched_cleanup();
> +fail:
> + cleanup_netns(nstoken);
> bpf_link__destroy(link);
> mptcp_bpf_first__destroy(first_skel);
> }
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH mptcp-next v3 4/6] Squash to "selftests/bpf: Add bpf_bkup test"
2023-05-17 13:57 [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns Geliang Tang
` (2 preceding siblings ...)
2023-05-17 13:57 ` [PATCH mptcp-next v3 3/6] Squash to "selftests/bpf: Add bpf_first test" Geliang Tang
@ 2023-05-17 13:57 ` Geliang Tang
2023-05-17 13:57 ` [PATCH mptcp-next v3 5/6] Squash to "selftests/bpf: Add bpf_rr test" Geliang Tang
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-05-17 13:57 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Run mptcp sched test in a dedicated netns.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/bpf/prog_tests/mptcp.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index 210ab5c30962..88bef3dff24e 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -351,6 +351,7 @@ static void test_first(void)
static void test_bkup(void)
{
struct mptcp_bpf_bkup *bkup_skel;
+ struct nstoken *nstoken = NULL;
int server_fd, client_fd;
struct bpf_link *link;
@@ -364,7 +365,9 @@ static void test_bkup(void)
return;
}
- sched_init("subflow backup", "bpf_bkup");
+ nstoken = sched_init("subflow backup", "bpf_bkup");
+ if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_bkup"))
+ goto fail;
server_fd = start_mptcp_server(AF_INET, ADDR_1, 0, 0);
client_fd = connect_to_fd(server_fd, 0);
@@ -374,7 +377,8 @@ static void test_bkup(void)
close(client_fd);
close(server_fd);
- sched_cleanup();
+fail:
+ cleanup_netns(nstoken);
bpf_link__destroy(link);
mptcp_bpf_bkup__destroy(bkup_skel);
}
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH mptcp-next v3 5/6] Squash to "selftests/bpf: Add bpf_rr test"
2023-05-17 13:57 [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns Geliang Tang
` (3 preceding siblings ...)
2023-05-17 13:57 ` [PATCH mptcp-next v3 4/6] Squash to "selftests/bpf: Add bpf_bkup test" Geliang Tang
@ 2023-05-17 13:57 ` Geliang Tang
2023-05-17 15:09 ` Matthieu Baerts
2023-05-17 13:57 ` [PATCH mptcp-next v3 6/6] Squash to "selftests/bpf: Add bpf_red test" Geliang Tang
2023-05-17 15:08 ` [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns Matthieu Baerts
6 siblings, 1 reply; 14+ messages in thread
From: Geliang Tang @ 2023-05-17 13:57 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Run mptcp sched test in a dedicated netns.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/bpf/prog_tests/mptcp.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index 88bef3dff24e..912457da88eb 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -385,6 +385,7 @@ static void test_bkup(void)
static void test_rr(void)
{
+ struct nstoken *nstoken = NULL;
struct mptcp_bpf_rr *rr_skel;
int server_fd, client_fd;
struct bpf_link *link;
@@ -399,7 +400,9 @@ static void test_rr(void)
return;
}
- sched_init("subflow", "bpf_rr");
+ nstoken = sched_init("subflow", "bpf_rr");
+ if (!ASSERT_OK_PTR(nstoken, "sched_init:rr"))
+ goto fail;
server_fd = start_mptcp_server(AF_INET, ADDR_1, 0, 0);
client_fd = connect_to_fd(server_fd, 0);
@@ -409,7 +412,8 @@ static void test_rr(void)
close(client_fd);
close(server_fd);
- sched_cleanup();
+fail:
+ cleanup_netns(nstoken);
bpf_link__destroy(link);
mptcp_bpf_rr__destroy(rr_skel);
}
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH mptcp-next v3 5/6] Squash to "selftests/bpf: Add bpf_rr test"
2023-05-17 13:57 ` [PATCH mptcp-next v3 5/6] Squash to "selftests/bpf: Add bpf_rr test" Geliang Tang
@ 2023-05-17 15:09 ` Matthieu Baerts
0 siblings, 0 replies; 14+ messages in thread
From: Matthieu Baerts @ 2023-05-17 15:09 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 17/05/2023 15:57, Geliang Tang wrote:
> Run mptcp sched test in a dedicated netns.
>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> tools/testing/selftests/bpf/prog_tests/mptcp.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> index 88bef3dff24e..912457da88eb 100644
> --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
> +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
> @@ -385,6 +385,7 @@ static void test_bkup(void)
>
> static void test_rr(void)
> {
> + struct nstoken *nstoken = NULL;
> struct mptcp_bpf_rr *rr_skel;
> int server_fd, client_fd;
> struct bpf_link *link;
> @@ -399,7 +400,9 @@ static void test_rr(void)
> return;
> }
>
> - sched_init("subflow", "bpf_rr");
> + nstoken = sched_init("subflow", "bpf_rr");
> + if (!ASSERT_OK_PTR(nstoken, "sched_init:rr"))
Small detail if you have to send a v4: can you add the "bpf_" prefix
like with the others?
sched_init:bpf_rr
Cheers,
Matt
> + goto fail;
> server_fd = start_mptcp_server(AF_INET, ADDR_1, 0, 0);
> client_fd = connect_to_fd(server_fd, 0);
>
> @@ -409,7 +412,8 @@ static void test_rr(void)
>
> close(client_fd);
> close(server_fd);
> - sched_cleanup();
> +fail:
> + cleanup_netns(nstoken);
> bpf_link__destroy(link);
> mptcp_bpf_rr__destroy(rr_skel);
> }
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH mptcp-next v3 6/6] Squash to "selftests/bpf: Add bpf_red test"
2023-05-17 13:57 [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns Geliang Tang
` (4 preceding siblings ...)
2023-05-17 13:57 ` [PATCH mptcp-next v3 5/6] Squash to "selftests/bpf: Add bpf_rr test" Geliang Tang
@ 2023-05-17 13:57 ` Geliang Tang
2023-05-17 15:24 ` Squash to "selftests/bpf: Add bpf_red test": Tests Results MPTCP CI
2023-05-17 15:08 ` [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns Matthieu Baerts
6 siblings, 1 reply; 14+ messages in thread
From: Geliang Tang @ 2023-05-17 13:57 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
Run mptcp sched test in a dedicated netns.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
tools/testing/selftests/bpf/prog_tests/mptcp.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index 912457da88eb..77aab18c63a0 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -421,6 +421,7 @@ static void test_rr(void)
static void test_red(void)
{
struct mptcp_bpf_red *red_skel;
+ struct nstoken *nstoken = NULL;
int server_fd, client_fd;
struct bpf_link *link;
@@ -434,7 +435,9 @@ static void test_red(void)
return;
}
- sched_init("subflow", "bpf_red");
+ nstoken = sched_init("subflow", "bpf_red");
+ if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_red"))
+ goto fail;
server_fd = start_mptcp_server(AF_INET, ADDR_1, 0, 0);
client_fd = connect_to_fd(server_fd, 0);
@@ -444,7 +447,8 @@ static void test_red(void)
close(client_fd);
close(server_fd);
- sched_cleanup();
+fail:
+ cleanup_netns(nstoken);
bpf_link__destroy(link);
mptcp_bpf_red__destroy(red_skel);
}
--
2.35.3
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns
2023-05-17 13:57 [PATCH mptcp-next v3 0/6] run sched tests in a dedicated ns Geliang Tang
` (5 preceding siblings ...)
2023-05-17 13:57 ` [PATCH mptcp-next v3 6/6] Squash to "selftests/bpf: Add bpf_red test" Geliang Tang
@ 2023-05-17 15:08 ` Matthieu Baerts
6 siblings, 0 replies; 14+ messages in thread
From: Matthieu Baerts @ 2023-05-17 15:08 UTC (permalink / raw)
To: Geliang Tang, mptcp
Hi Geliang,
On 17/05/2023 15:57, Geliang Tang wrote:
> v3:
> - add two helpers.
> - drop sched_cleanup().
> - the first two patches should be merged between the commit
> "selftests/bpf: Add mptcp sched structs" and
> "selftests/bpf: Add bpf_first scheduler".
Thank you for this v3, it is clearer!
I just have two small last suggestions if you don't mind. The rest looks
good to me!
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
^ permalink raw reply [flat|nested] 14+ messages in thread