From nobody Fri May 17 10:13:25 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 A33E218028 for ; Tue, 2 Apr 2024 05:12:46 +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=1712034766; cv=none; b=YgG5QzXsLTyqWkcs2ON8sX0+aZ5jRE7OqgZappt2sPj/ICaEEcodyZxw93StnqALBjjGDekFyfHCy133m4stn7yCKuxHcTganahfxcHjMLnQLVfGalMF5IPcWiCeCW5bJ0u7zqfCGAmdSNXJL+ptHd53aaJMs94DFZb/6hu/SX0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034766; c=relaxed/simple; bh=2AX+Is4y3Wk3xT/v83nqHaYe/s/mHl2JO8mleHGsQ7c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hVvXPP9j1WrEE2+F6UbDOCvTJ+JTckF8Aofcz/OpywYRz67rc/ymLALZASWAyTxxvOJAls84QMDNIpP9UI+koqBetgfIAOUigMhXca54rwpE3pvCEihRtm/N2QK2jPCEHXTcuWEsLQf303o9/eyYMlbaqZiBnDA+PPJQMc6i7SQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dd+HIL5v; 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="dd+HIL5v" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64B2CC433C7; Tue, 2 Apr 2024 05:12:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034766; bh=2AX+Is4y3Wk3xT/v83nqHaYe/s/mHl2JO8mleHGsQ7c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dd+HIL5vHiZS5q6gZqjWcNoub5sNMiTEBbPEkZjh+QHUsvfRiaBJMhObifdeANM2t G4Kxz2QnBXhSv6bPlRrg78Rj/Tn6jkNNKjtZkcFyaL1NFcy5eu9uLqOWW8ru4MF201 U4dp526+Za7lXJcpvu5tLNwGzkONoeAFejKvn6kDvkUgF43zZo0KMn/9xmDSfi2+RB 6wkweCarUCn2rrNAavljlpUqaxepILZgtXXQURLD9POFxtzqP+Tyfe4JFB1AM3zlvx 6s53qFMhSd+1Es32PX++VVypZUWcI+ksBoMt9tQXcwTyFh0RQt0KNpET3zaFtls4Ue RY7ThsLCqed9A== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 01/11] Squash to "selftests/bpf: Add bpf scheduler test" 1 nonblock Date: Tue, 2 Apr 2024 13:12:24 +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:-11 \ test_default:PASS:has_bytes_sent addr_1 0 nsec # test_default:PASS:has_bytes_sent addr_2 0 nsec # close_netns:PASS:setns 0 nsec Here errno 11 is EAGAIN. This patch sets server socket to nonblock to fix this. It makes BPF tests stable. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 6e28215d7404..d3d51aee440d 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -88,6 +88,16 @@ static void cleanup_netns(struct nstoken *nstoken) SYS_NOFAIL("ip netns del %s", NS_TEST); } =20 +static int set_nonblock(int fd) +{ + int flags =3D fcntl(fd, F_GETFL); + + if (flags =3D=3D -1) + return -1; + + return fcntl(fd, flags | O_NONBLOCK); +} + static int verify_tsk(int map_fd, int client_fd) { int err, cfd =3D client_fd; @@ -466,6 +476,7 @@ static void test_default(void) server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); client_fd =3D connect_to_fd(server_fd, 0); =20 + set_nonblock(server_fd); send_data(server_fd, client_fd, "default"); ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr_1"); ASSERT_OK(has_bytes_sent(ADDR_2), "has_bytes_sent addr_2"); @@ -639,6 +650,7 @@ static void test_burst(void) server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); client_fd =3D connect_to_fd(server_fd, 0); =20 + set_nonblock(server_fd); send_data(server_fd, client_fd, "bpf_burst"); ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr 1"); ASSERT_OK(has_bytes_sent(ADDR_2), "has_bytes_sent addr 2"); --=20 2.40.1 From nobody Fri May 17 10:13:25 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 08EDA18035 for ; Tue, 2 Apr 2024 05:12:47 +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=1712034768; cv=none; b=rst64CdqX41hk/66YSkxhhigiq/F/YL9MhoSf1f+THdmL0TsYhwNcejP0xeWCdDFVR8kHtvjarLbcTa0l6Vticyfgah98wRLnQHzJFXb2WiaVAuEV1xy90seZ4pfHq2waf6aiSWQdXyjS3eIYjzqQAIKsRZ9My36nziA585ajVk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034768; c=relaxed/simple; bh=ujos7wz/wPYZHup/NGzIMh3hJkNhEYi/Ko6EPG//BRo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eUJ/16l8R//d/5B4YGDc9mjfM1uj6/UdxkPbDzHKafde/HmGzKw4wz8AhZw6HTqm9x1WbYisx78IjEeGO+BMh6zbY9qWI6knrkhYu4ZOTJYsn1hBDuVWD+n+4D5ngBsxyXkDAYLRiigcTkfdzzyrIIUNxkfJe8GkQP/4pR8rKuU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lZ79KMaF; 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="lZ79KMaF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B581CC43394; Tue, 2 Apr 2024 05:12:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034767; bh=ujos7wz/wPYZHup/NGzIMh3hJkNhEYi/Ko6EPG//BRo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lZ79KMaFjERfQk+vfOqbb8PsDyp8AmG8npd+iomJUWky7DdiKMDfgp0JxVdsgzLPE BdYXkkRwx78XLATVXprXEobGvOXG1RPyulLBN0hdpxxz3HAYKSY2hxy9D7WLAihjXP 5Rg4ezLn9RMwTt6q4q++XF8FsJKB22wROirksRwvkPSu99k62lGxcD07zH+rMYGn92 l4XDz0v9FL9vjcnY0/ZntT35IreQBbPCP1jLxB2mmTz3b8XZaJ2oAE2fQayKXobEy9 9rtjShYsDr8rokZQcRy7CElAsZ81Jpy1IWrOmdpoJhHXLltCSpbM+BVbSP/7oRDPIR OLq9VNNvu1h0w== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 02/11] selftests/bpf: Add RUN_MPTCP_TEST macro Date: Tue, 2 Apr 2024 13:12:25 +0800 Message-Id: <13d8499431364fa9b386db181b555ce5fa12e3df.1712034575.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 Each MPTCP subtest tests test__start_subtest(suffix), then invokes test_suffix(). It makes sense to add a new macro RUN_MPTCP_TEST to simpolify the code. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index d3d51aee440d..faa0dc37b78e 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -663,12 +663,16 @@ static void test_burst(void) mptcp_bpf_burst__destroy(burst_skel); } =20 +#define RUN_MPTCP_TEST(suffix) \ +do { \ + if (test__start_subtest(#suffix)) \ + test_##suffix(); \ +} while (0) + void test_mptcp(void) { - if (test__start_subtest("base")) - test_base(); - if (test__start_subtest("mptcpify")) - test_mptcpify(); + RUN_MPTCP_TEST(base); + RUN_MPTCP_TEST(mptcpify); if (test__start_subtest("default")) test_default(); if (test__start_subtest("first")) --=20 2.40.1 From nobody Fri May 17 10:13:25 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 030B018035 for ; Tue, 2 Apr 2024 05:12:48 +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=1712034769; cv=none; b=JN2IJZUKZhEoqM+b5tf9TiDjNIWk12a572wVjo4i1NFpInh54oT/Iz3h6hj9H2RyuoKIxTghRH6XpIVEdNM9JK2hPWEI5A1MKAHaEtYKQeek+hRhMv0tgcrd99C0IBdRMI33GZsvxAwWGKFy9BVLeJP9VyLxQIxc1Ca/z46HGN8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034769; c=relaxed/simple; bh=TPRtnBAfHRGn7o3WNsNMXSgoBCtfpj37FJy+N8b4zn0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Jy0QlEntcVTrdDyj+TVy1gojek7sQ33F0+TTZnrcMUvrSigG/tkAA4a4O57w/2tJ2cseFG25WJudhFV1buKNzQDAgtxEBSwrEE7ZMRTsXArTw+Pkb5Z+4XBY7wUKf1L75IMIPTmgLn0g+ThKCcoeadPe5qfjoIG2plJjNty6jSI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YTmn3jfM; 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="YTmn3jfM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F0A5C433C7; Tue, 2 Apr 2024 05:12:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034768; bh=TPRtnBAfHRGn7o3WNsNMXSgoBCtfpj37FJy+N8b4zn0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YTmn3jfMgWZ3eycRbR6cNlCbdAL88IFylfCGs1rsv3bCneK2STuac/ZPu2MXC72vM OHfsT0WDjG7fAsGX9mwHYTvCYuQv8tALDClc6R+jVOh0leY7w0FtdzThDSHf0HYwWC K2PGYlkWXfEkiJg4nKMvz7pfzwmMxZYbCtTh3a5wJ9agqg7hjt/WJpaOVyqW6yDX8S QkTnJzMh71QKtyReWSixNZuaLDvjnNNRzF9aHudxf4/bhV38oEuWJ7I+NUdgeDyIgH gLEBVDb6i0NWd3VLni+Pg0GXcmAXB9S2fmCuek/IPDI/lXxkCGNgRT2qyiUQpCQEmr 0Jb+xryTKnS5Q== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 03/11] Squash to "selftests/bpf: Add bpf scheduler test" 2 verify Date: Tue, 2 Apr 2024 13:12:26 +0800 Message-Id: <7c9510bb53ca29f0e51c62a46de9e0a3ee6449d4.1712034575.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 Add send_data_and_verify helper. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index faa0dc37b78e..df105cd23c28 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -465,24 +465,47 @@ static int has_bytes_sent(char *addr) return system(cmd); } =20 -static void test_default(void) +static void send_data_and_verify(char *msg, int addr1, int addr2) { int server_fd, client_fd; - struct nstoken *nstoken; =20 - nstoken =3D sched_init("subflow", "default"); - if (!ASSERT_OK_PTR(nstoken, "sched_init:default")) - goto fail; server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); + if (!ASSERT_NEQ(server_fd, -1, "start_mptcp_server")) + return; + client_fd =3D connect_to_fd(server_fd, 0); + if (!ASSERT_NEQ(client_fd, -1, "connect_to_fd")) + goto close_server; =20 - set_nonblock(server_fd); - send_data(server_fd, client_fd, "default"); - ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr_1"); - ASSERT_OK(has_bytes_sent(ADDR_2), "has_bytes_sent addr_2"); + if (set_nonblock(server_fd)) + goto close_server; + + send_data(server_fd, client_fd, msg); + + if (addr1) + ASSERT_OK(has_bytes_sent(ADDR_1), "Should have bytes_sent on addr1"); + else + ASSERT_GT(has_bytes_sent(ADDR_1), 0, "Shouldn't have bytes_sent on addr1= "); + if (addr2) + ASSERT_OK(has_bytes_sent(ADDR_2), "Should have bytes_sent on addr2"); + else + ASSERT_GT(has_bytes_sent(ADDR_2), 0, "Shouldn't have bytes_sent on addr2= "); =20 close(client_fd); +close_server: close(server_fd); +} + +static void test_default(void) +{ + struct nstoken *nstoken; + + nstoken =3D sched_init("subflow", "default"); + if (!ASSERT_OK_PTR(nstoken, "sched_init:default")) + goto fail; + + send_data_and_verify("default", 1, 1); + fail: cleanup_netns(nstoken); } --=20 2.40.1 From nobody Fri May 17 10:13:25 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 5FC4018035 for ; Tue, 2 Apr 2024 05:12:50 +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=1712034770; cv=none; b=Rv2FkYKJ/HY+y2gMlLGDN1XYbC5lS5nNbPZIkYIs/xZ64H0bs3XoKawacaBDQlpfOZn/I9FSMA/nlGguaOEZsy9ZgTvD+ibiSDK3jXiZADSbStnmiaBhJ8dbkuGYtxiosciYvP4QI2kuc/AypBDj0V9qNeuDRxz4zyJ9oNF78B8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034770; c=relaxed/simple; bh=5R+qeikgnpj7UOrMn0rzG9sYyixCJqSM5C9rgM5Yu0g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oKl0XCOi6MIRSI26+mHvGZhtR00OCDRceR38i+/xMaLf3D2v6ffru3kdB8zh1edQx2fNBaasMqV7ZSgmm3USowhda8aq0SsZJq22kLNjtLPWVOWceHxRpaaJKyNNDa+sLWqES5my6bX1DixFMhXHJPEa5PmUpoV0CM5BfgxAZxk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oT+dxS2z; 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="oT+dxS2z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F1D4C433F1; Tue, 2 Apr 2024 05:12:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034770; bh=5R+qeikgnpj7UOrMn0rzG9sYyixCJqSM5C9rgM5Yu0g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oT+dxS2zjQwOE7lY56pt0CJfcEFlmwCxmLbvVyliQE64YUhMsbGTGhZNn9qR/x/HS rgu3WEVQrPYCYK3yCMBujadOv49eTzFy0WQbOqFdExai00yoLqqgzxhKQM7a/GFOnX guKUZR/WLtHT4NrOBw16IKXzmMaO2LsmoWI2UFh3FR/VkgaDP9JiAixkmOAxb+vv6T z1f3ddzntRqAErppcCui6H1S7qAmk2F0SL5cxgEhHKY1tmS+WI/yteZffNQxArtMKS W8Xt8uQPhohpQGyhdSeNrem8z1fr10KUESSk1euZH14VeBQHCuxgTytxIYD0c2j/kS vbFnfgtL6z74g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 04/11] Squash to "selftests/bpf: Add bpf scheduler test" 3 time Date: Tue, 2 Apr 2024 13:12:27 +0800 Message-Id: <84995e5d5803d1e93f1fb62191ebe99a5a37cb53.1712034575.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 time related code into send_data_and_verify. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index df105cd23c28..ba1f803a8748 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -5,7 +5,6 @@ #include #include #include -#include #include "cgroup_helpers.h" #include "network_helpers.h" #include "mptcp_sock.skel.h" @@ -388,16 +387,12 @@ static void *server(void *arg) static void send_data(int lfd, int fd, char *msg) { ssize_t nr_recv =3D 0, bytes =3D 0; - struct timespec start, end; - unsigned int delta_ms; pthread_t srv_thread; void *thread_ret; char batch[1500]; 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)) @@ -414,16 +409,9 @@ static void send_data(int lfd, int fd, char *msg) bytes +=3D nr_recv; } =20 - if (clock_gettime(CLOCK_MONOTONIC, &end) < 0) - return; - - delta_ms =3D (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv= _nsec) / 1000000; - CHECK(bytes !=3D total_bytes, "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); - WRITE_ONCE(stop, 1); =20 pthread_join(srv_thread, &thread_ret); @@ -467,7 +455,9 @@ static int has_bytes_sent(char *addr) =20 static void send_data_and_verify(char *msg, int addr1, int addr2) { + struct timespec start, end; int server_fd, client_fd; + unsigned int delta_ms; =20 server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); if (!ASSERT_NEQ(server_fd, -1, "start_mptcp_server")) @@ -480,8 +470,17 @@ static void send_data_and_verify(char *msg, int addr1,= int addr2) if (set_nonblock(server_fd)) goto close_server; =20 + if (clock_gettime(CLOCK_MONOTONIC, &start) < 0) + goto close_server; + send_data(server_fd, client_fd, msg); =20 + if (clock_gettime(CLOCK_MONOTONIC, &end) < 0) + goto close_server; + + delta_ms =3D (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv= _nsec) / 1000000; + printf("%s: %u ms\n", msg, delta_ms); + if (addr1) ASSERT_OK(has_bytes_sent(ADDR_1), "Should have bytes_sent on addr1"); else --=20 2.40.1 From nobody Fri May 17 10:13:25 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 A68DD18035 for ; Tue, 2 Apr 2024 05:12:51 +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=1712034771; cv=none; b=P9MT2RnENv09s2NVDds7XGrHfGJHrA9ax7XH9cJVnj2RpSb8TMyZNO6QHFiBIjS5b3y+dYLwGo+7+dWsGP+1egY5tjDZH8YRzaU+yyaMtEexk5bh74Lm5JdJlkXKVcDB/pzwXii/CbpuOGR1kapnA3HvWkQGzdW2cnw2WpsuQg4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034771; c=relaxed/simple; bh=TKnYlpiqIPj+KGa/NdS1bEJfuFmXhuL/E7DH9qfHBUg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lbgUnrh5Y+ifiOA+n4GGEFOAaHeMC/jB87r3NSVGUa4UKsQS1ziKWuU3xFI8pDmlFNRyW9e1N1w3PqVbLA1No2xa/9Y/Rhz0+cfG7/IyRtYCPKZ11GP2P1oaJk4bslU3R6iu22emsTP1h9ViKGskdLQ6ZGu1CNb+NqL9nvO3oG4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gDafgFoD; 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="gDafgFoD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AEB52C433F1; Tue, 2 Apr 2024 05:12:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034771; bh=TKnYlpiqIPj+KGa/NdS1bEJfuFmXhuL/E7DH9qfHBUg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gDafgFoDeT4PQXxTuFqpJX5qtIN2P63UarplsapqDhzuBEly9cjSbs+4eUkfO1vO0 ImGDCYqGS2qm+hyFLt9WCv03Vaq0q5Np6x4R7uQB66hHWKOaZhyG9vhH5ynrIbEs8u /WeDSCuXEv8oPtKDjyd8QbqtDC5fXI8+CpqIP4165eWLzsD99lUB1njpvTIg/OZ/BC babnQreSClYiSzg7FnoiZGIQXZdBy8Ixuzq3FaSzurJ1RWaaHtx1sTj7qTOdFQ4hq0 g8hBFVusM2QtgUOGIi7+uAwB9EowE4FRITV/jI/awSVb9/q68vu4Jrp14GpUxKZEEE 7LOXkHgF7D9CQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 05/11] Squash to "selftests/bpf: Add bpf scheduler test" 4 cleanup Date: Tue, 2 Apr 2024 13:12:28 +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 Some cleanups, and use newly added RUN_MPTCP_TEST. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index ba1f803a8748..1268479281fc 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -16,6 +16,9 @@ #include "mptcp_bpf_burst.skel.h" =20 #define NS_TEST "mptcp_ns" +#define ADDR_1 "10.0.1.1" +#define ADDR_2 "10.0.1.2" +#define PORT_1 10001 =20 #ifndef IPPROTO_MPTCP #define IPPROTO_MPTCP 262 @@ -38,6 +41,8 @@ #define TCP_CA_NAME_MAX 16 #endif =20 +static const unsigned int total_bytes =3D 10 * 1024 * 1024; + struct __mptcp_info { __u8 mptcpi_subflows; __u8 mptcpi_add_addr_signal; @@ -337,7 +342,6 @@ static void test_mptcpify(void) close(cgroup_fd); } =20 -static const unsigned int total_bytes =3D 10 * 1024 * 1024; static int stop, duration; =20 static void *server(void *arg) @@ -413,16 +417,11 @@ static void send_data(int lfd, int fd, char *msg) bytes, total_bytes, nr_recv, errno); =20 WRITE_ONCE(stop, 1); - pthread_join(srv_thread, &thread_ret); CHECK(IS_ERR(thread_ret), "pthread_join", "thread_ret:%ld", 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; @@ -444,12 +443,12 @@ 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:"); + NS_TEST, ADDR_1, PORT_1, dst, "grep -q bytes_sent:"); return system(cmd); } =20 @@ -695,8 +694,7 @@ void test_mptcp(void) { RUN_MPTCP_TEST(base); RUN_MPTCP_TEST(mptcpify); - if (test__start_subtest("default")) - test_default(); + RUN_MPTCP_TEST(default); if (test__start_subtest("first")) test_first(); if (test__start_subtest("bkup")) --=20 2.40.1 From nobody Fri May 17 10:13:25 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 5389418050 for ; Tue, 2 Apr 2024 05:12:52 +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=1712034773; cv=none; b=fyWS8A+f7Ha8md/zZtrtPuobX1zAC/9JIuTJXuBvCEaowzLLzKkWRTTbj6IgzSK8+mEjQn16QhN3LqZP95sr+ee1pqLDY4MspzPTAJkNlXk5f/BVHsqZEtsp8Lx20vrXMKXhJ/RDmwhNeT8SHwPPAVwPzDbDse3JNF6NegxDwrA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034773; c=relaxed/simple; bh=eikELp/h/4AdreugnfAmwZQRhA3CaTCb/bvM2aJhlXY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RvmrOhNVaufb0d6JbZBd4UHhRlF3pfFJUG8u1NL2D1sckK3yCyI0O0aVS1GN+F9PXh/aLhkZS0hbjptj8jHl2g5x50BnojWg5HBCfSfv9SQIFbezLI4UXhCaEgDpWqKR986zRzfb709wsm8W225pbpDMMSPbRjkbYgdVj2PY9wk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KJdiKfpB; 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="KJdiKfpB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A57BC43390; Tue, 2 Apr 2024 05:12:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034772; bh=eikELp/h/4AdreugnfAmwZQRhA3CaTCb/bvM2aJhlXY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KJdiKfpB93J4NfaHQxHe50+8bhvr/h6wBZef1Xa4c1H5jUoRGtMvE82XWO7Su2qGU P3eusQ57TZSeDxR8BuZ4MVYy/d/FDe8VPJSHLLzXfrNDBuVJoF6K3dEIHAP403LQ+n x+JSjrm4A9PLaLd7/q55O1KbBdfwu18SgS8v++FWDll7UUIhNZhJyW27VMuRShYVvL mTv6LNRMr9ApGW3fRzS0qcG4HVR0oIFIXYX/f0xGvJUW+5M3LaQ9ernjWToHlgJVoY PkXkzWHFH+BefPr2I0Y+1b+kKbX6YXx+GmNKhoS3suXscalCu5oEeXJlFwJ7rlx3q7 TZEklX/0gaEFQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 06/11] selftests/bpf: Add MPTCP_SCHED_TEST macro Date: Tue, 2 Apr 2024 13:12:29 +0800 Message-Id: <1eecc64ab7e69de0079edd0a10d09dcb12358709.1712034575.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 This patch defines MPTCP_SCHED_TEST macro, a template for all scheduler tests. Every scheduler is identified by argument name, and use sysctl to set net.mptcp.scheduler as "bpf_name" to use this sched. Add two veth net devices to simulate the multiple addresses case. Use 'ip mptcp endpoint' command to add the new endpoint ADDR2 to PM netlink. Arguments addr1/add2 means whether the data has been sent on the first/second subflow or not. Send data and check bytes_sent of 'ss' output after it using send_data_and_verify(). Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 1268479281fc..dd625ff0e234 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -508,6 +508,36 @@ static void test_default(void) cleanup_netns(nstoken); } =20 +#define MPTCP_SCHED_TEST(name, addr1, addr2) \ +static void test_##name(void) \ +{ \ + struct mptcp_bpf_##name *skel; \ + struct nstoken *nstoken; \ + struct bpf_link *link; \ + struct bpf_map *map; \ + \ + skel =3D mptcp_bpf_##name##__open_and_load(); \ + if (!ASSERT_OK_PTR(skel, "open_and_load " #name)) \ + return; \ + \ + map =3D bpf_object__find_map_by_name(skel->obj, #name); \ + link =3D bpf_map__attach_struct_ops(map); \ + if (!ASSERT_OK_PTR(link, "attach_struct_ops " #name)) \ + goto skel_destroy; \ + \ + nstoken =3D sched_init("subflow", "bpf_" #name); \ + if (!ASSERT_OK_PTR(nstoken, "sched_init " #name)) \ + goto link_destroy; \ + \ + send_data_and_verify(#name, atoi(#addr1), atoi(#addr2));\ + \ + cleanup_netns(nstoken); \ +link_destroy: \ + bpf_link__destroy(link); \ +skel_destroy: \ + mptcp_bpf_##name##__destroy(skel); \ +} + static void test_first(void) { struct mptcp_bpf_first *first_skel; --=20 2.40.1 From nobody Fri May 17 10:13:25 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 4F71F18050 for ; Tue, 2 Apr 2024 05:12:54 +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=1712034774; cv=none; b=HLcdW41Xj5GX6O8lYRCkNF2SRGQaCpaHIKETnNgkKlUb0/SUg8gPGfJbmv6icRBLalLU1aYcLkraSjEurkxxGll+C6fEvIkp4YI+b7QcP54hMs8dnRB6TqYxxM0i0jUDRndLfg37rxYUN/UXQEQ/OumStVchAMQ1d8s3B9Hv8Xo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034774; c=relaxed/simple; bh=PfHiYV+fHf2Tyl/HDc4X77KNlmuKgSGRvTvsdM9afxU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RYZ+mrhDXPmtN+Uv10CbVF5cTNmviHd3tc71f9zHlPlitxBI7q1m64OvwMpSJKQ5Alm7USssuDVSamdZyPcUOf8psHGP1skqHp22EtAGDcTaJlGWgwgz609KHusO3+eRBFFpJfsOroUNh5b8Xn/wlKOIB9eS4df6EbARbGx9C6A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=atU6/9wm; 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="atU6/9wm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 587BEC433C7; Tue, 2 Apr 2024 05:12:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034774; bh=PfHiYV+fHf2Tyl/HDc4X77KNlmuKgSGRvTvsdM9afxU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=atU6/9wmqa11DZ1IIPKUj3iMjVSlXh+rRkPDXPF5K5aqu6PVn8NOueIJaaKieBYcZ NaFbECYbwSVV3Jb83HXW2khOxFT5kpnSKl75LnjGakc2u0cu3te8+EW6pvAmQK7wqU ALJ4owXaxxxZccxEDm7z4TNqofcL9zB/OvEtmYzVmrbvAPUOo0Oua9MUxG7huX3wd7 szazUTy4YMa0ECATKMkfAkuSqh0PdwFL75Jq+Q+2beI2kZPYuCns/m9YkPop7MsQ+K j5UzO5SJcmGziJ/q3f4+9ExuYihKgPqkhX7hWDGmw4MHfUdmbK5jddQXA3sjAYchoE kVb5DDyXamufQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 07/11] Squash to "selftests/bpf: Add bpf_first scheduler & test" Date: Tue, 2 Apr 2024 13:12:30 +0800 Message-Id: <9827defb36a163b040790aa2f812217dce397456.1712034575.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 After squashing into this change, the patch "selftests/bpf: Add bpf_first test" can be merged into the patch "selftests/bpf: Add bpf_first scheduler" appending the following lines into commit log: ''' Using MPTCP_SCHED_TEST macro to add a new test for this bpf_first scheduler, the arguments "1 0" means data has been only sent on the first subflow ADDR1. Run this test by RUN_MPTCP_TEST macro. ''' And update the subject to "selftests/bpf: Add bpf_first scheduler & test". Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 38 +------------------ .../selftests/bpf/progs/mptcp_bpf_first.c | 1 + 2 files changed, 3 insertions(+), 36 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index dd625ff0e234..bc46bd5ceb18 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -538,40 +538,7 @@ skel_destroy: \ mptcp_bpf_##name##__destroy(skel); \ } =20 -static void test_first(void) -{ - struct mptcp_bpf_first *first_skel; - int server_fd, client_fd; - struct nstoken *nstoken; - struct bpf_link *link; - - first_skel =3D mptcp_bpf_first__open_and_load(); - if (!ASSERT_OK_PTR(first_skel, "bpf_first__open_and_load")) - return; - - link =3D bpf_map__attach_struct_ops(first_skel->maps.first); - if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { - mptcp_bpf_first__destroy(first_skel); - return; - } - - nstoken =3D sched_init("subflow", "bpf_first"); - if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_first")) - goto fail; - server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); - client_fd =3D connect_to_fd(server_fd, 0); - - send_data(server_fd, client_fd, "bpf_first"); - ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr_1"); - ASSERT_GT(has_bytes_sent(ADDR_2), 0, "has_bytes_sent addr_2"); - - close(client_fd); - close(server_fd); -fail: - cleanup_netns(nstoken); - bpf_link__destroy(link); - mptcp_bpf_first__destroy(first_skel); -} +MPTCP_SCHED_TEST(first, 1, 0); =20 static void test_bkup(void) { @@ -725,8 +692,7 @@ void test_mptcp(void) RUN_MPTCP_TEST(base); RUN_MPTCP_TEST(mptcpify); RUN_MPTCP_TEST(default); - if (test__start_subtest("first")) - test_first(); + RUN_MPTCP_TEST(first); if (test__start_subtest("bkup")) test_bkup(); if (test__start_subtest("rr")) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c b/tools/te= sting/selftests/bpf/progs/mptcp_bpf_first.c index 23a3e8e69e8f..2d067b25d60b 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2022, SUSE. */ +/* Copyright (c) 2024, Kylin Software */ =20 #include #include "bpf_tcp_helpers.h" --=20 2.40.1 From nobody Fri May 17 10:13:25 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 9506C18050 for ; Tue, 2 Apr 2024 05:12:55 +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=1712034775; cv=none; b=elE1h8H6zQfZ/pldEwilmxLS8o8wlj9+yFeSsQRnIfq65mGqE5Vcx1xvfFEGtVz0cvW7gudN7lT67y5iN8NEyxmKloiB53+iLi2NNC4P5BcLrQss2ORUq+gEgrHQjJPp4STnHJcDp1Im7tEgyMcGztfYgVCU6Liqlv1fT7PDRQc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034775; c=relaxed/simple; bh=KDbHTnIqQClarD1uFqu2p38jQ9iGt6u86cYVysK6PfY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Px1+8W5zapGM52LlavWaQD5MhOgUZiQtik6JobYb1MdlQHBL3YeWn5mIns4d+uP6a3h7+2x+kAtKPSgtkrrLJ37DZGH6tXdNBcUjkVGkw+OyM9p1nDuelz8sN4y/umIIHfv3Xa0QmaDwWkDeC14llfGjJVOWpu2bM9tXqwkQ9og= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vCFI1NFf; 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="vCFI1NFf" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A5346C433A6; Tue, 2 Apr 2024 05:12:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034775; bh=KDbHTnIqQClarD1uFqu2p38jQ9iGt6u86cYVysK6PfY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vCFI1NFfim6xrFJFkO89RuuTfMo6f8x+tp7VNR2QYn5BlpsT0Bl48OYGy3ySg9uyZ SzRBzeOkvzLffJJ/JlkPozEkTBmglZE0xf/c06R2QhK3iObCjHD3X6gLtnoiCcSTdM DeNZTysL5ZLzHI2l/kRa4ZpvkK34WEOjCvaCAYeHh0174Nhb7D8XHtMVdDAEgZIycN qi6wbiizE4r4hyodwdNpQK6Wo/WDgZF/5fF4o4gdwHvU60UnV0iriyVO9zAA/qRZIg HEFvOCs5QK/dMSXg0veZwI7MtccJ7CSI8l4Mjur8qx5YpRlt85Ya4WlrAluKs+BD+U hvjn04F7XQhYg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 08/11] Squash to "selftests/bpf: Add bpf_bkup scheduler & test" Date: Tue, 2 Apr 2024 13:12:31 +0800 Message-Id: <55f63bc3fae6161630c2e449bcefddbde1bcc43e.1712034575.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 After squashing into this change, the patch "selftests/bpf: Add bpf_bkup test" can be merged into the patch "selftests/bpf: Add bpf_bkup scheduler" appending the following lines into commit log: ''' Using MPTCP_SCHED_TEST macro to add a new test for this bpf_bkup scheduler, the arguments "1 0" means data has been only sent on the first subflow ADDR1. Run this test by RUN_MPTCP_TEST macro. ''' And update the subject to "selftests/bpf: Add bpf_bkup scheduler & test". Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 39 +------------------ .../selftests/bpf/progs/mptcp_bpf_bkup.c | 1 + 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index bc46bd5ceb18..9bc0cb1212d6 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -539,41 +539,7 @@ skel_destroy: \ } =20 MPTCP_SCHED_TEST(first, 1, 0); - -static void test_bkup(void) -{ - struct mptcp_bpf_bkup *bkup_skel; - int server_fd, client_fd; - struct nstoken *nstoken; - struct bpf_link *link; - - bkup_skel =3D mptcp_bpf_bkup__open_and_load(); - if (!ASSERT_OK_PTR(bkup_skel, "bpf_bkup__open_and_load")) - return; - - link =3D bpf_map__attach_struct_ops(bkup_skel->maps.bkup); - if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { - mptcp_bpf_bkup__destroy(bkup_skel); - return; - } - - nstoken =3D sched_init("subflow backup", "bpf_bkup"); - if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_bkup")) - goto fail; - server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); - client_fd =3D connect_to_fd(server_fd, 0); - - send_data(server_fd, client_fd, "bpf_bkup"); - ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr_1"); - ASSERT_GT(has_bytes_sent(ADDR_2), 0, "has_bytes_sent addr_2"); - - close(client_fd); - close(server_fd); -fail: - cleanup_netns(nstoken); - bpf_link__destroy(link); - mptcp_bpf_bkup__destroy(bkup_skel); -} +MPTCP_SCHED_TEST(bkup, 1, 0); =20 static void test_rr(void) { @@ -693,8 +659,7 @@ void test_mptcp(void) RUN_MPTCP_TEST(mptcpify); RUN_MPTCP_TEST(default); RUN_MPTCP_TEST(first); - if (test__start_subtest("bkup")) - test_bkup(); + RUN_MPTCP_TEST(bkup); if (test__start_subtest("rr")) test_rr(); if (test__start_subtest("red")) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c b/tools/tes= ting/selftests/bpf/progs/mptcp_bpf_bkup.c index bfd4644dd592..486407a135c9 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2022, SUSE. */ +/* Copyright (c) 2024, Kylin Software */ =20 #include #include "bpf_tcp_helpers.h" --=20 2.40.1 From nobody Fri May 17 10:13:25 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 EE6A318035 for ; Tue, 2 Apr 2024 05:12:56 +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=1712034777; cv=none; b=jRw2ZB/j3lQrCOBvs9xUnvPWg/yU0aBRXAXMdAALk0t6Sk0xfDN1WaZntEXu8y2NvqjSZC3dn2p8q6r+IkivlzC8TO47EbjM3xKp6KzfzqIpUVhcEK2m9ElWHsaY1r+DM/AEt7GURh3rHQQ5ymHgYID9X4bEsWWWH8nrZL9Dn1o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034777; c=relaxed/simple; bh=0Vf9VkWxh4R6lHBa9AomHfd8QQ6K2TtCUB4qQyMkq8Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RVK4UzeExfPMsq8tdEwZykUFRJ70rFr6SxWVAmBdQDoXuEWBj+cZsHLhoUZ6pBEem5KXu0igS6kCXbk2AfkmebSX2NTRvavcHcwrFfk5VgIu0EUYC7CTMjmP8JKhfEYofkAKEWUdD44sgLYy88TOgn4jQuO4muFhuA5x4XlEFmI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rtDs9TKz; 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="rtDs9TKz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 01EE8C43399; Tue, 2 Apr 2024 05:12:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034776; bh=0Vf9VkWxh4R6lHBa9AomHfd8QQ6K2TtCUB4qQyMkq8Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rtDs9TKzonRpbz1R9VEF9JFXdJF1M5L2BqLKgQNDNxYURZmbdsWsQkJDgi8rNCe2l Gbba6aPJdGIRTqMH4oeQgWiCmVpIPv0JStV7Zd96UejeSScvaTGkzdiKUEX0sKQWVU rxMbf4yH5SxkYMbBK/MzSCOLXJHs9nq/uysM2G53go9Ce97+IE0H7V8jftQcYL3STD LAlxPeHuDjgTI2O6wjR9yCEPnxGrNKhyrMy8tAntj6tc26kmy3UPCiw3QyjmlAK+96 UxhbFpUMNqVm/kESWaTPQD1+v9+LBryB/26lyRkj3YJ5tMq9VuYUx9phOuuHatEQ1+ rafGwd9vt8PCw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 09/11] Squash to "selftests/bpf: Add bpf_rr scheduler & test" Date: Tue, 2 Apr 2024 13:12:32 +0800 Message-Id: <5531bee57beb3af0f188cb84042f8711575ba3c5.1712034575.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 After squashing into this change, the patch "selftests/bpf: Add bpf_rr test" can be merged into the patch "selftests/bpf: Add bpf_rr scheduler" appending the following lines into commit log: ''' Using MPTCP_SCHED_TEST macro to add a new test for this bpf_rr scheduler, the arguments "1 1" means data has been sent on both net devices. Run this test by RUN_MPTCP_TEST macro. ''' And update the subject to "selftests/bpf: Add bpf_rr scheduler & test". Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 39 +------------------ .../selftests/bpf/progs/mptcp_bpf_rr.c | 1 + 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 9bc0cb1212d6..07ab9a1c6861 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -540,41 +540,7 @@ skel_destroy: \ =20 MPTCP_SCHED_TEST(first, 1, 0); MPTCP_SCHED_TEST(bkup, 1, 0); - -static void test_rr(void) -{ - struct mptcp_bpf_rr *rr_skel; - int server_fd, client_fd; - struct nstoken *nstoken; - struct bpf_link *link; - - rr_skel =3D mptcp_bpf_rr__open_and_load(); - if (!ASSERT_OK_PTR(rr_skel, "bpf_rr__open_and_load")) - return; - - link =3D bpf_map__attach_struct_ops(rr_skel->maps.rr); - if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { - mptcp_bpf_rr__destroy(rr_skel); - return; - } - - nstoken =3D sched_init("subflow", "bpf_rr"); - if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_rr")) - goto fail; - server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); - client_fd =3D connect_to_fd(server_fd, 0); - - send_data(server_fd, client_fd, "bpf_rr"); - ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr 1"); - ASSERT_OK(has_bytes_sent(ADDR_2), "has_bytes_sent addr 2"); - - close(client_fd); - close(server_fd); -fail: - cleanup_netns(nstoken); - bpf_link__destroy(link); - mptcp_bpf_rr__destroy(rr_skel); -} +MPTCP_SCHED_TEST(rr, 1, 1); =20 static void test_red(void) { @@ -660,8 +626,7 @@ void test_mptcp(void) RUN_MPTCP_TEST(default); RUN_MPTCP_TEST(first); RUN_MPTCP_TEST(bkup); - if (test__start_subtest("rr")) - test_rr(); + RUN_MPTCP_TEST(rr); if (test__start_subtest("red")) test_red(); if (test__start_subtest("burst")) diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testi= ng/selftests/bpf/progs/mptcp_bpf_rr.c index 39b7e1cfbbd5..05621467fe48 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2022, SUSE. */ +/* Copyright (c) 2024, Kylin Software */ =20 #include #include "bpf_tcp_helpers.h" --=20 2.40.1 From nobody Fri May 17 10:13:25 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 8D77018028 for ; Tue, 2 Apr 2024 05:12:58 +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=1712034778; cv=none; b=dMIlNY8LgAgo4cStqYvo5vfTy8goDrfAiu01YMvyeNxyYAIY/ThPVkgV51AWagGzC/x9BY3u+Nmk9M16LUvQ79BFdozJnR1x+8u4LNt3D8t2rXIW1bXn8GY7/A7+yO7JqxDbWsHVN+E+PntHCWJzPrFa10iPJxFbUWlp05FQGV0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034778; c=relaxed/simple; bh=dQz1E3O+3jer0Rtxh4x18eYOv5QPE5OrlgNaymo6QZU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=laJ2bvQR7f48eCBYhHLw3FHv4HNjZaCk+anEJU+ncnhyeHFX+s4XjixvU//uWjaXMpZViYhTMfr5QA5BW663g5CKyOdFg81ANqtLSMzebN3EkMj8JqA1bYSwZNsDyu1BQAU1bxDG66HBNqikbLUn22WxJGJFTKTmrLaJlHsvBp8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uNpP/HP6; 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="uNpP/HP6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4DB01C43394; Tue, 2 Apr 2024 05:12:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034778; bh=dQz1E3O+3jer0Rtxh4x18eYOv5QPE5OrlgNaymo6QZU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uNpP/HP69ez7PFOnPAfmps1P3I9ILcwwht0nAQN7FhuXR/VbPy85Tjq9tDVGEpN+b vGlGcn/hIG+2A6sJT+JuK+yGo1NiCQ8IoxEhXnb6JqzEu134E63RxSUCnQTONMlvtU M8H44mFsOOtjU6tZwTMLV/BWcznZ3q5BkbcSQ8M8oRaCcHzVxrlvm/oOInaKLqDy/3 ct03hxuAGRqh/cidjBBjYbbQfN+0dq3ynuaiWtlKcvFFBvPgfOfGIIQOLfSNay59lZ aIQTqeVdmK1xhKfdOSZGwM4qZuuHWGLYfiyzNWsR+Z4jn3o3ANSezfZFZGQ2Gu+1Gq n00XYaPmIcl7g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 10/11] Squash to "selftests/bpf: Add bpf_red scheduler & test" Date: Tue, 2 Apr 2024 13:12:33 +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 After squashing into this change, the patch "selftests/bpf: Add bpf_red test" can be merged into the patch "selftests/bpf: Add bpf_red scheduler" appending the following lines into commit log: ''' Using MPTCP_SCHED_TEST macro to add a new test for this bpf_red scheduler, the arguments "1 1" means data has been sent on both net devices. Run this test by RUN_MPTCP_TEST macro. ''' And update the subject to "selftests/bpf: Add bpf_red scheduler & test". Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 39 +------------------ .../selftests/bpf/progs/mptcp_bpf_red.c | 1 + 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 07ab9a1c6861..af21638080b5 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -541,41 +541,7 @@ skel_destroy: \ MPTCP_SCHED_TEST(first, 1, 0); MPTCP_SCHED_TEST(bkup, 1, 0); MPTCP_SCHED_TEST(rr, 1, 1); - -static void test_red(void) -{ - struct mptcp_bpf_red *red_skel; - int server_fd, client_fd; - struct nstoken *nstoken; - struct bpf_link *link; - - red_skel =3D mptcp_bpf_red__open_and_load(); - if (!ASSERT_OK_PTR(red_skel, "bpf_red__open_and_load")) - return; - - link =3D bpf_map__attach_struct_ops(red_skel->maps.red); - if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { - mptcp_bpf_red__destroy(red_skel); - return; - } - - nstoken =3D sched_init("subflow", "bpf_red"); - if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_red")) - goto fail; - server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); - client_fd =3D connect_to_fd(server_fd, 0); - - send_data(server_fd, client_fd, "bpf_red"); - ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr 1"); - ASSERT_OK(has_bytes_sent(ADDR_2), "has_bytes_sent addr 2"); - - close(client_fd); - close(server_fd); -fail: - cleanup_netns(nstoken); - bpf_link__destroy(link); - mptcp_bpf_red__destroy(red_skel); -} +MPTCP_SCHED_TEST(red, 1, 1); =20 static void test_burst(void) { @@ -627,8 +593,7 @@ void test_mptcp(void) RUN_MPTCP_TEST(first); RUN_MPTCP_TEST(bkup); RUN_MPTCP_TEST(rr); - if (test__start_subtest("red")) - test_red(); + RUN_MPTCP_TEST(red); if (test__start_subtest("burst")) test_burst(); } diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c b/tools/test= ing/selftests/bpf/progs/mptcp_bpf_red.c index a3f3e5ca5278..62cba8f2d936 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2022, SUSE. */ +/* Copyright (c) 2024, Kylin Software */ =20 #include #include "bpf_tcp_helpers.h" --=20 2.40.1 From nobody Fri May 17 10:13:25 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 E429F18042 for ; Tue, 2 Apr 2024 05:12:59 +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=1712034780; cv=none; b=U/yJpxlyck/ZaEAVkZyShdR3G5Q6Yj0dfItAOsNXksoIb+0xWnYi/IlY8fAejh2csyOnmW2iHbey1cPu++iWt79AmgPHg84W5SxbcF7AMPUEDDEyvlG1O9w1Ju79Kb33JYbBvjSYtqHwosLxaYvbDNEpIAIu+bkAVdkftUObnXQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712034780; c=relaxed/simple; bh=AnsWWAriqAM87NlmNujJcHUIrwTqE3jOvEzHRBtJtm8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=T0Jow96V5/EDj1cyOHBJ+o5/H+lnNL3hO14dmypDEeU3LcKC9c3/2nv7P/15qrDhc+gd59hVChC15uuxREobxh0RiLS/958OSKeAL9HOD6tYWIOr2q9IOEzyajhcEPzc1G19tdKzv07KT/gMuDQBG87b0KJSwqLX2ZrZb5Q8CLw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cdrmtui+; 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="cdrmtui+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 992BAC433C7; Tue, 2 Apr 2024 05:12:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712034779; bh=AnsWWAriqAM87NlmNujJcHUIrwTqE3jOvEzHRBtJtm8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cdrmtui+s719wP+czbmryHHazG6nXkQGoXCIGXkqjs/BZutL0QQAWaUWVFQjhhapZ xucUt42mKy/56HlBXkQ//zZ6qk0VcKO+W9br9p6A0U0Xae9UcwBmX2IfzCJ2VqTp4s HN6WnBSRsfjXgdy10aV5Iq+cIirOEDXvV43xItlyK52B5zIFWwRTXGAFF4sND5zWIN Apq3m4e3ucVQl9TSn1ufkQ2yVZ6CKpn6lBmaksPDjsph++sKBxoPcWO5f1pTUWBV1f XxF3JTDW5IELpenuOC44eUkdBUnpmldQps6gdEC/3bgIVl5fcHWGBS6RtI1PqoEN6h 4K2aK2sx5yRDQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 11/11] Squash to "selftests/bpf: Add bpf_burst scheduler & test" Date: Tue, 2 Apr 2024 13:12:34 +0800 Message-Id: <70f0e83084bdf77be5cf6855a48b8e44ca83beef.1712034575.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 After squashing into this change, the patch "selftests/bpf: Add bpf_burst test" can be merged into the patch "selftests/bpf: Add bpf_burst scheduler" appending the following lines into commit log: ''' Using MPTCP_SCHED_TEST macro to add a new test for this bpf_burst scheduler, the arguments "1 1" means data has been sent on both net devices. Run this test by RUN_MPTCP_TEST macro. ''' And update the subject to "selftests/bpf: Add bpf_burst scheduler & test". Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 40 +------------------ .../selftests/bpf/progs/mptcp_bpf_burst.c | 1 + 2 files changed, 3 insertions(+), 38 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index af21638080b5..85d5ac35bd0b 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -542,42 +542,7 @@ MPTCP_SCHED_TEST(first, 1, 0); MPTCP_SCHED_TEST(bkup, 1, 0); MPTCP_SCHED_TEST(rr, 1, 1); MPTCP_SCHED_TEST(red, 1, 1); - -static void test_burst(void) -{ - struct mptcp_bpf_burst *burst_skel; - int server_fd, client_fd; - struct nstoken *nstoken; - struct bpf_link *link; - - burst_skel =3D mptcp_bpf_burst__open_and_load(); - if (!ASSERT_OK_PTR(burst_skel, "bpf_burst__open_and_load")) - return; - - link =3D bpf_map__attach_struct_ops(burst_skel->maps.burst); - if (!ASSERT_OK_PTR(link, "bpf_map__attach_struct_ops")) { - mptcp_bpf_burst__destroy(burst_skel); - return; - } - - nstoken =3D sched_init("subflow", "bpf_burst"); - if (!ASSERT_OK_PTR(nstoken, "sched_init:bpf_burst")) - goto fail; - server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); - client_fd =3D connect_to_fd(server_fd, 0); - - set_nonblock(server_fd); - send_data(server_fd, client_fd, "bpf_burst"); - ASSERT_OK(has_bytes_sent(ADDR_1), "has_bytes_sent addr 1"); - ASSERT_OK(has_bytes_sent(ADDR_2), "has_bytes_sent addr 2"); - - close(client_fd); - close(server_fd); -fail: - cleanup_netns(nstoken); - bpf_link__destroy(link); - mptcp_bpf_burst__destroy(burst_skel); -} +MPTCP_SCHED_TEST(burst, 1, 1); =20 #define RUN_MPTCP_TEST(suffix) \ do { \ @@ -594,6 +559,5 @@ void test_mptcp(void) RUN_MPTCP_TEST(bkup); RUN_MPTCP_TEST(rr); RUN_MPTCP_TEST(red); - if (test__start_subtest("burst")) - test_burst(); + RUN_MPTCP_TEST(burst); } diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c b/tools/te= sting/selftests/bpf/progs/mptcp_bpf_burst.c index b3c811564866..6b79267562f1 100644 --- a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c +++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2023, SUSE. */ +/* Copyright (c) 2024, Kylin Software */ =20 #include #include --=20 2.40.1