From nobody Sun May 19 03:38:11 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 EEBC01C0DDF for ; Sat, 30 Mar 2024 08:50: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=1711788656; cv=none; b=GQ375XNX8qpZIoOcxM1GHy4q/OKhHCPkHWndjUcupNQhQDO7vjCHwuSJk/Y8JekIXt3tIH48cpYr1KjDn+BL7cIMaHWc9gd69lDsSRWDRHwNZHjJ+m4ml42gEpjwEUyN8bT/b8DQ5h2pWMfRqJjZZ54KGia/mBjM1V/I380Nq3Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788656; c=relaxed/simple; bh=XHMEWN+DZO9aWwobxpT5SNp080PVd68tBNehAhYlO/E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=sq+0CBIuE+m+RTD/6A9AmaFFaQ5PkLgIO3upO77KlABNFsvhccrXvkR1bWTIxen9ACtc8TP3+wgpo4jYcqbZsigGDUExc082BA+cDCG7DUt0ki2Fac+e1ZKOAoOi7qUk0oIDEB+0kDS+qTEjAU19haqJ08RqfhRi5s0EYZXhD78= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BTLzCzI6; 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="BTLzCzI6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AA69BC43390; Sat, 30 Mar 2024 08:50:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788655; bh=XHMEWN+DZO9aWwobxpT5SNp080PVd68tBNehAhYlO/E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BTLzCzI6nEytFdLpl5invJJHCzbvj2CTFeJexSKoABzdo4kUCDoRaJ5gJfd5ruipn Vgm3ECibw6eZf2NSgh95ZDU3C1zDr4a+zO0G+lPDJ3Qauj/oxBqag/yvQsmRvW3RM7 SD1zQrd3vWH2ZyEHfDzRJZV7CQ2TxqZaVgLSO/+e8nW7mugbMYvpEcq85M8TbtKLJf rixG2xyeFv8O7PS3a8NeXiW+N0AIGxDwuscaM2l50405JxyQxngtPnwn5XG4x/ipE2 frA6wxjcIB3JO/xhJKtodkhQDQ1iluf8IgaDBs/6S1mf7wwIIx2adkMJJrmvLOyzF+ /3nXw6M/YSa/w== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 1/8] selftests/bpf: Add RUN_MPTCP_TEST macro Date: Sat, 30 Mar 2024 16:50:43 +0800 Message-Id: <34841863f670a80e6d42da4cb8b35b7bebe6f341.1711788593.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 6e28215d7404..8088608f6b28 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -651,12 +651,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:38:11 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 48B631C0DDF for ; Sat, 30 Mar 2024 08:50: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=1711788657; cv=none; b=jjF+QKwV61JJC/B5q+GU8Q7HixuStQruc/s0UsZtLp3LZeK7fs9P7xf2fBs1mIQyTwvWgqr24B0YfJrRuIQ0uOudXejqJlS0eK1tcD/B568gJJ0kIgU3jl6c2l/LwfgsWPuhLD12Rxa2GMtGlvVmvkznLg39fSL2g93O6YARjTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788657; c=relaxed/simple; bh=fqKtXBH4sWV6YmGzh8I75sTpSRD+9aWlP8ZBuzfOYGY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hRVo81VZlBqyjd79XhgypaNIK0B+SZNml9MlE+bNHQhGqTqtRC0BTJfrMiq3D6UHV5vYjrIU8JMqKTCkrx6gwJqUOtvUArvPRm/wFBgVkbshiIiJPuIjHSYmDUBFsWBiAqhmo8dZ//JYfDypEgWcOhbG9Ck2u5dEWcvmmNtm3vw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=f/G135qe; 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="f/G135qe" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07404C43394; Sat, 30 Mar 2024 08:50:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788656; bh=fqKtXBH4sWV6YmGzh8I75sTpSRD+9aWlP8ZBuzfOYGY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f/G135qeuODNdlFR5O3YZ/908WSViyp+x0GqCyIhLXx8NDbSb+OrtE5B8sajaK5k6 9iXxI5r/1B9D0wag9MgmVhCL5GS1iK7TGegDjqOnhUczYxxWL1XNbXZsw3SSRWq7QC U6PewJECnXV/MykXLreRNtgnxEXVxrhWQBBsFozhrBYB4hgNQifr1EkPHD2VAt31mF ds9giUfuftuqE2LcjRbO+wmMJ8hLHj3hTNuJ+GL1AxF0UD8N4AVZqvpmkTxRuuR0M4 vBSqKE3zs6/MxSOfrND7B9+RE37i9CwZc8g4NPPti0Z8obnC9v49gyhga3ZO4Ot1/U bEnoni3YCMytA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 2/8] Squash to "selftests/bpf: Add bpf scheduler test" Date: Sat, 30 Mar 2024 16:50:44 +0800 Message-Id: <9ce2cc060a35a795debde87af58b77651728de22.1711788593.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang Some cleanups, add send_data_and_verify helper, use newly added RUN_MPTCP_TEST. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 69 ++++++++++++------- 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 8088608f6b28..856e06ad3246 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" @@ -378,16 +377,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)) @@ -404,18 +399,10 @@ 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); - pthread_join(srv_thread, &thread_ret); CHECK(IS_ERR(thread_ret), "pthread_join", "thread_ret:%ld", PTR_ERR(thread_ret)); @@ -446,32 +433,65 @@ 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 -static void test_default(void) +static void send_data_and_verify(char *msg, int addr1, int addr2) { + struct timespec start, end; int server_fd, client_fd; - struct nstoken *nstoken; + unsigned int delta_ms; =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")) { + close(server_fd); + return; + } =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"); + if (clock_gettime(CLOCK_MONOTONIC, &start) < 0) + return; + + send_data(server_fd, client_fd, msg); + + 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; + printf("%s: %u ms\n", msg, delta_ms); + + 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_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); } @@ -661,8 +681,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:38:11 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 91BAE1C0DDF for ; Sat, 30 Mar 2024 08:50: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=1711788658; cv=none; b=I8sYPvTOtOJuA6+0zNkumxCsLb0b4tYRv5dLSyXqE5rjzGaHq/jz0Y5gv83JCXpoT97y80/+ToX/K2zIH7t5YVWnnTyVNSxYYn8v4Wvwz6KlDZUdodU2XH61+PAkayRq5LbQHlincOgvgUGI/ADS1esnsw7EOXucfsYhCrj5VUc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788658; c=relaxed/simple; bh=WPUIExjPnp53I2O1BKsv8P7GdLxYNIU3lQWWQ2a6akU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gKYAooEGzseLHbHJzHjoX3e+U7XQSVX2CQzNOD8xttDZv5na2C2sq1QP17QNyI4XA3GPnlh/1SkEDnR9noP/08QSCOArfJD8qewxqZ13pQluzt1v/V5Zj3OUYEHtN1KSii9dOx95xfeyMkKGMCm0/othr4FHDx3090/NwFuY8mc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=s5MizKgU; 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="s5MizKgU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58154C433F1; Sat, 30 Mar 2024 08:50:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788658; bh=WPUIExjPnp53I2O1BKsv8P7GdLxYNIU3lQWWQ2a6akU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s5MizKgUZiX7t4Nj8Zi8H76gmz47xAjJB4KOdL3nFOyE9rlZtzzOJNDp6Fk5h2rna +XjxiFxPfgtHT8+r1WWcACu+EnLopme184my3yHsBlyxu5RQcFDfEUmVhPLnOsycxQ 0frrPmHL/u1zzBkJUAllAEcLAyll9n0s9jvUCHJrSnAcVPcV6ib5T721myFB/V3otl qWQVesbyYNqG+hxBzKMKSxxPrzFaBei9vJiYRunsBcZjBsagDkGCv/A26xiBL33/Fb WQfKefpGTJZUwBXLi7bWrxpexsP/3g5Bzj2L5AlQwaNnrfZKd7KBlq7mESe/43HEGN VKEnROhGP8EYg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 3/8] selftests/bpf: Add MPTCP_SCHED_TEST macro Date: Sat, 30 Mar 2024 16:50:45 +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 856e06ad3246..d6653ce1fc36 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -496,6 +496,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 fail; \ + \ + nstoken =3D sched_init("subflow", "bpf_" #name); \ + if (!ASSERT_OK_PTR(nstoken, "sched_init:" #name)) \ + goto out; \ + \ + send_data_and_verify(#name, atoi(#addr1), atoi(#addr2));\ + \ + cleanup_netns(nstoken); \ +out: \ + bpf_link__destroy(link); \ +fail: \ + 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:38:11 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 92A691C0DDF for ; Sat, 30 Mar 2024 08:50: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=1711788659; cv=none; b=YfPWLYM0AsBNiKUbYZbvSA91edesFt8J9vlf4cqLPfWJ1cOVQodWUl67jfmtMGT59IAQluEm3mTdSex4cj+QOmx8irPUgNO8kbpja4mGCkuHXdF3MlZFvGys6YD50tlWlJXBs2WGx8iJvFeUAAVr6x1g/qSXdrD+IXHo0MKYqGU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788659; c=relaxed/simple; bh=F9GNsHTtMtnGK4AYgQAeQNIvLK5genneNdm1AB88Dv4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UCiJxzpUwV/zofwkZTgFj3VvOp5WfbJ+sbVRjdhWuUNeVMY+gRhI1Mgi0dWVN4Bt6SNeb1HXFYgW2SnAtDK2v0RtZ5HW6ttpebR1n0jAGG+V3OVOCHvhqM9aYrvZCRQCvUgmISs/JQ69cz4vRxIOqz4yvVSi8mSxrIk0XXSaWlI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kSpccSmg; 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="kSpccSmg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8D19C433C7; Sat, 30 Mar 2024 08:50:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788659; bh=F9GNsHTtMtnGK4AYgQAeQNIvLK5genneNdm1AB88Dv4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kSpccSmgsi7Ju+qxGI7Ie3EyNjV7K7L3c5a9Ghh5cjSICjQxelUaYnKQku3neA1Q6 3ZIrDuqK4UjNGkgUdUZzORa1YmfjTkoK272IeVdXtM7YIrqoWHOqE1ihhASHG/QVmS FMbJ6JRjjKbKp0BhAhk3hEJS5YOynrJFvIFx3RZGJKf1OQmgVQQXi126skL7Kcrzrd mUTsleZrKHG9XfNI4//j5rYvuG95XCxNTm959AB3JgEaI1egSKQMsRgazo9lje54rs 4XbCFjsIk5HrVVFwtb+dRWJnfw6sSA+yG6YOl08jtMBmpTq4totG7TXRIhOn/GEorv Y0IfvkJmB/eAg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 4/8] Squash to "selftests/bpf: Add bpf_first scheduler & test" Date: Sat, 30 Mar 2024 16:50:46 +0800 Message-Id: <713c1bbb9fb854a95a6605a9d9bc61465c17812d.1711788593.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 d6653ce1fc36..4bd24bb3d141 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -526,40 +526,7 @@ fail: \ 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) { @@ -712,8 +679,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:38:11 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 53DC41C0DDF for ; Sat, 30 Mar 2024 08:51: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=1711788661; cv=none; b=Ww/opEQKNxajWBF6Fr7sxiA2dXrMBWBSztcEFTLTCiqHJvWkeh3/4YHMGZJs0TpvPZRWHUeEu1KP5gbmNuYsQB4ceReTUJvF/LYb/13VCMbddvxnSApXTgPFBc3p08MwSk1YcjXkkgNbkRuhF0QeGfe3MCe2zym69OpO8wCJczY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788661; c=relaxed/simple; bh=ZCzF7C/U64v1ECj8ID64+ZalL/EVTw5HVvrNKLo1Xvo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ih/3SsWT73UBFfXlWvIj8parGF1SCHs7xhqC3YvJPQaSmOKKlLzaPDaksgA+OU5ClrpHjxIvzNv7GpvsWsEQbBfwFgb2USHFko+Tm9y6LdH0GZjImsmOalzm7V2eIkxxf3Nwa1tjDmd3qxD2VgD37TgbdzcheGqaRTBwnbJayUc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZnrJ4M9C; 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="ZnrJ4M9C" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EB28C43390; Sat, 30 Mar 2024 08:50:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788660; bh=ZCzF7C/U64v1ECj8ID64+ZalL/EVTw5HVvrNKLo1Xvo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZnrJ4M9CRnXpJwJCOpUbahKQMaIvVZbnxlSTO2UvWNcwus2l0DsaTMd+w/pJTmOOB 9v96U2R8c/SGLf4rUG+U0IaRgdyzRoSYG581xj5jp9KVNqvC18kIeyNYE8SIfo0BEN ms0274n5nkLSOd28LcR7Y5npwfbOIyHKcO3wmcm1HXWlz65++HTUcJpDxO2P70RiQy IsJV3ipGeukrvZTIANOgevbsmK3I3bFcOm8XnAFVBZEkr2iYa9pJgphtLWEBMKAIEE WIuXX93zWJE4oIutuIouTD87UpIOeMl2inmOkjZLhWN73jbD29IPnk5C1pqEtGz6Wu Wr5ee1quFhErw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 5/8] Squash to "selftests/bpf: Add bpf_bkup scheduler & test" Date: Sat, 30 Mar 2024 16:50:47 +0800 Message-Id: <0f189aca7329855788809553902719dee34bbd31.1711788593.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 4bd24bb3d141..d19dcec69edd 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -527,41 +527,7 @@ fail: \ } =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) { @@ -680,8 +646,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:38:11 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 6243E1364 for ; Sat, 30 Mar 2024 08:51:02 +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=1711788662; cv=none; b=RbCNuxzjz6oLjIzk+Bgkv0rl3qpttaryCxPQvWpUfxJSWzyghND6NvBV8buwJemRjkYWiAr/YM3gt5zujb8bvLWBcm1jZeIULgwZdpGaTaH4IX7dmak5KfAgdZ4vH0Uz7a249RHaOvhsFBbqnY/JyagT2fCuZdaaG73JLOcg79I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788662; c=relaxed/simple; bh=sR5Jn4KsYsDTT/Nn5B9MKmysvbj23znLpfZGr0MoqnE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MVsKAuTEqGlFbryknHkDjjxuDE//tX4hW60DocmYU2cR34ihWotDk+QEmW5sMmv08POll+qOxZO1YQM33+ZWxQR1Z62S2EpR+vb83cVpQzGvQTfDFVxIwvu9rJC2SfsrU4jF43w7ZzidYglx0iyVGgatiZjdH1/djr8A7YYatjI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kKM5T/b/; 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="kKM5T/b/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F877C433F1; Sat, 30 Mar 2024 08:51:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788662; bh=sR5Jn4KsYsDTT/Nn5B9MKmysvbj23znLpfZGr0MoqnE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kKM5T/b/ldZ5X80rPjPGsOmJzHWLLCQVw8PnsXKsvbdu5aIyYJxSe4SxG7v32Juo2 s93/eyZDg7+Fj+gtiyn+s/nctkFnF3TtRvdO8HR5vOrtLHcXYOaakG5aMSihB9q9tQ TzpOTRLnOpVh5LoHJB2f1XQwoO/Of0wcoEgDInd1JR2jeExWu2YKXMa+odrbrKQx8O DycThvALKflpDo52cuFk9CvWjI72wMBPhNY9kXL37x79zJdFZ8RunxmJjamWEct1EO 2wNzQmrgbKTKwsDoNeKWTEVq3lNuks6aCsjJ8Xro5r8NoRzH3+HsGTPPWl29h6PZt+ 7+rxvMafY3big== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 6/8] Squash to "selftests/bpf: Add bpf_rr scheduler & test" Date: Sat, 30 Mar 2024 16:50:48 +0800 Message-Id: <2853c378022b0fdefb0656f6e6d8349d74e01d09.1711788593.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 d19dcec69edd..693e77558850 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -528,41 +528,7 @@ fail: \ =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) { @@ -647,8 +613,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:38:11 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 F24D6320B for ; Sat, 30 Mar 2024 08:51: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=1711788664; cv=none; b=Gnfz2/KAPfaWMufCvzEpZMJx7EHCqFrd25WLUzcLisI/E4UAkgZJDwYzePcxRgBFGX//wO4rvlVqEXz3ZJegpRJK4Xy4/2Qr+AffXGi3cQ240tcaGMDa4ceHhrjhblk2l99SqvHJ2eUJWRdqZXtC6Zwd5x0l8QVFjpJv8/02kHk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788664; c=relaxed/simple; bh=n91R6W6k6FRdXGOlHPPJk+2fmJwjWtsbZMUfjUp/j20=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BtgPz1+PWrCoYPWRApVz9F28Qy0mkJMlp6KPfrYhjh5q7TGnveL6rEdaJkfTx01F8uA0P4eHjFqI98XtU/BZSoOu+ngNfKSZHf4eFi6YeOUF1lJkBuh/7mlLKWUjW5yrqArGA/mZ40ynI+wOsYxGRiIjs2lcPINErEG5Pr6vJls= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CcY3Hxze; 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="CcY3Hxze" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C06BEC433C7; Sat, 30 Mar 2024 08:51:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788663; bh=n91R6W6k6FRdXGOlHPPJk+2fmJwjWtsbZMUfjUp/j20=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CcY3HxzepF4hJ8BdQy37+3npoObAKK1ToFaMW1V8/dV0+u3gxXJkvpCNo5us+BlVr ihtdYvg6ez+TBYfL8DL0iboiMEYMyyvfNqNZiZl1BGUYeRGXtmoQvrZICEiLzpW/FO a6pbWqUze2jrp5f5JZXLHdFqHQAj/Rk/haQBP7TqHc5q0aucApZP1nPIIuPVjBMeho Odahih1hFT0zAhbY5poqbXJR4mRAG/ltjqK2W4fEk1wZxOLMqnueaPdV0O5V0G6Gdm Hu05PT0UJCpZUj2X9VoLArixj36g2C+K/JlOOdnOWv5UKbM7vwXlIN1KgqBXYzwPyP Dr2LvvT3tQbCg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 7/8] Squash to "selftests/bpf: Add bpf_red scheduler & test" Date: Sat, 30 Mar 2024 16:50:49 +0800 Message-Id: <8ca165618f4e5f11df06298c25d09215d63b6dd5.1711788593.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 693e77558850..7a580a259c9a 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -529,41 +529,7 @@ fail: \ 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) { @@ -614,8 +580,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:38:11 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 0C921320B for ; Sat, 30 Mar 2024 08:51:05 +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=1711788665; cv=none; b=fw0pHpuIJai533avDcbQOl/fjOHKyEFF7eIcf0dlM6sYczl+V25TDYuPR6Vp67CEVBZS0Wxxx2p1BrBhRMby9VeibHuuOA2/rHTeCLgoykU3oKFZBOhpd+8TnX0gmLvJ0SVCyA8w6d0dkIIrQdOB47FD4CFRPm79phcsLI4RSUM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711788665; c=relaxed/simple; bh=Mak82pO3I/3sJT4y6PFg2A/4TXdSe+EsarL0USWtafI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=V4wsZizTNHZzkUNrBY00RTSNtuyUcpvlC1NLXltM8BooSz8pb4q3mSCWS7R5gp+Z0wvIKmljkq/stGdEJChZgvMQmCzqydUhphJN8ZPsFf1gF5FlLLhvPxNb9MXJ1rjrag9wXtFAsGwCDf2o0t2TuoFRkaMBjfmP8/h9oYpwzDU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lvdUFNCl; 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="lvdUFNCl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D201C433F1; Sat, 30 Mar 2024 08:51:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711788664; bh=Mak82pO3I/3sJT4y6PFg2A/4TXdSe+EsarL0USWtafI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lvdUFNClbtJJrI8veQtMlaAuptHaOfGR4HgZ/dqrhRnCDYRpcamrEQU67GQptXhqd a7an0XVszOzSYECRprgQ8BOBXiYsgzsl6kPp5OxxBMGVKbZhtk13brvR1TGIbBeojT RVtVenowDW+TAX23HPmlC150pL4Fz3oz1YW4GD+k9arX0PnHoxXCGjAuwfJFjDP5Br tfjlxFVG1llEnxqB54XzeAuaXbwwn79QGu2U8B5kyChS9sofVATdDzA/8EGtVaMUn6 hjBTHMWOOR8JSUYG6P1rhpSO5kVx5SL33IQGUOt1lvwClbV/lTRUj0BeW8W+eDANQn xxnpnNRFAcV3w== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v3 8/8] Squash to "selftests/bpf: Add bpf_burst scheduler & test" Date: Sat, 30 Mar 2024 16:50:50 +0800 Message-Id: <5d3919677a5e8da16ebc5600ad7bc59b78b82d3f.1711788593.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 | 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 7a580a259c9a..8c778254c441 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -530,41 +530,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 { \ @@ -581,6 +547,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