From nobody Fri May 17 08:24:52 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 57CDE1851 for ; Wed, 17 Apr 2024 02:39: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=1713321550; cv=none; b=F9wepNJAUpTqFHJ8fXfEAzHmSOkk/BgeiUwoVBmKKb4GtQdWq9g+nKRxi90G6p1/wVxMGhNPIkzJOW+VJpq7KBER29zzg5d6K9gRwwqsMUjYj/bxMOFQKhLUMsUhCUU58a+tlIPr5FlSM7LcMM0k1fwZs2l5EfRYkN18z5jLXQY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321550; c=relaxed/simple; bh=/Pc3wOJ+00tHqo8MDJm/cNhGbriSzwm6ucNRtr1wM7Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TtPt5hSvP9G3hnp0ZX3bX4p+7jqxvxnaLuQRP0sqraCLikutHH6nv0vOOAYNIWOkfSpJik+wWofUGvNUnTmAWdEF8hxC7b4o39whFA3ltwIOiLNe3humq3alF0NUR/HCz2O4i/nm8ru0ZUIjUiYIs4FqRQu0kJgcDi3vxoLAY2o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=I96aqztp; 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="I96aqztp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7550C2BD11; Wed, 17 Apr 2024 02:39:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321549; bh=/Pc3wOJ+00tHqo8MDJm/cNhGbriSzwm6ucNRtr1wM7Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=I96aqztpUPeuzb2JJdPzO8xNEGOXkRerDs4aSmZZV5K9vDA4DWZjWQlb1TndvHF2O WprsfXcQBHFNI7/Ovf1B4JpY1kQPyHqUGnMtlKcuLbQd4M0jHYh21cI8A70djAU4gF hu5o3PFQsU7IBJnTKX7PkcHWBqL2DC9LKZvefKMZFNMw2oOpxwelxqQg83VLdEcScQ W9k35s0oeuOqfVcuNwtz+uF44XC/Cb4Uq9MV4O+yBkO44FJIDwKfQB2z96su4qWt08 00w7gjD/TiH91N805elTzGMIzXuubuLuh5MThbM4eReHsh2Hpb5Hq8uvL9RUaRs9Ti o1xeyJ4ztRtyQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 1/8] selftests/bpf: Add RUN_MPTCP_TEST macro Date: Wed, 17 Apr 2024 10:38:47 +0800 Message-Id: <87f974d9431af3018c35cbd4db147ea807e3c451.1713321357.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 Reviewed-by: Mat Martineau --- 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 Fri May 17 08:24:52 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 E8F621851 for ; Wed, 17 Apr 2024 02:39: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=1713321552; cv=none; b=FKG2ZLRNb2G7sh2/t/8A+6OyOTfu0BZa+nFyAJU4gj9jDaoEds74+1zZAle0yZczu1mbrHtsVR5CUj/oBlcfj+4bbPNS4vHn61yfmVJ+NSBd24tpDQWTs/38N7xM11BGOlpYu2OO61kSfsyVtKGHGtoPyZWi4/K3nInl3tvxkaE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321552; c=relaxed/simple; bh=LdN9GVi8LQa0l39uFlmMNzry325hNsiTYPcWUJJQVyw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nJ3GiYJHZpgy+KiU8mci5Tht+HXXLVVTSphTpjfPzddT3VHZCIxjfq6VaerNLEBZ0lV9Ucbe2VcTmksg2iRZAmwfJSP/BbPGAWjDrZYIaCFx+wjT5le5aP9fgsNTzrYKXR73SO0tW//oHBjTdRw9hIMOQymu9O3K8Pik8c3Tmvg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cjtHKTuT; 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="cjtHKTuT" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84571C113CE; Wed, 17 Apr 2024 02:39:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321551; bh=LdN9GVi8LQa0l39uFlmMNzry325hNsiTYPcWUJJQVyw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cjtHKTuT9XwxUyt4aRTpDmO56PSCvJLNeOWlfNCl/Qk6DpSxOww0lh48yTJdnVP32 +dQcN0kr4f654Khviagof9jqDdtc9+SwSTJD3veA/40KuwG/HY9Vl+ozgiXpW0vsZU fuoLuccumSzcqEfsty77w6rqgIsD5a9DpR4SNG1KHC368Wfl7reWga9YKfDCfxLc84 Kt6vk33hSBiruKV9JGZUmDMUi4F7uuOx7kfKc3Xxvnlt9Sb2lhol47UAE2BcnyeXNR GRCY7tz5dp60GsFQg9Xrd6TynZX6J0uh2uvTqt4hTNmQRmrgzY6IBLjdyGcIYZiWNH OaKSlwZrZc5fw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 2/8] Squash to "selftests/bpf: Add bpf scheduler test" 1 verify Date: Wed, 17 Apr 2024 10:38:48 +0800 Message-Id: <2ba23b6666ee10685a29a1d167d6c3fae99ca80e.1713321357.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 to avoid duplicated code. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 42 ++++++++++++++----- 1 file changed, 32 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..d7ce28fd7809 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -17,6 +17,8 @@ #include "mptcp_bpf_burst.skel.h" =20 #define NS_TEST "mptcp_ns" +#define WITH_DATA true +#define WITHOUT_DATA false =20 #ifndef IPPROTO_MPTCP #define IPPROTO_MPTCP 262 @@ -457,23 +459,44 @@ static int has_bytes_sent(char *addr) return system(cmd); } =20 -static void test_default(void) +static void send_data_and_verify(char *sched, bool addr1, bool 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 (CHECK(server_fd < 0, sched, "start_mptcp_server: %d\n", errno)) + return; + client_fd =3D connect_to_fd(server_fd, 0); + if (CHECK(client_fd < 0, sched, "connect_to_fd: %d\n", errno)) + goto fail; =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, sched); + + if (addr1) + CHECK(has_bytes_sent(ADDR_1), sched, "should have bytes_sent on addr1\n"= ); + else + CHECK(!has_bytes_sent(ADDR_1), sched, "shouldn't have bytes_sent on addr= 1\n"); + if (addr2) + CHECK(has_bytes_sent(ADDR_2), sched, "should have bytes_sent on addr2\n"= ); + else + CHECK(!has_bytes_sent(ADDR_2), sched, "shouldn't have bytes_sent on addr= 2\n"); =20 close(client_fd); +fail: 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", WITH_DATA, WITH_DATA); + fail: cleanup_netns(nstoken); } @@ -663,8 +686,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 08:24:52 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 6CB9C1851 for ; Wed, 17 Apr 2024 02:39:14 +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=1713321554; cv=none; b=uhURh5jJq3eled8k1eQ0QqMVywLGCwAQeYV5A7VyGKLsyubrKWV7s7kJ7st8iaKczqZY4c6/o5hKnoNu+DMPWNvLzKwdOkTO9yftnkuW8G6HeR+Zw7/Kc9SBDziG345YznmnJHpzUUdNceozKozjm/wk5IX977AjLlRlLEWq1nk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321554; c=relaxed/simple; bh=wzEW4W8RNHFrWIbQ857q+NGf7095QKzktcYmuQe++Hg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EQgbGma4fxMptbwDfbRJDLQ9bABYOfDBkDNdi2y2V6L4+5oWfsn2k6xsMLMxRA4Qo0i8sQ4g/5hI5dl18s7lq+JRxnfjXkKxFkXVKzciMQnbgnJhf1yNeZOYgPUTqy/el6aiCEP568LKGE3LIGdQtdwnSuC76ayOFjrm2v24dqo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EWx7RyYH; 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="EWx7RyYH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCA44C113CE; Wed, 17 Apr 2024 02:39:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321554; bh=wzEW4W8RNHFrWIbQ857q+NGf7095QKzktcYmuQe++Hg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EWx7RyYHUGICSUlTMdGvv7sQh1fFoaHVNZ+PTUUID+t0tmPnKZ7P8enUg7voNZsCQ hROxQ5MktJsTHWdPpebxkZA6m2xhYprLZK8b1nlA4Mbl7ZFXh2G1qQMbqxoOxU/zHG XHC6yX/gDfy893ayTLkgzfS00qxMshSOg2zNzKf8s4968lY/WlZY/A9NnS57sY+xa1 MCVj4KUKN9lWsquwv2WYccBX8+gxPMCxqLuDB4Z3E4CjJrtEOc9ViV+KbWttgSUs+t YkOrOOvRY/URaKxhn01DfA6aRNEKK/SfQ2vO7l5RLQ6p08nqqZ+90b0QSAnd6B/5VZ 4uvNZ4IvxDLOg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 3/8] Squash to "selftests/bpf: Add bpf scheduler test" 2 time Date: Wed, 17 Apr 2024 10:38:49 +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 from send_data into send_data_and_verify. Then send_data can be exported into network_helpers.h as a public function, reused by mptcp.c and bpf_tcp_ca.c. Drop duplicate '#include ', it's included in test_progs.h already. 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 d7ce28fd7809..1979c685ee24 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" @@ -382,16 +381,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)) @@ -408,16 +403,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); @@ -461,7 +449,9 @@ static int has_bytes_sent(char *addr) =20 static void send_data_and_verify(char *sched, bool addr1, bool 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 (CHECK(server_fd < 0, sched, "start_mptcp_server: %d\n", errno)) @@ -471,8 +461,17 @@ static void send_data_and_verify(char *sched, bool add= r1, bool addr2) if (CHECK(client_fd < 0, sched, "connect_to_fd: %d\n", errno)) goto fail; =20 + if (clock_gettime(CLOCK_MONOTONIC, &start) < 0) + goto fail; + send_data(server_fd, client_fd, sched); =20 + if (clock_gettime(CLOCK_MONOTONIC, &end) < 0) + goto fail; + + delta_ms =3D (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv= _nsec) / 1000000; + printf("%s: %u ms\n", sched, delta_ms); + if (addr1) CHECK(has_bytes_sent(ADDR_1), sched, "should have bytes_sent on addr1\n"= ); else --=20 2.40.1 From nobody Fri May 17 08:24:52 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 3037C1851 for ; Wed, 17 Apr 2024 02:39:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321556; cv=none; b=AXoYp2qwDZVat8ScksbRCDAPI8jqbU8cGk3P0TI0ejntmIXoH9PhRi0ipjm0EaW+j/Bjm2d9pCdwmS1NxbW4FAhahQ2gjB2ps3Oi2vw8h93G5CghiXKi2NAev9PCIaOBvrEllGrRQejSW+07Z/dG5xRWcX6+ZG6ZXbZTYJNPhz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321556; c=relaxed/simple; bh=QTxG7RcLaNOmJxKmyGqXfK7CJCPt6mK29SEJ02ZkwMQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=iVQvbdxHfm38UVcaO/8V2PRB0kKq6FUHtbseUmA5u1PlL3RFLDtRb9K3L4dGEIkUQn4CQClLrSY60QGsiwS81GScq0Pqn4pnqiBJuZEptZltde5xY3Utqe+emF27G5kdZFCCJl2RPuI3QbcbkIhX4qBuux7hikpA8l0RBLWQtnk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ng86ngSt; 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="Ng86ngSt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98586C2BD11; Wed, 17 Apr 2024 02:39:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321555; bh=QTxG7RcLaNOmJxKmyGqXfK7CJCPt6mK29SEJ02ZkwMQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ng86ngStyvkIn0vJDP07F6jo4bucg9Thk9D6BtqJHkWLKM9GYixqaorOseGtUDDEW DG15WaVfZavk6ODoEPSOO7WxM3s8quaWxlQ3QtWLXdE20ivNS8fgX+UDpb3hStsuYt 6/apmCfU52Xl8qQSty4DcXB6qGg2xR+vcJxSuYmFhWGGnT4ox+st7oD+mNkeOw5Hru SXikRo8HHgUnzaP4BEoJZTcSZfcHovyXEeA8QEjMjVOoj/gtjV/kO9Pi88Tf4mDiMs /CWGsdaKXavPc5sqhaFpkfj95zzVgJQqvDIG5lL8zoY8onfG1yVbapsiDlCgbbxDTI c6zq+mZxMhTQQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 4/8] Squash to "selftests/bpf: Add bpf_first scheduler & test" Date: Wed, 17 Apr 2024 10:38:50 +0800 Message-Id: <24d27a057abce37a93d3c43c02665f3399dc13bb.1713321357.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: ''' 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(). 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 | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 1979c685ee24..504e00faf9e0 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -39,6 +39,7 @@ #ifndef TCP_CA_NAME_MAX #define TCP_CA_NAME_MAX 16 #endif +#define MPTCP_SCHED_NAME_MAX 16 =20 struct __mptcp_info { __u8 mptcpi_subflows; @@ -500,41 +501,45 @@ static void test_default(void) cleanup_netns(nstoken); } =20 -static void test_first(void) +static void test_bpf_sched(struct bpf_object *obj, char *sched, + bool addr1, bool addr2) { - struct mptcp_bpf_first *first_skel; - int server_fd, client_fd; + char bpf_sched[MPTCP_SCHED_NAME_MAX] =3D "bpf_"; struct nstoken *nstoken; struct bpf_link *link; + struct bpf_map *map; =20 - first_skel =3D mptcp_bpf_first__open_and_load(); - if (!ASSERT_OK_PTR(first_skel, "bpf_first__open_and_load")) + map =3D bpf_object__find_map_by_name(obj, sched); + link =3D bpf_map__attach_struct_ops(map); + if (CHECK(!link, sched, "attach_struct_ops: %d\n", errno)) return; =20 - 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")) + nstoken =3D sched_init("subflow", strcat(bpf_sched, sched)); + if (CHECK(!nstoken, sched, "sched_init: %d\n", errno)) goto fail; - server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); - client_fd =3D connect_to_fd(server_fd, 0); =20 - 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"); + send_data_and_verify(sched, addr1, addr2); =20 - close(client_fd); - close(server_fd); fail: cleanup_netns(nstoken); bpf_link__destroy(link); - mptcp_bpf_first__destroy(first_skel); } =20 +#define MPTCP_SCHED_TEST(sched, addr1, addr2) \ +static void test_##sched(void) \ +{ \ + struct mptcp_bpf_##sched *skel; \ + \ + skel =3D mptcp_bpf_##sched##__open_and_load(); \ + if (!ASSERT_OK_PTR(skel, "open_and_load:" #sched)) \ + return; \ + \ + test_bpf_sched(skel->obj, #sched, addr1, addr2); \ + mptcp_bpf_##sched##__destroy(skel); \ +} + +MPTCP_SCHED_TEST(first, WITH_DATA, WITHOUT_DATA); + static void test_bkup(void) { struct mptcp_bpf_bkup *bkup_skel; @@ -686,8 +691,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")) --=20 2.40.1 From nobody Fri May 17 08:24:52 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 8999B1851 for ; Wed, 17 Apr 2024 02:39:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321557; cv=none; b=RyOdGgoUhfLWKDp9FC+laorzk5YhMG8BVYhDMdOHXH9DvgmTvyLYAAp/wV6xf/GTEb5VSI0BKu1hdR/g+X4RAXWoS6mY4Hwz4+fTWEPDBtvKY5fgFJG9ettDHCbexjtFVfmIT2fCYmvvMgb2LPYNRymqAwnSY9bfNvEKe13pzIg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321557; c=relaxed/simple; bh=CYvBcaz4Hucd9sxuqWqujKimRltU3jV6zOzlfnI8L9s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=acrCjWAC1xLJibO2rgAjcmDHp19kAAjGbC7DIrY99OaW7TsuBdw5cRgm5MndGZuELW6OMT8qSXdrpTtj2JkzS37ewHFcOpU4B4UDrL+YceLsNR7/AiPn4VtVezvLG8jAcULg53b/m86/zEhUiCi1uR7ozIhJ8AIbM/bCdfYwey0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mcKcGrLS; 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="mcKcGrLS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 40D16C113CE; Wed, 17 Apr 2024 02:39:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321557; bh=CYvBcaz4Hucd9sxuqWqujKimRltU3jV6zOzlfnI8L9s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mcKcGrLS4qOTHDdsiOkPRF+168OSrZRVA5QZf5gZuhB1ohQusRtQDiZEVTgb9uazQ ex2J5yUqWIDMbEvtL3+cSzjSD1v5FMWoQrLZSRUC+NXOCfrcYLWnjC2aQ76GRC2kz6 m1w5Y2XypQiam5V2VZ9nFl8gVId9tw3Y/+woA3AOIgu9lZIRIDR3KuDdQH47qVBlV9 UdMP0yiPg38cIPB4FY9dD99O1FK99YYNplUjSus/cJpwrSeq2rhyhMRo5expcK4wU+ /FH16IwGpreEeaGQUZSh++kQArVfNFVFAxSJHQBNYC5d05S2pAArUHX4MOqmeJ4+dk SxxEwjmEYvvqw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 5/8] Squash to "selftests/bpf: Add bpf_bkup scheduler & test" Date: Wed, 17 Apr 2024 10:38:51 +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_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 +------------------ 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 504e00faf9e0..a49328648eca 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -539,41 +539,7 @@ static void test_##sched(void) \ } =20 MPTCP_SCHED_TEST(first, WITH_DATA, WITHOUT_DATA); - -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, WITH_DATA, WITHOUT_DATA); =20 static void test_rr(void) { @@ -692,8 +658,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")) --=20 2.40.1 From nobody Fri May 17 08:24:52 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 9AE741851 for ; Wed, 17 Apr 2024 02:39:19 +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=1713321559; cv=none; b=oswrns+406rdsLzUPH5bYWSaLsQVew/c4QymU5uMZYOeLKnCEvF9lmrIFcfah2TBu9wp1ZybzvHXXDnyum6W3rSoWPuh+Vynp9RE+8gYkvP7d9t2RulHWFQeT9Dnt368DNnH4t1Xdypqq8D4x4++rawxQTGsh2qxfLQ3ht36erg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321559; c=relaxed/simple; bh=A5ugH1BJpRXacre85Wfd0jJ0NKzkMRYY3zBmD0b7tCc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nS+00rzM2Qjs+adxpjpWlNf79/14nsAAr/Rl1UoliJvcBYkkOzqscKQuTb4jMjIrCEejotE2TF7rAYf8sXzi0s9dnoovuNJKTob4WRUkGTi5AJA9U3s1vqSoKj1M2EKpZ1xi4TNPooacypRirmkkDQnn4IC1r5iBrU6vzCqoP1M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VpUlbOiF; 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="VpUlbOiF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 17C11C3277B; Wed, 17 Apr 2024 02:39:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321559; bh=A5ugH1BJpRXacre85Wfd0jJ0NKzkMRYY3zBmD0b7tCc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VpUlbOiF4vHf3HY+wLgTwQA6Xtijm88+wY/roT7gOBp0YuyeQbR2M532F2ukzdGL8 FYwOJrzHinuVapUOkFMQjFTVxgIO2gWxQ8GG4PrMhf8ytItCEn21DAohiXPi8NJ8Q5 Eu9S6cGPHgnEapvq8Hz2+bTpzhBitC9r9eRZIQXhxIOEMyPR5ZEP17DlIer4WTBDN+ 67cMd8y1boc43U4kzRFgBmOPz6MwiiwzVtsvKvoJ6SnflTpb2N0fB6K738JVVHWmdT OeP14O5d2T0D+VslEI1L21tWq7hINgNf6GwGYaNh2z0AFAI7u0aNhzgDO18MS3Pw11 2BbfCw7GFXH9g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 6/8] Squash to "selftests/bpf: Add bpf_rr scheduler & test" Date: Wed, 17 Apr 2024 10:38:52 +0800 Message-Id: <039e6bd74d49229b2a87d002e0cf4606c4d09683.1713321357.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 +------------------ 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index a49328648eca..6b2037ee32ac 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -540,41 +540,7 @@ static void test_##sched(void) \ =20 MPTCP_SCHED_TEST(first, WITH_DATA, WITHOUT_DATA); MPTCP_SCHED_TEST(bkup, WITH_DATA, WITHOUT_DATA); - -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, WITH_DATA, WITH_DATA); =20 static void test_red(void) { @@ -659,8 +625,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")) --=20 2.40.1 From nobody Fri May 17 08:24:52 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 0DC3C1851 for ; Wed, 17 Apr 2024 02:39:21 +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=1713321561; cv=none; b=gOPgB2GzacRk31n37AgwBIkSipBtpqkNzG4Ynqr8eMoSrgkYGJt9GsMyEVG4NZTHfbyEzbnnsS8BF5AIcgq1xCdZPfmFwGZJTs6LWeXgfhFDWzKKpfGi1/hQ4tegblD38+WK9E0B00jC6D8sb140Z6mTRAUcxH91mZYY+i8aXvA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321561; c=relaxed/simple; bh=hW+ZvU4mXhQyg4/gEJyDPRvo1bIYuq5e6n01KvK56LA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jWD/qZfOFJM9I3miqTXLMJLOurrVQDuMfFQ3d1gGZZfUIoE9oW9phKYWXYjC/sCeSPhOJ+MED0GFgT4GIcBrK51BPAQ4um2d844+L51DfVN/6kHaU11x2Ijb5s/MzRNCJSNoawJj6kCnZcqchNYeUEa8DJK0FqffEJEaG4/YYVg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UIuf2NmQ; 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="UIuf2NmQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B458BC113CE; Wed, 17 Apr 2024 02:39:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321560; bh=hW+ZvU4mXhQyg4/gEJyDPRvo1bIYuq5e6n01KvK56LA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UIuf2NmQjTKcGJPQBnFwz3AzQO17dV03R5khfnaSLnmB2hMtvJlVWOugGFnhDOeEA v/Ip4BVTKUFvEB7UWMfOas7NlKBuuLzHgA5u+GxNoexkp+Luo3Q56xx9vik+Vho+YB ILPAGXdTuijk9VgT+BXguCcvtUKVQeFC0B3S92HKBGnoG5fBlPNRrrVIHAHJ3BSDvI 4XrWQqoayRzwGw4CuIaYYKBkd5ko3G5enxlzgcbALdW8P8TqkLCawdm8lZk+l3sKyZ FnV5o2JnaWCj28ruNhv65omXJRkR+64/qK+xjzwL+N0v1qw958emzqg57rFKrjhCjS AZ/NRHmaOMCmw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 7/8] Squash to "selftests/bpf: Add bpf_red scheduler & test" Date: Wed, 17 Apr 2024 10:38:53 +0800 Message-Id: <1a2941648d9cdefca6086f8dcf8d5866dfd4d3f4.1713321357.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 +------------------ 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 6b2037ee32ac..1609a0e1e799 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -541,41 +541,7 @@ static void test_##sched(void) \ MPTCP_SCHED_TEST(first, WITH_DATA, WITHOUT_DATA); MPTCP_SCHED_TEST(bkup, WITH_DATA, WITHOUT_DATA); MPTCP_SCHED_TEST(rr, WITH_DATA, WITH_DATA); - -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, WITH_DATA, WITH_DATA); =20 static void test_burst(void) { @@ -626,8 +592,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(); } --=20 2.40.1 From nobody Fri May 17 08:24:52 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 DDBFC1851 for ; Wed, 17 Apr 2024 02:39:22 +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=1713321562; cv=none; b=vEShBQ2qQ0maj/yQlhv3RTQf2RlnCEHG70Ru9YTmNogQhBvX3U2jtspT7izQFSdOD53Mlp45gKokGox4cD1f4jJWTTz12lRZLc6VajzwWYiYQKPFzcu9wic4q59bhgMmFFFnONMMDhT8ZMYakcMcX2ag5xki5QYsr19xAxscO4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713321562; c=relaxed/simple; bh=bmwBZ1jN4KSV6hPcFF/5aIus/ySqsdVhAzKbMQChWIQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LDwcsEdHwOlxqE1d7S7G6v6K/Wc+q3n5cfEaCcn9R/RC1mXI4o7BMOueG6M+zTZB5Jw+H677ffJPQ5BEbaXK3rLJLbSVvcnuZJ19Xyytf2oWyipaRckj85P9+rcXTxLkMEIudMwGt4ss/BLzck8MW448Llqj7GFPB62sagyPxvA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lWAMWky+; 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="lWAMWky+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FE82C3277B; Wed, 17 Apr 2024 02:39:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713321562; bh=bmwBZ1jN4KSV6hPcFF/5aIus/ySqsdVhAzKbMQChWIQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lWAMWky+M9CGQgUauA4vn3fpGkOJ+I51KW9kdA8MaN7GSIee6vyveBy/nUUDy5jCb e3xuM1gY06QiTfO0LNzherJaSZ4SjcTcNmc9KdEBYfCnmp5GFTDzhBoUgJms93Z5jq xNu8iZa4jk2QGx/CBrPSj/dfAlO1b1w7zTw7jbg8qXFjcwFsqVeoZeMt8MXUg0j4xu pFGI7zJpb2fjtckzi8qMMP1LDwYafKes4pwszyFXI/OfwTxl+Tira8Q1YzNbwwAhr/ bkKK88xdDJ3eMCJrefwlqOC0lan4aa0AuGy5WjG+lzNkR2TlFuv6tiHkQ9ywax4+yp GQ/M2YoxwpufQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v9 8/8] Squash to "selftests/bpf: Add bpf_burst scheduler & test" Date: Wed, 17 Apr 2024 10:38:54 +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". Drop send_data, using send_recv_data instead. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 39 +------------------ 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 1609a0e1e799..9f17453b2d59 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -542,41 +542,7 @@ MPTCP_SCHED_TEST(first, WITH_DATA, WITHOUT_DATA); MPTCP_SCHED_TEST(bkup, WITH_DATA, WITHOUT_DATA); MPTCP_SCHED_TEST(rr, WITH_DATA, WITH_DATA); MPTCP_SCHED_TEST(red, WITH_DATA, WITH_DATA); - -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, WITH_DATA, WITH_DATA); =20 #define RUN_MPTCP_TEST(suffix) \ do { \ @@ -593,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); } --=20 2.40.1