From nobody Sun May 19 03:02:44 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 6581A126F3C for ; Thu, 4 Apr 2024 13:03: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=1712235838; cv=none; b=QDxfAiSO+Hqi8X6LxhlUM14bXhRR11KftWoz+hx9ZKp5dTYsLP6VjfFls5sWOXtEJa+lvT584PFCw/a0pjR7vM4s6P47OdPJ/8nQdWn2VnX+9xfVuDjnwzYSGGKwAJI5Edn7bRR2R72cLyR16BatPo579JTkmgxm4NWE4d0TL4s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235838; c=relaxed/simple; bh=/Pc3wOJ+00tHqo8MDJm/cNhGbriSzwm6ucNRtr1wM7Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Rg0cRv9PUyitKbUstAfyuw/C4fHQz+Lkm2wj+jFnpdxRgUJ6RvnATzeQ2wJC5e8EvSRU/XzJHKZFdycl1RnD5aYsxst/d0Bz2bzXx65CQDrc4dLyEtU8lo3JUAR8CYeZOfgGvJvKvKrx2wtZncW5Fvdcw+m/qxDrnbYCykM77fQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RI/CDzFg; 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="RI/CDzFg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1CCC0C43390; Thu, 4 Apr 2024 13:03:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235838; bh=/Pc3wOJ+00tHqo8MDJm/cNhGbriSzwm6ucNRtr1wM7Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RI/CDzFgaLo0h4h5o1X5EUv5ClrEyrz+QB0b2O/W5PjioxB22WcPnJk4/jtdqeb3f T1G2SEcMrb4pBXBmYftftYdStxvmrP573znVlCYd/uSykYXOxAKCzj2UXW8gl6Oaqt /Oew/28WP7TK5PxVTPoF/X+RJKHAQAjBzBc8mEhR0p2MLSDlYS/vPEODaw3OQYC4pm 28g1vArEr/CfUt0XPxpIgZB/etP4G8zbRwhtGjiyujyE9FR3zYxiJSEP5/9oDmzZaM C1hPmvaODUrwGdsgAB+Ay6Jc2tMQ5nb5Ws95xRngIDlWz7XxT/tNq5FE3W7PDlEl97 +AJ2YzRiB2DxA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 1/9] selftests/bpf: Add RUN_MPTCP_TEST macro Date: Thu, 4 Apr 2024 21:03:03 +0800 Message-Id: <3277d8309eb4f32fe8c26d0590e66c7da439c0f3.1712235379.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 cbdb15922949..c29c81239603 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -653,12 +653,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 Sun May 19 03:02:44 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 6546E127B40 for ; Thu, 4 Apr 2024 13:04:00 +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=1712235840; cv=none; b=l6dLy0NX6JvjWJvsv2cs3dNBQSOMNo5nUASAiwRlxI3CShxTzPW8uytruwLJcNsAUxqpHatavco5dpck7PIJqZA9XjpphuSZvTp9godjmqr8+zKvnSsmEbzwM4pluvN2zChbzWck/sBgAYEwztbCE3G5ZdTYzQmKtCBR+CNgNpw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235840; c=relaxed/simple; bh=Oc2fud9rU8Lxpf+o18FuZPvALjPojBs4zMDfU3lEsSY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=INZ89RXikVEqaOd368oI+YjeLyVSZlUUd+E6tA/L3KpNsFxiLZooMLEnvONp0gqc0C5PW78nofvTUzb52EdfZnFPyMIwbnTur8XesJBPkQoVlwdvVLxjAm33ZftdpbkdZN7Y0XvKKwVdYeqwQ9ejbm1wR2GU2M35FIQ7TFdI8XM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HLDaIIFv; 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="HLDaIIFv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CAB93C43399; Thu, 4 Apr 2024 13:03:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235839; bh=Oc2fud9rU8Lxpf+o18FuZPvALjPojBs4zMDfU3lEsSY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HLDaIIFvwsGbQtAo3msZnKP4PdCNKIbd8lARHYkr1kTkr/KG8alSkSeaHcz7e2vJ8 pdi3zx1P7Qu4f9FLISO57edYOkDtwur19qxdGKbLzL57Z/0hzHNznsJ8RRbUBIj1+7 7h48WyhPU6uylIWb513R+0iF6G5H0vS52YoRnzUXnL/YAwzzUaZypE5UAYo6QLjT62 P5ewb19vEWlPidwx0g7tR5D8bmOeyb2POr/EeITLsx2jAByPZtfVEuxz3vz9TYC+Ew INYlARa1OeVfT+GdE70b8Z+wmbEC/PS5AVoKXcH95OvOOZIl1KP/nFJ+s4xwe2Fjhr FHltemSmZ5TOQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 2/9] Squash to "selftests/bpf: Add bpf scheduler test" 1 verify Date: Thu, 4 Apr 2024 21:03:04 +0800 Message-Id: <266c39f2ef6f77d139b0abb015b255a0dfb2307c.1712235379.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 | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index c29c81239603..e1114745da63 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -457,23 +457,44 @@ 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 - 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"); + 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); } @@ -663,8 +684,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 Sun May 19 03:02:44 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 A37472E401 for ; Thu, 4 Apr 2024 13:04:01 +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=1712235841; cv=none; b=qyTy51vKxJRC4B0FUhzaSg7y/p6VIvML7c0HMuJ8lrST158c8Vk9OL/x9n5w/VAqLEGcIcCdyz++8ocK06WOG/b0Ty6hCghxVwC3rHiIU8cQQ/iwJ0y91QxSu/SLgSSRtcjZP2DtKl6qkMspN8AxtgwsB6vMOoFCPPZ3EL1LTZg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235841; c=relaxed/simple; bh=sezLIDX0bdiFVcHkiT8sFjxLTaVRxc2YALFSv56/4QI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Lny6qPsQa8U+bXkiZaHFMWTfmmWFtMpLOuASbIwP3C8IOjH4RiUTjuHJIsIzAgo9UWKGTJdwuZmbDlwfTAn7NhPVf2h0m4WLRhekQmi7fScGwg2WC7S5in7N4IC2z4xJu9tp5J0/EaQY0x1pX5sMUZ6iKjzb/lMhbvPdD+qbif0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DVoIIzrY; 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="DVoIIzrY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 922E5C433B2; Thu, 4 Apr 2024 13:04:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235841; bh=sezLIDX0bdiFVcHkiT8sFjxLTaVRxc2YALFSv56/4QI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DVoIIzrY5KvOVF7M5C0XgQ0/aEm6EuqBi/yRhSJnclpHoEGNDIE033Ft37Lb4+77l fJ0SuZEGOYRNE6WEDiS+D4M8moF6cT1edjuVM5l1KcRwQjbH7uI+Z0blggSYGBrjfT Bu1iiVgcJaB4XA4EgEDL5L2oCwgTXXTk+fEWTABmKkIrnvotGN05KjqBLv9araSGRL 4/cPhsN3t/WAZPzy534p6rSbdiK+q4D5rGCLtKpzIe49DqB2SRlljEO5oiOS52DNHF ITYaqgmeUCwU/zAF53AYIdaf1kpmIAtODtHj6Y2Cs/8/kXwLAKWc5zFGKjaGcz1HS9 I9V1g5eDlrnPQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 3/9] Squash to "selftests/bpf: Add bpf scheduler test" 2 time Date: Thu, 4 Apr 2024 21:03:05 +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 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 e1114745da63..ffcd5ebe38b9 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" @@ -380,16 +379,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)) @@ -406,16 +401,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); @@ -459,7 +447,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")) @@ -469,8 +459,17 @@ static void send_data_and_verify(char *msg, int addr1,= int addr2) if (!ASSERT_NEQ(client_fd, -1, "connect_to_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 Sun May 19 03:02:44 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 7388C839F8 for ; Thu, 4 Apr 2024 13:04:03 +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=1712235843; cv=none; b=Kl10VVZqkTg08WHJvoueujGTh96Zj0fDJr2hGtsB81R+q7k11rqfKCFZeFBUfjAOfb6v8YY2Dunw3TOtkLlnERdGpH97wCiZU97Q/l+xWX+megL7sG1Fy3+XJOsTZtALowjQQybNI4zVPfzL0IpN4InoXeeaZlGDQB3uakCjjzI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235843; c=relaxed/simple; bh=dDeoNmT3NeHZ+6HP46u50EuQUWr23pnneM363Z0h6EU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=iAXxTZlTl8UddfRb0+znFWC6kwDLbo10IZReuHRtVaGXCdlEC/dw/FKyBn1O+nxNmMErc4sQTALHNfQPCSWP9Y0HUBKiJZM+nIFGlT4+cNmFhIaJFu0QRRTVGz4NnHPIp3kaS2Z5z8Dsuvd1hy0vzLQxX3LwSl9YEjOyhq+HaOk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r47wbyDy; 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="r47wbyDy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 013A3C433C7; Thu, 4 Apr 2024 13:04:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235843; bh=dDeoNmT3NeHZ+6HP46u50EuQUWr23pnneM363Z0h6EU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r47wbyDyvpNlTCxiS7ukHBs8lyqrkj/H9Cd4j3DOHwvFDXmskwJBaKinYWHxk3yd9 hqbxMPunn860QCmb1vgVNGpDhjcUotwEq1QAlt2pMm+MXrU9nCesozy0iS5vEIfrsZ xN+6WxdUe4kQVON2SFg1ngYHZruVPyzOH45WuiZFmuVYchrjp/mo0I0SNxEvJovGV5 bkw7RFAo7HfJONWZRbJroHhjZDXOkm9dcUyZXUxwCKpcW6h5lZPamqRm3tXxgQA/Jh YhLS9EqA7QgTnoQ6VH1meCz/f8lAZPqj6lp3HvBgp39daHOobnIqCzLYYpt2pzADcN CKYvDdIhAupIw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 4/9] selftests/bpf: Add MPTCP_SCHED_TEST macro Date: Thu, 4 Apr 2024 21:03:06 +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 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 ffcd5ebe38b9..8a6b09a97698 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -498,6 +498,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 Sun May 19 03:02:44 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 CB00D839F8 for ; Thu, 4 Apr 2024 13:04:04 +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=1712235844; cv=none; b=pC+b7XPfukTfmSt0DQCaeNDY3l9zHboX64vW3tLebe2vmyaK9uxJRtPAWkavYuXiuwwAjgDYTeedRdRNsxhg43jxvd97W1hoSrBwm14cCSXJCV2Fq9zU7PMgzWPGHVT2Kp7XTJyPFRuFIy05wafn7hlc1eWK2EEaA7UB5GfaZw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235844; c=relaxed/simple; bh=ch+T5zhRkNSRD7YGbw2jGct8H6qCgLL0Q6gBVjyzoZ8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cOHO9AIC2F7o54CT6Qy6NF43DTxHkidDWMuARdZv77aDCPrCmkZlagIyfPq43dWrB3hhqURQID5nCwvt9jR4l/vNZurYdLoai6RAQq+/b1HOzppFbrvHzH8wQeky2BwUCiv8dGA4WIL0kMrs+BIR88YvMpFkrm/8uDdksENykRE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GySyvL33; 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="GySyvL33" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 83E55C433F1; Thu, 4 Apr 2024 13:04:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235844; bh=ch+T5zhRkNSRD7YGbw2jGct8H6qCgLL0Q6gBVjyzoZ8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GySyvL33k9l78x0ftMfaySo3XoJzdVrmBkRrociLFPJnuWGybwSqyAnVeHh7bEZlG zfLQoVCU0euBNQv5PQTR/mfJWNO7zJZxJHHMC0hvYLLlRCve0ICw0+ig/pykm1gqLI kwnC3xd9h2tFQlxVnvqjI9iImuHijFMqBGRMpSElsOrjaDRpTsmzk5QvFEKRseJQOs 2S+vg11PkqF21PzgO8bWnPSHcwHBxTl3IZ77zquDFuihyvd3C1ZbDhCWAz60kZ2CWK 57QbZbjFXwzKG67WXXE3B8zXD3ss5WJloCSd7uVqI5m10yCBwQei4Ee9FyZW4Dpo7Q d/ON0pedyH9YQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 5/9] Squash to "selftests/bpf: Add bpf_first scheduler & test" Date: Thu, 4 Apr 2024 21:03:07 +0800 Message-Id: <41df81f7be327ac1c908761a3186bddbd10d9260.1712235380.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 8a6b09a97698..9231ddfc6c90 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -528,40 +528,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) { @@ -714,8 +681,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 Sun May 19 03:02:44 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 516A486AE5 for ; Thu, 4 Apr 2024 13:04:06 +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=1712235846; cv=none; b=a5Huk5J6LSzIIuUkFJFvNfhoI/U77+l3aAn5Q8B/W/VN9w6xAFHlgjeNecKSkIx5oMrA5VjlgoSwKiR1tM4Z09Hmrcpi6d9L1wAlwFRucHXmyuP66UQA2PV36MItg4MYm0TRTW0hvfo+d7k1CIRNiHzjNJpHc2VpTsJt3TfQ2dw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235846; c=relaxed/simple; bh=tMKIMdgHMr5YJxupBUO+B9ZaJKwLvVmDSj81W3cMZsU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=H6yFEXG7oz0S/VWToqy3wPdxro8pd6XWzW7eMQSJ9goPU+U59b13A/mkojRdmGSLDI/zaIe7kVDW1Uerkzwcj94aGk4PoZWQqfuu5z42Jdd2BroJtAtsLkMS9OVyZrbku9egcq1rx5hZjhIdN7XWxk8vKkkHJnyff2lGLwkZsdk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vETRwgvK; 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="vETRwgvK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 12CD1C433F1; Thu, 4 Apr 2024 13:04:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235846; bh=tMKIMdgHMr5YJxupBUO+B9ZaJKwLvVmDSj81W3cMZsU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vETRwgvKaIDyLhlto9u6jtW2IOVFChGPHRomT26LKb48xE9wVxQqzdZR51JDHK/Pp yw1mRdLFc2EW9GFpKydzcKBgV7ivWevQUq6K9l8k/BRQixlpVrldt/wVtRdhhHDF/1 GKbPf7NHM/ZQzn5SRhCIg5SlKmRdWwA6pBxwGTnDqdXmDfULZzCtgdMxfaobX8Xbsm P0woN8mm/KHiQ71OXVGTonFkG9aaY5sVqwGaxou+AVXXrOddo3bB0E4I1MKjbOtST8 qzzhOtTCQ3dJoJUIu5Y16zSrNfH8ShhrjhbWbuYrJAy+rWcdtz66D4m/XArQne2QQw +YtXz5Rp+vcLA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 6/9] Squash to "selftests/bpf: Add bpf_bkup scheduler & test" Date: Thu, 4 Apr 2024 21:03:08 +0800 Message-Id: <3484dc43621a26c9326967ce762bd159ad7d95a3.1712235380.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 9231ddfc6c90..cf6ee27b8b18 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -529,41 +529,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) { @@ -682,8 +648,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 Sun May 19 03:02:44 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 E33B512E7E for ; Thu, 4 Apr 2024 13:04:07 +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=1712235848; cv=none; b=aaHw1/+V+WYybh/FWEJPaCP8wjenosKS2KJA3919QKdVguwc5iI4ubLjb4mQtrMb5Jj4x8SzGV/JArKDojxZSFiMVkkLDiBtIFox+YmIvQL7RJBFbYSysXotJz4wskQnCcq5To33kuUx9ofRV4zMoNwRSCj70D0kVA8QgJKaj0I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235848; c=relaxed/simple; bh=stNXajPk7r0bNctRM5RDK6ESOu4yAE8TlqaB6oxjQVM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=uMQpQK+pUIEkWTtADlY/dMF8psO5LZB+mlSTz4djW7tX1rUYeV+xw4vK94wEOAel/jkfZJsc0b9xj/klsuq+NqKjynRdQ0+FCYOp2XOYRXsK22kPO4fm/41zo7T5qnXGgiqHHOrbo0iheCdgCZo5KkhOkND3wCrjWjHdheXaOfE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vCjMSAz1; 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="vCjMSAz1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C779FC43390; Thu, 4 Apr 2024 13:04:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235847; bh=stNXajPk7r0bNctRM5RDK6ESOu4yAE8TlqaB6oxjQVM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vCjMSAz1gcx8IHQ3jnafnjkN99sxt30HyXYh7RhmhcUy9sKMSKJcE00x/F2Isckwn PM8IE6KbxVdkS5DG6XlGaZQMfw2DYBa3Z2ecH+dqOOHxVoNH2nFgublZ5Rij60n2gj 6b5a9TeLYOpsrkZTDh9RUnKmhHhIdWC29sYn5oR5kmqRnRCDsLOX20DKmBVFZrxToc uma2Sn3islBzCaP1L1/qhpsl2kzo6wCJeZZqu2iHq9l3G5XKS7FdfA6pVW9kWm9uUK S3s1lQi3gGHVobBKnbU59ZTbjN7pu21q3b9Tv7MJ8bgKAHzU/57db8nbQTYW/6uL// fgKc0+8WF7KtA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 7/9] Squash to "selftests/bpf: Add bpf_rr scheduler & test" Date: Thu, 4 Apr 2024 21:03:09 +0800 Message-Id: <0fc2a36ab224bb9a1ee15b2b75de4f98531a4607.1712235380.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 cf6ee27b8b18..6736502a93fd 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -530,41 +530,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) { @@ -649,8 +615,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 Sun May 19 03:02:44 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 5BCCE12E7E for ; Thu, 4 Apr 2024 13:04:09 +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=1712235849; cv=none; b=cy8YLRIyXecsZN4yM2dN3Zl99etvbXRqhhyPNlwBWJlw7i0ok/XbVS6a1zr+d5MiWTWz3HNWd5R9An0uHAMMFwscoQib9oklgkiiyQgTa3gNvOnzOzHXUr44TOxek0eTYBIgv57DFwsjwEGQ7np8paz0odni+YdXwfgS5xoz4gA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235849; c=relaxed/simple; bh=KSixP1OT2XY5Xzz3zJX4WZFIBoWRSLK6iSFLVOC4uFA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Qa5IuU1mLdntt02j5BaOjgITTKYPqcXRLGW4UcoPaB8NlvlId765nvFcbxsAqGmSMGrkk0Fm7OIqejachj0UUQbIJYUBdlqf8YBieBvsYinhaReqXxoIYsclFvVQkJsxqnRZMnntcDsaQit7Q/LOgKvZBqnTeAvFZxf14FCenTU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XePfZWRp; 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="XePfZWRp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 66E0DC433F1; Thu, 4 Apr 2024 13:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235849; bh=KSixP1OT2XY5Xzz3zJX4WZFIBoWRSLK6iSFLVOC4uFA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XePfZWRpXzEQcMcc2hyQZNFIOCLCZXzpe+ZBDyTng/yLsMoGVXuAuua1Fu3IxuBpj gltgdPks2LAAsAaC9mBBEKcArulYsorm86QzWIjve7xvpMcdEwN+vQdCJPbTuWMC/v h56GF7NJtT7iGzIa34xy+W8hYHMr/u+vtJHepiX+A0JS2UhJaEwe47/66RZ1OYVZz0 cFmYViM97VvjI2hLiHJo76jENJ660qskjQejDWUuy1o7uuvuRexaesLn1z+GpivHgG D2Mvy2vbu6Iy0j5SwBks4iXkEjP68jnnCViPJH30nRxDABUZ8v9gi7A6kKbgVoRq0s 0HLioIDsLV8Yg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 8/9] Squash to "selftests/bpf: Add bpf_red scheduler & test" Date: Thu, 4 Apr 2024 21:03:10 +0800 Message-Id: <095f86eddd669e76365dd079b279d66494e0bb57.1712235380.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_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 6736502a93fd..57094bc5e67f 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -531,41 +531,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) { @@ -616,8 +582,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 Sun May 19 03:02:44 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 19C8086626 for ; Thu, 4 Apr 2024 13:04:11 +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=1712235851; cv=none; b=JOze34hs0PKBTRDq5B3YtiGvtAU40yzaBpEefL4BFVbRXOnm3vdRPzOm9/TdNCVUDPLb0nGtfr7RwrJvITjDFU1FAi4W74JYVa5/eg+qVJQwLsNC9y0zVlnHKw6wI2t5h2un6dgfWmQfDFMKR7Fcil+qEfptudEbYCimSIXpp7s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712235851; c=relaxed/simple; bh=CnASRoUYm+yP5M7K0g/JymC5f64LrApzb6D+5uRXoe0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tRkmVD4y1NK8Xnqx4A4vl0iAPwry3cZ7r/LOONFw2sbiTfv/Ws+mHyiec2oOjVj4O0XPOKR1ly9p66eyssGmby9413GN7NBkNCQsyRpEdqwo48cVymc9daFBhnN9kRPjdQSj/5e5JN3WZjkPGHvLcqWYtEzm0wySmAh6+JjPJnA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=V+dLzjJE; 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="V+dLzjJE" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D944AC433C7; Thu, 4 Apr 2024 13:04:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712235851; bh=CnASRoUYm+yP5M7K0g/JymC5f64LrApzb6D+5uRXoe0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V+dLzjJEajU2B/eEtFOK6w5YAkGxd4U/Fb9ZAQIXtj3fKBtmlU0LW2eplKRLixW5A qbJJtjy5gfEQ+72/Q/veO6FivY/+K1DemQZ2/nGTogV+B36Lilt+sibMkKgsdS3Bm7 Iu1yeKKYkjaFivWFHY8zs0P/f+DiXeH3YAe0QrnAosMRsrbh4iaXe/Ip19wzrdpPwB oO6HLxToMD+cLUj4s/+SukruI5DpE6E669cZ/hrj8dbNY4imYxDQnMgS2Hl1UC8l18 y1cdbcYG1hzSXsezuSFuCLHOjufauIW8GsZpxkzaCiJpy+SC7DJd7nQrjOpvRSff/X wUj9tPhBWXwBQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 9/9] Squash to "selftests/bpf: Add bpf_burst scheduler & test" Date: Thu, 4 Apr 2024 21:03:11 +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_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 | 39 +------------------ .../selftests/bpf/progs/mptcp_bpf_burst.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 57094bc5e67f..c68d5342fb3e 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -532,41 +532,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); - - 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 { \ @@ -583,6 +549,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