All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next v2 0/7] for bpf-next
@ 2022-05-19  8:25 Geliang Tang
  2022-05-19  8:25 ` [PATCH mptcp-next v2 1/7] bpf: add bpf_skc_to_mptcp_sock_proto Geliang Tang
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Geliang Tang @ 2022-05-19  8:25 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

v2:
 - The series is for bpf-next v5.
 - patch 1, keep bpf_mptcp_sock_from_subflow() in bpf.c
 - patch 3, Drop the 'msg' parameter of verify_sk
 - base-commit: df896c77f02a ("DO-NOT-MERGE: git markup: features
net-next-next"), export/20220517T155019
 - The last squash-to patch is for "BPF packet scheduler" series.

v1:
 - The first 10 patches is for bpf-next v5.
 - Rebased the "BPF packet scheduler" series on export branch.

Geliang Tang (6):
  bpf: add bpf_skc_to_mptcp_sock_proto
  selftests/bpf: Enable CONFIG_IKCONFIG_PROC in config
  selftests/bpf: test bpf_skc_to_mptcp_sock
  selftests/bpf: verify token of struct mptcp_sock
  selftests/bpf: verify ca_name of struct mptcp_sock
  selftests/bpf: verify first of struct mptcp_sock

Nicolas Rybowski (1):
  selftests/bpf: add MPTCP test base

 MAINTAINERS                                   |   1 +
 include/linux/bpf.h                           |   1 +
 include/linux/btf_ids.h                       |   3 +-
 include/net/mptcp.h                           |   6 +
 include/uapi/linux/bpf.h                      |   7 +
 kernel/bpf/verifier.c                         |   1 +
 kernel/trace/bpf_trace.c                      |   2 +
 net/core/filter.c                             |  18 ++
 net/mptcp/Makefile                            |   2 +
 net/mptcp/bpf.c                               |  21 +++
 scripts/bpf_doc.py                            |   2 +
 tools/include/uapi/linux/bpf.h                |   7 +
 tools/testing/selftests/bpf/bpf_tcp_helpers.h |  13 ++
 tools/testing/selftests/bpf/config            |   3 +
 tools/testing/selftests/bpf/network_helpers.c |  40 +++-
 tools/testing/selftests/bpf/network_helpers.h |   2 +
 .../testing/selftests/bpf/prog_tests/mptcp.c  | 174 ++++++++++++++++++
 .../testing/selftests/bpf/progs/mptcp_sock.c  |  89 +++++++++
 18 files changed, 382 insertions(+), 10 deletions(-)
 create mode 100644 net/mptcp/bpf.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/mptcp.c
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_sock.c

-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH mptcp-next v2] selftests/bpf: use random netns name for mptcp
@ 2023-05-17  8:40 Geliang Tang
  2023-05-17  8:40 ` [PATCH mptcp-next v2] Squash to "selftests/bpf: Add bpf_first test" Geliang Tang
  0 siblings, 1 reply; 13+ messages in thread
From: Geliang Tang @ 2023-05-17  8:40 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

This patch moves the netns operations code from subtest function
test_base() to the main test function test_mptcp(), then this dedicated
test netns can be used for all the subtests. Other subtests will be
added later.

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>
---
This patch should be merged before the commit "mptcp: refactor push_pending logic".
---
 .../testing/selftests/bpf/prog_tests/mptcp.c  | 32 ++++++++++---------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing/selftests/bpf/prog_tests/mptcp.c
index cd0c42fff7c0..d989613c821d 100644
--- a/tools/testing/selftests/bpf/prog_tests/mptcp.c
+++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c
@@ -7,8 +7,6 @@
 #include "network_helpers.h"
 #include "mptcp_sock.skel.h"
 
-#define NS_TEST "mptcp_ns"
-
 #ifndef TCP_CA_NAME_MAX
 #define TCP_CA_NAME_MAX	16
 #endif
@@ -140,20 +138,12 @@ 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(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"))
-		goto fail;
-
 	/* without MPTCP */
 	server_fd = start_server(AF_INET, SOCK_STREAM, NULL, 0, 0);
 	if (!ASSERT_GE(server_fd, 0, "start_server"))
@@ -174,16 +164,28 @@ static void test_base(void)
 	close(server_fd);
 
 fail:
-	if (nstoken)
-		close_netns(nstoken);
-
-	SYS_NOFAIL("ip netns del " NS_TEST " &> /dev/null");
-
 	close(cgroup_fd);
 }
 
 void test_mptcp(void)
 {
+	struct nstoken *nstoken = NULL;
+	char NS_TEST[32] = { 0 };
+
+	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);
+
+	nstoken = open_netns(NS_TEST);
+	if (!ASSERT_OK_PTR(nstoken, "open_netns"))
+		goto fail;
+
 	if (test__start_subtest("base"))
 		test_base();
+
+	if (nstoken)
+		close_netns(nstoken);
+fail:
+	SYS_NOFAIL("ip netns del %s &> /dev/null", NS_TEST);
 }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-05-17  8:55 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-19  8:25 [PATCH mptcp-next v2 0/7] for bpf-next Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2 1/7] bpf: add bpf_skc_to_mptcp_sock_proto Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2 2/7] selftests/bpf: Enable CONFIG_IKCONFIG_PROC in config Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2 3/7] selftests/bpf: add MPTCP test base Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2 4/7] selftests/bpf: test bpf_skc_to_mptcp_sock Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2 5/7] selftests/bpf: verify token of struct mptcp_sock Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2 6/7] selftests/bpf: verify ca_name " Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2 7/7] selftests/bpf: verify first " Geliang Tang
2022-05-19  8:25 ` [PATCH mptcp-next v2] Squash to "selftests/bpf: add bpf_first test" Geliang Tang
2022-05-19 10:49   ` Squash to "selftests/bpf: add bpf_first test": Tests Results MPTCP CI
2022-05-19 14:12 ` [PATCH mptcp-next v2 0/7] for bpf-next Matthieu Baerts
2023-05-17  8:40 [PATCH mptcp-next v2] selftests/bpf: use random netns name for mptcp Geliang Tang
2023-05-17  8:40 ` [PATCH mptcp-next v2] Squash to "selftests/bpf: Add bpf_first test" Geliang Tang
2023-05-17  8:55   ` Matthieu Baerts

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.