From nobody Tue May 14 20:43:37 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB65426AEA for ; Wed, 20 Mar 2024 12:37:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938233; cv=none; b=ZZjoVBtHLXnA2KVkm5he6ax3wFF//uW2wwKFy7bTn7uv9azxWtGkzrQ2UEOoAkR0U3PnTkOeu2mqLPVGZUlBXo2sep3ZF6zd3JD5PEx4bMbG9BViMR+vqGSH4Kk4etHQP7MEp+qCRLXjk1ZN4SgoccghgpFeOwJyAFaxg9asWow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938233; c=relaxed/simple; bh=cupSuqX5M9K4AgQNSwKeGylrEJsU5vXKS/7HlqY/KdI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=vFrT1IwY1XRvUwOCsFTT/I5hoJ/Dn0KgIPnuFftQzBXk+d05R8UyllZP26eUpxEhC/S8by5PqB1pdTVzMuqRlK5iwd+tuHhlY2E6xLUdJeAJjO7MfuI5AscJL1ACRUHGDM5ITZSULLOAsU+4QxtpYelb3qUIHzXKwjz1kmTcA/I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KOMdmL4e; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KOMdmL4e" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29F6FC433C7; Wed, 20 Mar 2024 12:37:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710938233; bh=cupSuqX5M9K4AgQNSwKeGylrEJsU5vXKS/7HlqY/KdI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KOMdmL4eO1UwM6hG6Eu1KitvWaOYDB47RHzNPpw7z0OYPjFZ//rYPmdOiEZWdxQ65 1wD/LsYS6tCvl2YOX1xQCg0GHsdtcgcEhZOrJ5oGEDVAf9rE2p9B7VxJ4YDcuI03vo zaDoLOjVV9QywQu3lGe96OoBFYSdfqLuuyFKoT9tDIVvsu3XxB+golO27Y2R9qD2/E zhivKH2O82Vtom1un62F5RmunimH0wV8K+ds3uThD69p1Kx5naHmgaQ35FLsvMVhPp 2XRXlz6ayKa1iBt7/MGhd1B3mAwRbeuc+dTeydNu0DYS9e1aqmhwHXMD6vs4JLtC8X SVZWvU/AhYCQg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 1/4] Squash to "selftests/bpf: Add bpf scheduler test" fix Date: Wed, 20 Mar 2024 20:37:02 +0800 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang BPF tests fail sometimes with "bytes !=3D total_bytes" errors: # test_default:PASS:sched_init:default 0 nsec # send_data:PASS:pthread_create 0 nsec # send_data:FAIL:recv 936000 !=3D 10485760 nr_recv:-1 errno:11 # default: 3041 ms # server:FAIL:send 7579500 !=3D 10485760 nr_sent:-1 errno:11 # send_data:FAIL:pthread_join thread_ret:-11test_default:PASS:has_bytes_se= nt addr_1 0 nsec # test_default:PASS:has_bytes_sent addr_2 0 nsec # close_netns:PASS:setns 0 nsec "bytes !=3D total_bytes" is not a fatal error for BPF test, just print out the error info and skip it. This patch makes BPF tests stable. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 6e28215d7404..4c180839ff1d 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -362,8 +362,10 @@ static void *server(void *arg) bytes +=3D nr_sent; } =20 - CHECK(bytes !=3D total_bytes, "send", "%zd !=3D %u nr_sent:%zd errno:%d\n= ", - bytes, total_bytes, nr_sent, errno); + if (bytes !=3D total_bytes) { + printf("FAIL:send %zd !=3D %u nr_sent:%zd errno:%d\n", + bytes, total_bytes, nr_sent, errno); + } =20 done: if (fd >=3D 0) @@ -409,16 +411,18 @@ static void send_data(int lfd, int fd, char *msg) =20 delta_ms =3D (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv= _nsec) / 1000000; =20 - CHECK(bytes !=3D total_bytes, "recv", "%zd !=3D %u nr_recv:%zd errno:%d\n= ", - bytes, total_bytes, nr_recv, errno); + if (bytes !=3D total_bytes) { + printf("FAIL:recv %zd !=3D %u nr_recv:%zd errno:%d\n", + bytes, total_bytes, nr_recv, errno); + } =20 printf("%s: %u ms\n", msg, delta_ms); =20 WRITE_ONCE(stop, 1); =20 pthread_join(srv_thread, &thread_ret); - CHECK(IS_ERR(thread_ret), "pthread_join", "thread_ret:%ld", - PTR_ERR(thread_ret)); + if (IS_ERR(thread_ret)) + printf("FAIL:pthread_join thread_ret:%ld\n", PTR_ERR(thread_ret)); } =20 #define ADDR_1 "10.0.1.1" --=20 2.40.1 From nobody Tue May 14 20:43:37 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E026D3BBEA for ; Wed, 20 Mar 2024 12:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938236; cv=none; b=O5+pIif4Kr4G5x8C64G9y0g6NQTumIk1k+YjEinULytoMFevJNbpmwqXJWDD5rle7mtZ2QibdxDXmRhuU9/VIjIovnLBxoqdxR10gqYyGDKkmMnD7SWGjsS2QYIAWuHAbkLICqcX3F2sug61XMoIhXVutvPkU/o4VkqhCajwKnI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938236; c=relaxed/simple; bh=DbvUue7Hd5IAOkM+wy0uxjCf+YEJiA8Ntjlh/ZxmIC8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=F+sUyUrquhCcX/VuR2F7CIWXUP8NHMORMulIeolINdjAJ1kDUf0FGQNjUj3JEN6iptvAZG0Of03ThwTSUhVrv5KpPE/QmkaAxbDUKuujOxjIAYw3ex6AsDggtxWJudsNSel0xQs2PAC/Qs7YpBgFBnZUwBujwkaYbqGguxGzBfc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MCZ0gnVL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MCZ0gnVL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0589DC433F1; Wed, 20 Mar 2024 12:37:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710938235; bh=DbvUue7Hd5IAOkM+wy0uxjCf+YEJiA8Ntjlh/ZxmIC8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MCZ0gnVLk/PSblFOrsZEzQLxYfQkatNkP4iOFNStgNLywNHMh6fnVc+eoqXAP5NSS xQTufiSEBDnNAo5efDAdHVL+0rGQc90ESjmf98M+NoKV4DQqChgVf7B04cy/X2QMxT 8RNspwtg6XXJxWIY/Dh+3cZF48Ct4dnHobeYd2N3SPP52pQ2rqrBdW1OrWCUOLX+oV H+XefjuH6rZHz0t2Z+czLkmP+PQgspZPXpSbdhIOYfUMh2ULgnXzLLD0LN/S+oywph 96vFSaQnQgYBEs8QHjKbCRxHmEI03zalJ8O8MB/uaOUIUB8Dxnq7OfcOH4cRvsynEZ Tf9DOmFpd34Yw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 2/4] selftests/bpf: Add mptcp subflow prog Date: Wed, 20 Mar 2024 20:37:03 +0800 Message-Id: <2e9900609e211a5b93cc682c5347035f8420bf93.1710938175.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang Move Nicolas's patch into bpf selftests directory. This prog added a test that was adding a different mark (SO_MARK) on each subflow, and changing the TCP CC only on the first subflow. Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/76 Signed-off-by: Geliang Tang --- .../selftests/bpf/progs/mptcp_subflow.c | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_subflow.c diff --git a/tools/testing/selftests/bpf/progs/mptcp_subflow.c b/tools/test= ing/selftests/bpf/progs/mptcp_subflow.c new file mode 100644 index 000000000000..1b49eaae4f77 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_subflow.c @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2024, Tessares SA. */ +/* Author: Nicolas Rybowski */ + +#include // SOL_SOCKET, SO_MARK, ... +#include // TCP_CONGESTION +#include +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +#ifndef SOL_TCP +#define SOL_TCP 6 +#endif + +#ifndef TCP_CA_NAME_MAX +#define TCP_CA_NAME_MAX 16 +#endif + +char cc[TCP_CA_NAME_MAX] =3D "reno"; + +/* Associate a subflow counter to each token */ +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(key_size, sizeof(__u32)); + __uint(value_size, sizeof(__u32)); + __uint(max_entries, 100); +} mptcp_sf SEC(".maps"); + +SEC("sockops") +int mptcp_subflow(struct bpf_sock_ops *skops) +{ + __u32 init =3D 1, key, mark, *cnt; + struct mptcp_sock *msk; + struct bpf_sock *sk; + int err; + + if (skops->op !=3D BPF_SOCK_OPS_TCP_CONNECT_CB) + return 1; + + sk =3D skops->sk; + if (!sk) + return 1; + + msk =3D bpf_skc_to_mptcp_sock(sk); + if (!msk) + return 1; + + key =3D msk->token; + cnt =3D bpf_map_lookup_elem(&mptcp_sf, &key); + if (cnt) { + /* A new subflow is added to an existing MPTCP connection */ + __sync_fetch_and_add(cnt, 1); + mark =3D *cnt; + } else { + /* A new MPTCP connection is just initiated and this is its primary + * subflow + */ + bpf_map_update_elem(&mptcp_sf, &key, &init, BPF_ANY); + mark =3D init; + } + + /* Set the mark of the subflow's socket to its apparition order */ + err =3D bpf_setsockopt(skops, SOL_SOCKET, SO_MARK, &mark, sizeof(mark)); + if (err < 0) + return 1; + if (mark =3D=3D 1) + err =3D bpf_setsockopt(skops, SOL_TCP, TCP_CONGESTION, cc, TCP_CA_NAME_M= AX); + + return 1; +} --=20 2.40.1 From nobody Tue May 14 20:43:37 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6741E224F2 for ; Wed, 20 Mar 2024 12:37:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938237; cv=none; b=doXarfXpKT2FJlfhbDLOzSha9Mj4mHahgNZCVKEpVn4nzaEj0qE4WetGpsQ2wPt/m3tObRPHQaLJLvoTLTk5s3Jy9TsldPbpFKf/nGGa+V27PCUduAuLHUVDRSCxZr2iv5yxhjZIX6M6aAOGDvG8hIV45w/61Wq+//X79aihsDk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938237; c=relaxed/simple; bh=qzM0q3mpGhtWcQfVgt/bq/p3Ha2LYVnozEpOaXJouAw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gT2yQfr9YNK57cxJ7jCrrvHQ21OVFjonxwkyrPw2dZHs4A06EyU2H46guAQPda8T4D5yMYPoVRHfNZ1iTu26ZprsD4QTkUarYoT/G6lkHUljd8UPDpfhN5tVrvFLUz0XD9Gardt/3FXTT5wt2Kc25CrDwaxs8y/IY3wdNjZ/8+Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dN0RrShh; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dN0RrShh" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8485C43390; Wed, 20 Mar 2024 12:37:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710938236; bh=qzM0q3mpGhtWcQfVgt/bq/p3Ha2LYVnozEpOaXJouAw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dN0RrShhHnsGXDGVaeGN0XQ5sJa5ootNxjYP6F61TovdHkVg0qcDTPtHXvJKF0hwd U5IJjb9KvFy2eHRX3oNB9+u3P7C8FV1IZFnafx/0WbAzJbBzDqLJ9LCwBuEASH83aV 6r1qkxHmB5xe+1mxovNYa414GEHm25JGsHXlu5gAwvYkSQvZjZ8Qf2Za0xs8gqmaxd KMTcdjPT8IVr89zXJL3V7dP+IuO27fipfe5l6dtXJJyU9ukcEN5LpvXhqj9b2biL2z ozeQiMKNQYqGB4XICWDsEcFQZ4SdpCqcCQkEeRueruA5lb3lkuF6mUdh/QcZDRNX6s x3PnQ5HoYeKGw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 3/4] selftests/bpf: Add mptcp subflow test Date: Wed, 20 Mar 2024 20:37:04 +0800 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch adds a subtest to load and varify mptcp subflow prog named test_subflow in test_mptcp. Add a helper endpoint_init() to add a new subflow endpoint. Add another helper has_in_subflow() to verify the fwmark and congestion values set by mptcp_subflow prog using setsockopt. Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/76 Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 4c180839ff1d..83efcdd7739d 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -10,6 +10,7 @@ #include "network_helpers.h" #include "mptcp_sock.skel.h" #include "mptcpify.skel.h" +#include "mptcp_subflow.skel.h" #include "mptcp_bpf_first.skel.h" #include "mptcp_bpf_bkup.skel.h" #include "mptcp_bpf_rr.skel.h" @@ -328,6 +329,93 @@ static void test_mptcpify(void) close(cgroup_fd); } =20 +#define ADDR_1 "10.0.1.1" +#define ADDR_2 "10.0.1.2" +#define PORT_1 10001 + +static int endpoint_init(char *flags) +{ + 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); + + return 0; +fail: + return -1; +} + +static int has_in_subflow(char *src, char *str) +{ + char cmd[128]; + + snprintf(cmd, sizeof(cmd), + "ip netns exec %s ss -Menita src %s dst %s dport %d | grep -q '%s'", + NS_TEST, src, ADDR_1, PORT_1, str); + return system(cmd); +} + +static void run_test_subflow(int cgroup_fd) +{ + int server_fd, client_fd, prog_fd, err; + struct mptcp_subflow *skel; + + skel =3D mptcp_subflow__open_and_load(); + if (!ASSERT_OK_PTR(skel, "skel_load")) + goto cleanup; + + prog_fd =3D bpf_program__fd(skel->progs.mptcp_subflow); + err =3D bpf_prog_attach(prog_fd, cgroup_fd, BPF_CGROUP_SOCK_OPS, 0); + if (!ASSERT_OK(err, "bpf_prog_attach")) + goto cleanup; + + server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); + if (!ASSERT_GE(server_fd, 0, "start_mptcp_server")) + goto cleanup; + + client_fd =3D connect_to_fd(server_fd, 0); + if (!ASSERT_GE(client_fd, 0, "connect to fd")) + goto close_server; + + send_byte(client_fd); + + ASSERT_OK(has_in_subflow(ADDR_1, "fwmark:0x1"), "has_in_subflow fwmark:0x= 1"); + ASSERT_OK(has_in_subflow(ADDR_2, "fwmark:0x2"), "has_in_subflow fwmark:0x= 2"); + ASSERT_OK(has_in_subflow(ADDR_1, "reno"), "has_in_subflow reno"); + ASSERT_OK(has_in_subflow(ADDR_2, "cubic"), "has_in_subflow cubic"); + + close(client_fd); +close_server: + close(server_fd); +cleanup: + mptcp_subflow__destroy(skel); +} + +void test_subflow(void) +{ + struct nstoken *nstoken =3D NULL; + int cgroup_fd; + + cgroup_fd =3D test__join_cgroup("/sockopt_mptcp"); + if (!ASSERT_GE(cgroup_fd, 0, "join_cgroup /sockopt_mptcp")) + return; + + nstoken =3D create_netns(); + if (!ASSERT_OK_PTR(nstoken, "create_netns")) + goto fail; + + if (!ASSERT_OK(endpoint_init("subflow"), "endpoint_init")) + return; + + run_test_subflow(cgroup_fd); + +fail: + cleanup_netns(nstoken); + close(cgroup_fd); +} + static const unsigned int total_bytes =3D 10 * 1024 * 1024; static int stop, duration; =20 @@ -661,6 +749,8 @@ void test_mptcp(void) test_base(); if (test__start_subtest("mptcpify")) test_mptcpify(); + if (test__start_subtest("subflow")) + test_subflow(); if (test__start_subtest("default")) test_default(); if (test__start_subtest("first")) --=20 2.40.1 From nobody Tue May 14 20:43:37 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C542E224F2 for ; Wed, 20 Mar 2024 12:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938238; cv=none; b=aDeythrzQfa3m//Cqbj8DTQBNO8pOPgesgiseDqEYTiaIMQBkBZ7v65NzZD2JGnbTDIQBPyO+bfa6c/YkcyW0vnYvVP/bLX8pTjbj4RRRavc2FRH4Esgyz/VGp+yy770/XQc8vlQGdREI49XAtACTiugUFT/Suj++Rfd40isfnE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710938238; c=relaxed/simple; bh=gF7JB0MhzhiJ48W2moLFy/LWsBJyaDNlIeMtTOMkgxo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nVgmY38/oSUdaw6QV+iMTBQTNYseBpPSATSImffKigfQxzq3yAYPrcPR4fQ+nZWYiYc54S34rRSu5VMXYCMxDbqs0i/pt+0x2ERNyXKXxaxtTy2mPVdqus9LgxapvawKEqKS21YbXDAwFRsb8Td1q0JAi5HULwoTEV2IFJbNQgM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cIABZ5Sz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cIABZ5Sz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93BD2C433C7; Wed, 20 Mar 2024 12:37:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710938238; bh=gF7JB0MhzhiJ48W2moLFy/LWsBJyaDNlIeMtTOMkgxo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cIABZ5SzzJodgY0keMkqdvTYot5mLKy6yq3PMX9WHzQSa5kj/C2r9XffLYrHMnSpd iCiCXf5c/xccnPPLN9z02be75X1DHxIkwivGJ9p9LEucvnv284Fj84++gA8W3oNPfm L/YbjG0O9skBB5g731snOXY7idsFLMqPr/z15u1NN6Q/8K7bkZeTXPH74Wbp4EABIf X3DKIJunXU0O0GeRcQDqGlDD4ROxS9ttsn16BNw5j1iqsIYOCWmxfv6emtlsgRfR2G ldUqZi8wNc/8T/ieQsE2LOQ46V8y/zd85iWovjaT7t8rCjmBksKhfLybh+ydjN5QIv ROlbsvzbMCDUA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 4/4] Squash to "selftests/bpf: Add bpf scheduler test" cleanup Date: Wed, 20 Mar 2024 20:37:05 +0800 Message-Id: <8ef700f197305cebffc35197163fb6fe476fc50c.1710938175.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang Some cleanups. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 83efcdd7739d..62d4d4a09ebf 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -417,7 +417,7 @@ void test_subflow(void) } =20 static const unsigned int total_bytes =3D 10 * 1024 * 1024; -static int stop, duration; +static int stop; =20 static void *server(void *arg) { @@ -476,11 +476,12 @@ static void send_data(int lfd, int fd, char *msg) int err; =20 WRITE_ONCE(stop, 0); + if (clock_gettime(CLOCK_MONOTONIC, &start) < 0) return; =20 err =3D pthread_create(&srv_thread, NULL, server, (void *)(long)lfd); - if (CHECK(err !=3D 0, "pthread_create", "err:%d errno:%d\n", err, errno)) + if (!ASSERT_OK(err, "pthread_create")) return; =20 /* recv total_bytes */ @@ -513,10 +514,6 @@ static void send_data(int lfd, int fd, char *msg) printf("FAIL:pthread_join thread_ret:%ld\n", PTR_ERR(thread_ret)); } =20 -#define ADDR_1 "10.0.1.1" -#define ADDR_2 "10.0.1.2" -#define PORT_1 10001 - static struct nstoken *sched_init(char *flags, char *sched) { struct nstoken *nstoken; @@ -525,12 +522,9 @@ static struct nstoken *sched_init(char *flags, char *s= ched) if (!ASSERT_OK_PTR(nstoken, "create_netns")) goto fail; =20 - 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); + if (!ASSERT_OK(endpoint_init("subflow"), "endpoint_init")) + goto fail; + SYS(fail, "ip netns exec %s sysctl -qw net.mptcp.scheduler=3D%s", NS_TEST= , sched); =20 return nstoken; @@ -538,12 +532,13 @@ static struct nstoken *sched_init(char *flags, char *= sched) return NULL; } =20 -static int has_bytes_sent(char *addr) +static int has_bytes_sent(char *dst) { char cmd[128]; =20 - snprintf(cmd, sizeof(cmd), "ip netns exec %s ss -it src %s sport %d dst %= s | %s", - NS_TEST, ADDR_1, PORT_1, addr, "grep -q bytes_sent:"); + snprintf(cmd, sizeof(cmd), + "ip netns exec %s ss -it src %s sport %d dst %s | %s", + NS_TEST, ADDR_1, PORT_1, dst, "grep -q bytes_sent:"); return system(cmd); } =20 --=20 2.40.1