From nobody Tue May 14 07:34:46 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 8A0E4364BF for ; Wed, 27 Mar 2024 09:02: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=1711530121; cv=none; b=ld2IgXjVxgmPBvFWUHC1yaA1RFKGdR1/uDm/X0U6KQ1gQwBXBk6SUX+jYNMiI4rPRK+9I3LciG3c+uTZzpQJWwTU/fLnrsvKTenC1XnS1hQKJ3iZgPSWP0xNGsicKn7isGZiglBmtxKjUAfpzYL4QSM/soyW4aB9LQA108eVv4s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530121; c=relaxed/simple; bh=nYOWAU7sfzIVHuhCPmcHon1XQI6uRYZDP32k3/YsPdQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=HaKodIWLrQ8qA1xiYnpjzcGJRH2WyeT2o/ZUQNUe9MEchm/l+cuISgRP8srJPVB2Ax1A2S7icPVYTlHcYLxv0SdjynTggG/W+NFZxA8N49BUE/EZIGhj46mABBetgF/6pZdcStLi7l9cAF53nZbrKtDjaA+Y3LxtmwmdPG3Dd+c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=I1TDSH8e; 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="I1TDSH8e" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 995DCC43399; Wed, 27 Mar 2024 09:01:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530121; bh=nYOWAU7sfzIVHuhCPmcHon1XQI6uRYZDP32k3/YsPdQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=I1TDSH8eIANEAttX0O0YQcmV6a/k1LkOOFG6zObm14A/wSrjRvoYiGPaXbK9Z9Ag4 s7kSQ6oz2vayCwWHRLpE5dnILTh/UjACtw+NLzdYTLnYuCHbhWVD9WIoxsSlA0lSxI I4HdCuO3JRC2h/rSoWTuYgfY/tApBxroLwkVmtIoPiVVCUswzsbahHsb/WRdXzL/fK /WJztV40QRmW0rEHmXtk3dys9GMCfo0fMcZd1Sw0PhS+Y9PXYwp5Bjv9uaJbSN6g7b lzGKD8ghjEPpK/NJUHcSLAwSXDgFye6/JUmSzSGh7hfZo2xz3ebSB5/3dQSXCQFCiK Jy0JmV59H0oGQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 01/11] Squash to "selftests/bpf: Add bpf scheduler test" fix Date: Wed, 27 Mar 2024 17:01:39 +0800 Message-Id: <93b646ade5fec9bf710a722bcf3ff29b3579b429.1711529752.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 BPF tests fail sometimes with "bytes !=3D total_bytes" errors: # test_default:PASS:sched_init:default 0 nsec # send_data:PASS:pthread_create 0 nsec # send_data:FAIL:recv 936000 !=3D 10485760 nr_recv:-1 errno:11 # default: 3041 ms # server:FAIL:send 7579500 !=3D 10485760 nr_sent:-1 errno:11 # send_data:FAIL:pthread_join thread_ret:-11 \ test_default:PASS:has_bytes_sent addr_1 0 nsec # test_default:PASS:has_bytes_sent addr_2 0 nsec # close_netns:PASS:setns 0 nsec Here errno 11 is EAGAIN, sending should continue in this case, not break. This patch makes BPF tests stable. Signed-off-by: Geliang Tang --- tools/testing/selftests/bpf/prog_tests/mptcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 6e28215d7404..7fec91ab19cf 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -353,7 +353,7 @@ static void *server(void *arg) while (bytes < total_bytes && !READ_ONCE(stop)) { nr_sent =3D send(fd, &batch, MIN(total_bytes - bytes, sizeof(batch)), 0); - if (nr_sent =3D=3D -1 && errno =3D=3D EINTR) + if (nr_sent =3D=3D -1 && (errno =3D=3D EINTR || errno =3D=3D EAGAIN)) continue; if (nr_sent =3D=3D -1) { err =3D -errno; @@ -397,7 +397,7 @@ static void send_data(int lfd, int fd, char *msg) while (bytes < total_bytes && !READ_ONCE(stop)) { nr_recv =3D recv(fd, &batch, MIN(total_bytes - bytes, sizeof(batch)), 0); - if (nr_recv =3D=3D -1 && errno =3D=3D EINTR) + if (nr_recv =3D=3D -1 && (errno =3D=3D EINTR || errno =3D=3D EAGAIN)) continue; if (nr_recv =3D=3D -1) break; --=20 2.40.1 From nobody Tue May 14 07:34:46 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 4EE2C31A76 for ; Wed, 27 Mar 2024 09:02: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=1711530123; cv=none; b=OTA+97JDabafED3HT0Qy2IHzp1wFggyOm9OpO+YLga56YgDORaP2XAh9CTUavTzUF2+h7eT5hnk4oNg3dknxPNSt73lARYrlJnbC9Sq2384/jL2NC06HS+2BmUSEMbg3C3SXTpAmhoA99e2WwNA+AURFyfk+CxrjkfPLIYQN8s0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530123; c=relaxed/simple; bh=zgggaveCRD4WI4GYq2Y9PJ3bHKjQu/I3gfEKdziM4mc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bayeuf32pJLMXQq9k27rImu+ediHSAvXka3FDHL6zQf48QkCigPB7vRXltzWwT+5UvqxVrOmi+C/8e6qfMpawJqfHNFvj4C6VEmYw2fmmAz2HKUngFW73Pp1sX4jN69guSWD1KCA6PYFeHlRCE8kvfIb8RjxlrpYpFYPJnAgC8A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=W8ATMlDr; 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="W8ATMlDr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A43E4C433F1; Wed, 27 Mar 2024 09:02:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530122; bh=zgggaveCRD4WI4GYq2Y9PJ3bHKjQu/I3gfEKdziM4mc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W8ATMlDr1AU3gQhyd2E+TCxdkxj4FY7TrN2eo2c43vKnUhiNdE+GuaSguEEu6OLqx nk0UkYsaPz773OUbxMugwl24meUr6ZSMdCahgXSv/aUibrAt7gFOcVnlv9IsC29S+h DmBdW4PG+zHXKO7LuiEAQas54okYsqSBT1D0A/LljRccZldi/JKheHURcNdrLypPnt G8eCBZV2GHo7qdoiViAa8Zbn0k5kYUXailUsRlucCOxOLK9Wg0h0l1UANp5nfahbMe r0GNOAFY5r+pMZ72qVSRQ4LocZMqcN8/wDMuOGFB5/TGMB5dhuN8hWcla0pqHbrCDm +1hZwZ+VmcjTg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 02/11] selftests/bpf: Add RUN_MPTCP_TEST macro Date: Wed, 27 Mar 2024 17:01:40 +0800 Message-Id: <5ad360a4e7c0f212366428344db9514b9b6f2220.1711529752.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 7fec91ab19cf..7df2640eabdd 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 Tue May 14 07:34:46 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 F31AF364D6 for ; Wed, 27 Mar 2024 09:02: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=1711530125; cv=none; b=MuGUIUegD8nzuBSSCIzmUz8+icl/9Ju3ZvW/Evfvz7h2mcfM1v6Y2S4mkmT014a/89+cTiVR9s9WmAIN1Sw78OsVZfeG4As24kwoQyaWAdM6Q8Y4ilguJ8NGmjZRxfYlkQZbInmcY/AUlFvnMq+Pd+1zc2WpTacirTeymQmM+AQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530125; c=relaxed/simple; bh=S0+kctrHQgktXLmfRi63oj2s6hctBrghW6AsPgATIqs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=G65caBssY/EP/EKwjHBrNk02hXsneOPJhqOfTbgU2hwxSoiYKoQUEu9MsWyyhvJLQIq/B0GHGy2He1w6+IazR+2pk5++xt4IDs2ufM7RosLOE7TbCHm4S5ItVAjVCcCBk0YyxYfEe/4ZXSuiw7yCw0zqBA54fdi1VYWk13haNLg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PKtH7o8e; 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="PKtH7o8e" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F0FDC433C7; Wed, 27 Mar 2024 09:02:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530124; bh=S0+kctrHQgktXLmfRi63oj2s6hctBrghW6AsPgATIqs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PKtH7o8edbQkrtl0x0yVjhVVbKO5j9BhlCAu1M2Nqyfc/15rmz6/z6czylI/iOc3J ZZAzhzVOP/BdPKNh51dJy4xtA7OAJtfY6+WK76fheeeoFqlipXkBaNZ0AT+jAwa/Mf /6HvQEbMSaJjiYpn4SxKaWnGEbrixubhu5/N7QzTYV41Gq7c4pQhmuNp+CcCXXyAob +qlIqGyaenyTlkHvxAELYLTTp3kGpNy3bSKeIO7ihcchOo2LXHTthANhT8d0sPs42f KXyssINFMSAfeEZOaFKIbgPHTH2uKgkGjpMUV39KELJTJC8MS/fhQ3+0LV35UXO4bm 1HUPX0xyqqbxQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 03/11] selftests/bpf: Add mptcp subflow example Date: Wed, 27 Mar 2024 17:01:41 +0800 Message-Id: <29bdb05adf61db416e75e0e14908110be412b45e.1711529752.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang Move Nicolas's patch into bpf selftests directory. This example added a test that was adding a different mark (SO_MARK) on each subflow, and changing the TCP CC only on the first subflow. This example shows how it is possible to: Identify the parent msk of an MPTCP subflow. Put different sockopt for each subflow of a same MPTCP connection. Here especially, we implemented two different behaviours: A socket mark (SOL_SOCKET SO_MARK) is put on each subflow of a same MPTCP connection. The order of creation of the current subflow defines its mark. The TCP CC algorithm of the very first subflow of an MPTCP connection is set to "reno". Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/76 Signed-off-by: Geliang Tang --- .../selftests/bpf/progs/mptcp_subflow.c | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_subflow.c diff --git a/tools/testing/selftests/bpf/progs/mptcp_subflow.c b/tools/test= ing/selftests/bpf/progs/mptcp_subflow.c new file mode 100644 index 000000000000..9553099ffd5f --- /dev/null +++ b/tools/testing/selftests/bpf/progs/mptcp_subflow.c @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2020, Tessares SA. */ +/* Copyright (c) 2024, Kylin Software */ +/* Author: Nicolas Rybowski */ + +#include // SOL_SOCKET, SO_MARK, ... +#include // TCP_CONGESTION +#include +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") =3D "GPL"; + +#ifndef SOL_TCP +#define SOL_TCP 6 +#endif + +#ifndef TCP_CA_NAME_MAX +#define TCP_CA_NAME_MAX 16 +#endif + +char cc[TCP_CA_NAME_MAX] =3D "reno"; + +/* Associate a subflow counter to each token */ +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(key_size, sizeof(__u32)); + __uint(value_size, sizeof(__u32)); + __uint(max_entries, 100); +} mptcp_sf SEC(".maps"); + +SEC("sockops") +int mptcp_subflow(struct bpf_sock_ops *skops) +{ + __u32 init =3D 1, key, mark, *cnt; + struct mptcp_sock *msk; + struct bpf_sock *sk; + int err; + + if (skops->op !=3D BPF_SOCK_OPS_TCP_CONNECT_CB) + return 1; + + sk =3D skops->sk; + if (!sk) + return 1; + + msk =3D bpf_skc_to_mptcp_sock(sk); + if (!msk) + return 1; + + key =3D msk->token; + cnt =3D bpf_map_lookup_elem(&mptcp_sf, &key); + if (cnt) { + /* A new subflow is added to an existing MPTCP connection */ + __sync_fetch_and_add(cnt, 1); + mark =3D *cnt; + } else { + /* A new MPTCP connection is just initiated and this is its primary + * subflow + */ + bpf_map_update_elem(&mptcp_sf, &key, &init, BPF_ANY); + mark =3D init; + } + + /* Set the mark of the subflow's socket to its apparition order */ + err =3D bpf_setsockopt(skops, SOL_SOCKET, SO_MARK, &mark, sizeof(mark)); + if (err < 0) + return 1; + if (mark =3D=3D 1) + err =3D bpf_setsockopt(skops, SOL_TCP, TCP_CONGESTION, cc, TCP_CA_NAME_M= AX); + + return 1; +} --=20 2.40.1 From nobody Tue May 14 07:34:46 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 AE0FC1EEFD for ; Wed, 27 Mar 2024 09:02: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=1711530126; cv=none; b=eiFGjolGwlLmhK20ZQ3D9jSrHRQ7JtGhT/4nyIm7aqqn4p+BK6iQr0LH2N/7W26GW7eP20T4kpdLH7uVB3N309tVjXg0xX/GAGVUlKMEJESfvD90WL7UcyfH/wHjN7PS8rkI6oNQd8nERFSOODyLpuI4ZhYZSXVteMQAVlUa0jU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530126; c=relaxed/simple; bh=U9sNVBNdIXHU/1rsivm1+i3uLoxW5LTixBEMWJWPKOU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jUpgUtbEO8GcasJspxfAv2YptbGlmBAfkN98s7t/e7u3f1Oi5yDEy30r1C0bfM+no17JzOzdcU0/YeTBzpn8WVyRlniYeahoc+mFahPEPgZINcOGEAlJeLscvc4dppUVSSVmVbjkvcMBVZnuq/Ld8T+fZmg88lCrZaP20Xt12b0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GfdrKsQV; 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="GfdrKsQV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2677DC433F1; Wed, 27 Mar 2024 09:02:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530126; bh=U9sNVBNdIXHU/1rsivm1+i3uLoxW5LTixBEMWJWPKOU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GfdrKsQV9jdN6fPGJrRL7ae7QQbHvZr2wqgnuJRMb9IpM7dNwxVJMCaiIELPfiLZt z/kt+gAdFnZ5rf6KfslFSiWWcNfdAqK8X+W5Qkq+6imwo60haA+YNPFcmsMj3ZuAkA 2rHDj6+FoLEkSbOG/3pgvwYyyboIMCJ6vG4AeKEC1XwGn+zgfMYY9AqFaOS2c7tS05 jw+McdZWteQhG7/lFefZH1CwJzlOxpFfy8rQbApu6g1jPDrrqKWdWeyR7nnFgKtGqP MpQjVfN+HGLMs16qLSxi2QwpssMyl/+VY9r5wOnGMQ5hkVYCVGWq8tzXNzkHoP3+fu eYVJAAAQm/Yug== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 04/11] selftests/bpf: Add mptcp subflow subtest Date: Wed, 27 Mar 2024 17:01:42 +0800 Message-Id: <0bb8fbd35adf2ed8e8bf3ee232fbcdcdada6da58.1711529752.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch adds a subtest named test_subflow to load and verify the newly added mptcp subflow example in test_mptcp. Add a helper endpoint_init() to add a new subflow endpoint. Add another helper has_in_subflow() to verify the fwmark and congestion values set by mptcp_subflow prog using setsockopts. Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/76 Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 7df2640eabdd..0aa250897ff9 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -10,6 +10,7 @@ #include "network_helpers.h" #include "mptcp_sock.skel.h" #include "mptcpify.skel.h" +#include "mptcp_subflow.skel.h" #include "mptcp_bpf_first.skel.h" #include "mptcp_bpf_bkup.skel.h" #include "mptcp_bpf_rr.skel.h" @@ -328,6 +329,98 @@ static void test_mptcpify(void) close(cgroup_fd); } =20 +#define ADDR_1 "10.0.1.1" +#define ADDR_2 "10.0.1.2" +#define PORT_1 10001 + +static int endpoint_init(char *flags) +{ + SYS(fail, "ip -net %s link add veth1 type veth peer name veth2", NS_TEST); + SYS(fail, "ip -net %s addr add %s/24 dev veth1", NS_TEST, ADDR_1); + SYS(fail, "ip -net %s link set dev veth1 up", NS_TEST); + SYS(fail, "ip -net %s addr add %s/24 dev veth2", NS_TEST, ADDR_2); + SYS(fail, "ip -net %s link set dev veth2 up", NS_TEST); + SYS(fail, "ip -net %s mptcp endpoint add %s %s", NS_TEST, ADDR_2, flags); + + return 0; +fail: + return -1; +} + +static int _ss_search(char *src, char *dst, char *port, char *keyword) +{ + char cmd[128]; + + snprintf(cmd, sizeof(cmd), + "ip netns exec %s ss -Menita src %s dst %s %s %d | grep -q '%s'", + NS_TEST, src, dst, port, PORT_1, keyword); + return system(cmd); +} + +static int ss_search(char *src, char *keyword) +{ + return _ss_search(src, ADDR_1, "dport", keyword); +} + +static void run_test_subflow(int cgroup_fd) +{ + int server_fd, client_fd, prog_fd, err; + struct mptcp_subflow *skel; + + skel =3D mptcp_subflow__open_and_load(); + if (!ASSERT_OK_PTR(skel, "skel_load")) + goto cleanup; + + prog_fd =3D bpf_program__fd(skel->progs.mptcp_subflow); + err =3D bpf_prog_attach(prog_fd, cgroup_fd, BPF_CGROUP_SOCK_OPS, 0); + if (!ASSERT_OK(err, "bpf_prog_attach")) + goto cleanup; + + server_fd =3D start_mptcp_server(AF_INET, ADDR_1, PORT_1, 0); + if (!ASSERT_GE(server_fd, 0, "start_mptcp_server")) + goto cleanup; + + client_fd =3D connect_to_fd(server_fd, 0); + if (!ASSERT_GE(client_fd, 0, "connect to fd")) + goto close_server; + + send_byte(client_fd); + + ASSERT_OK(ss_search(ADDR_1, "fwmark:0x1"), "ss_search fwmark:0x1"); + ASSERT_OK(ss_search(ADDR_2, "fwmark:0x2"), "ss_search fwmark:0x2"); + ASSERT_OK(ss_search(ADDR_1, "reno"), "ss_search reno"); + ASSERT_OK(ss_search(ADDR_2, "cubic"), "ss_search cubic"); + + close(client_fd); +close_server: + close(server_fd); +cleanup: + mptcp_subflow__destroy(skel); +} + +void test_subflow(void) +{ + struct nstoken *nstoken =3D NULL; + int cgroup_fd; + + cgroup_fd =3D test__join_cgroup("/mptcp_subflow"); + if (!ASSERT_GE(cgroup_fd, 0, "test__join_cgroup")) + return; + + nstoken =3D create_netns(); + if (!ASSERT_OK_PTR(nstoken, "create_netns")) + goto fail; + + if (!ASSERT_OK(endpoint_init("subflow"), "endpoint_init")) + goto fail; + + run_test_subflow(cgroup_fd); + +fail: + cleanup_netns(nstoken); + close(cgroup_fd); +} + static const unsigned int total_bytes =3D 10 * 1024 * 1024; static int stop, duration; =20 @@ -661,6 +754,7 @@ void test_mptcp(void) { RUN_MPTCP_TEST(base); RUN_MPTCP_TEST(mptcpify); + RUN_MPTCP_TEST(subflow); if (test__start_subtest("default")) test_default(); if (test__start_subtest("first")) --=20 2.40.1 From nobody Tue May 14 07:34:46 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 B819F364AE for ; Wed, 27 Mar 2024 09:02:08 +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=1711530128; cv=none; b=LEunZh5NzxE8JOIxg4JJvtN8mzjvSnRlUk6kuT8acjY/W9oSZJJZSg9P4PDUczp7E6q8DEPxyJ//5Y2Ue/fV9cbJDdADkJXG0CAAI0aYbeQdzFwAm8PStkZuB5noN9WP8JGcVCLx6+sPmNUNrWUMJYYVhKaZuUa0eYW/JPfgLzM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530128; c=relaxed/simple; bh=58VQ4LZ3uadnyq+ERKQ3Tbhadm4sbhkxo8C/mxcvUH8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tx+H8HgKLj6OuLhvI1XAK75ksCjJ+AzwWPrnI2wBxToWpp7HkC2QwO0p9ZVKOIZajV8xaRvKkPi0bcToiwpb8gOFer+Ct5OMdFMaI/iNBmD5yeKU2NLpUExO6UYqUnedY5T4JhREpJ2Mqp8EGZJVCQDFfd7DdDcojhrUD2RTQ3w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qaWsIV6M; 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="qaWsIV6M" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 011D0C433C7; Wed, 27 Mar 2024 09:02:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530128; bh=58VQ4LZ3uadnyq+ERKQ3Tbhadm4sbhkxo8C/mxcvUH8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qaWsIV6Mts31dKCJJoMUfKDwT0x4ADSAx8Uw1W/iEJysF6OqzYTEGGXp6D1yW1Efn T7zu4Orp2Ye5XFMKrrNoAg9fufxW2pk2RwSyNsfqpUmu+PXc2Xnhr1ndFD+3YUaE6r AnkZMDQE6/NqIxdm0Bj2DHiJNmrxAVGYzS/gVudaGrNTqsmMEQIz+F9+QkpzZvBMi2 ovh4JVyTihrw9hJIvF2nstz6L7PEv95H6RxUR3wibvWAd+DVC+amQKMQuo2Y7RRMxZ a5dfJ++2zCgtQj34CxTDFOxtjAegmYWmRZBqxX5pD2ubI+4MBXMWGIThIOyG3nhGi9 uurx3JtKGk9tw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 05/11] Squash to "selftests/bpf: Add bpf scheduler test" - cleanups Date: Wed, 27 Mar 2024 17:01:43 +0800 Message-Id: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang Some cleanups. Use ASSERT_EQ and ASSERT_OK like below commit: selftests/bpf: Replaces the usage of CHECK calls for ASSERTs in bpf_tcp_ca Use newly added endpoint_init and _ss_search helpers. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 43 ++++++------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 0aa250897ff9..64c5f6404784 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -422,7 +422,7 @@ void test_subflow(void) } =20 static const unsigned int total_bytes =3D 10 * 1024 * 1024; -static int stop, duration; +static int stop; =20 static void *server(void *arg) { @@ -455,8 +455,7 @@ static void *server(void *arg) bytes +=3D nr_sent; } =20 - CHECK(bytes !=3D total_bytes, "send", "%zd !=3D %u nr_sent:%zd errno:%d\n= ", - bytes, total_bytes, nr_sent, errno); + ASSERT_EQ(bytes, total_bytes, "send"); =20 done: if (fd >=3D 0) @@ -479,11 +478,12 @@ static void send_data(int lfd, int fd, char *msg) int err; =20 WRITE_ONCE(stop, 0); + if (clock_gettime(CLOCK_MONOTONIC, &start) < 0) return; =20 err =3D pthread_create(&srv_thread, NULL, server, (void *)(long)lfd); - if (CHECK(err !=3D 0, "pthread_create", "err:%d errno:%d\n", err, errno)) + if (!ASSERT_OK(err, "pthread_create")) return; =20 /* recv total_bytes */ @@ -501,51 +501,37 @@ static void send_data(int lfd, int fd, char *msg) return; =20 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); - printf("%s: %u ms\n", msg, delta_ms); =20 - WRITE_ONCE(stop, 1); + ASSERT_EQ(bytes, total_bytes, "recv"); =20 + WRITE_ONCE(stop, 1); pthread_join(srv_thread, &thread_ret); - CHECK(IS_ERR(thread_ret), "pthread_join", "thread_ret:%ld", - PTR_ERR(thread_ret)); + ASSERT_OK(IS_ERR(thread_ret), "thread_ret"); } =20 -#define ADDR_1 "10.0.1.1" -#define ADDR_2 "10.0.1.2" -#define PORT_1 10001 - static struct nstoken *sched_init(char *flags, char *sched) { struct nstoken *nstoken; =20 nstoken =3D create_netns(); if (!ASSERT_OK_PTR(nstoken, "create_netns")) + return NULL; + + if (!ASSERT_OK(endpoint_init("subflow"), "endpoint_init")) goto fail; =20 - SYS(fail, "ip -net %s link add veth1 type veth peer name veth2", NS_TEST); - SYS(fail, "ip -net %s addr add %s/24 dev veth1", NS_TEST, ADDR_1); - SYS(fail, "ip -net %s link set dev veth1 up", NS_TEST); - SYS(fail, "ip -net %s addr add %s/24 dev veth2", NS_TEST, ADDR_2); - SYS(fail, "ip -net %s link set dev veth2 up", NS_TEST); - SYS(fail, "ip -net %s mptcp endpoint add %s %s", NS_TEST, ADDR_2, flags); SYS(fail, "ip netns exec %s sysctl -qw net.mptcp.scheduler=3D%s", NS_TEST= , sched); =20 return nstoken; fail: + cleanup_netns(nstoken); return NULL; } =20 -static int has_bytes_sent(char *addr) +static int has_bytes_sent(char *dst) { - char cmd[128]; - - 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:"); - return system(cmd); + return _ss_search(ADDR_1, dst, "sport", "bytes_sent:"); } =20 static void test_default(void) @@ -755,8 +741,7 @@ void test_mptcp(void) RUN_MPTCP_TEST(base); RUN_MPTCP_TEST(mptcpify); RUN_MPTCP_TEST(subflow); - 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 Tue May 14 07:34:46 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 7813B31A76 for ; Wed, 27 Mar 2024 09:02:10 +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=1711530130; cv=none; b=CEghZPno2bwKwDKO1j5V/ftK3S9glZjkiZ5fZeLksiGYABS5+TOAklsVUWUzztSaghmj0silFWaCgUObnY4gjBYq7gxSwe1So6dO1AM6kG1uhXA1WQedcvz89FfCZS8XiAjZK94eKm0NQvLn6D71NXu20sbZDRu2uM+gQ/VdWIA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530130; c=relaxed/simple; bh=5rB12x6TrqgkX/N9c+/aNQiVysuTLr977o0FUaF0e/s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=T/AGO4082BR3ybV1wZWys61kdrvlm5py9MK2rUx7hDXg5hsMVwEBVokxmKOkXmtDVXRYNVq47UTRqMRhcNcMDjUnOnXX+Yt3eZqAJEqeoYlPjOZB7gmDezySVWXOHI3K2ndib/sYCXAVAVlfiDPFxTSh7lNcg5C3HGinTtJjM6w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Eik26j+p; 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="Eik26j+p" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CFACAC433F1; Wed, 27 Mar 2024 09:02:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530130; bh=5rB12x6TrqgkX/N9c+/aNQiVysuTLr977o0FUaF0e/s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Eik26j+pBp8Lj0jO/6y7QmR2roVGPWid40l4PZ7vS86LfV3OOmX4cDLd02AaBYMNE mhcDr92Xd02Bwdy0B37kQF8CERfkPrGHBLaa1+50usTJSJZ6HFz42uCVtVJz+70720 Kn1D5xAbGy6H77OU2vPaimzJRBQnXDwSZUHW506/34o9fQ2tvzlq3EYV8uYL4hijuB YjZ/3AUfCf+nOXto+2YK5Dxf7cw6CjSRRRGHIN9sbTARL5odCIa5zwZwAiYGTuVy3s 6YwPNZFtnNATg/fLyn/EkRQ2pg9TwM+5VYLI7ET5kNZ7vD1xWRLXZKx1bGp/crd/K7 nPHfTLirR6fNw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 06/11] Squash to "selftests/bpf: Add bpf scheduler test" - add send_data_and_verify Date: Wed, 27 Mar 2024 17:01:44 +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 Add send_data_and_verify helper. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index 64c5f6404784..f86ae0be0167 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -534,23 +534,41 @@ static int has_bytes_sent(char *dst) return _ss_search(ADDR_1, dst, "sport", "bytes_sent:"); } =20 -static void test_default(void) +static void send_data_and_verify(char *msg, int has_bytes_sent_addr_2) { 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")) { + 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"); + send_data(server_fd, client_fd, msg); + ASSERT_OK(has_bytes_sent(ADDR_1), "Should have bytes_sent on addr_1"); + if (has_bytes_sent_addr_2) + ASSERT_OK(has_bytes_sent(ADDR_2), "Should have bytes_sent on addr_2"); + else + ASSERT_GT(has_bytes_sent(ADDR_2), 0, "Shouldn't have bytes_sent on addr_= 2"); =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); + fail: cleanup_netns(nstoken); } --=20 2.40.1 From nobody Tue May 14 07:34:46 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 07B5B364B4 for ; Wed, 27 Mar 2024 09:02:12 +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=1711530132; cv=none; b=tz8+Pvg3aDBGTsxoIhOkP83K8DnLhFfr4ThFNa8718ADGRkGCRQFmQOlFKKEwMDmOzmCF4527SvH9GOanZ2WNVHNKKbyKEAC/Syu42kfJ3MGTiSrzDbOlaZB9T+D2UacDvvBS4TVDHYlChtj+GeODpPkNKXDauTva7noew9+ixk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530132; c=relaxed/simple; bh=Hv2E/3cxt/XM8xulJetUYfOErbQPb40P4WzTP4Ibc10=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=vF6t4uSFMRq3p954dIlxFs33aOyhwM0jX8FhbtoRVF2Jfq8m7N1XzGB4gJLAeeQ293iL3r8QTbzlnw2vAmH3iYu7ZE3a7URT7JQcl4t20iE+43GqYxHGifTWGrQy2ITVpeKppTYlI+7Jx8bCH2XV2yKtAGh3bF6EMcdP+nCM+E8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CYejpAKM; 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="CYejpAKM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6EDFC433C7; Wed, 27 Mar 2024 09:02:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530131; bh=Hv2E/3cxt/XM8xulJetUYfOErbQPb40P4WzTP4Ibc10=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CYejpAKMsF1czkng6/U+079vqOHCmMAWYotwaNM3ZyxHdynV5hCA5+82rIvY5YEcV mnUoXnd0L2S2hWRzv+dZwJamciSzpTGf/T3EBINpxDT539WWrSa1r5/1U7X9+L6Pu+ NLwn7m58cBJYsfbI6jAaaFW3o2TIvt5ch0s1PmNI1Q5g9I2EZ7o+rmJZj56GXg3VEV n5VHMvdUhcPZX2i9U6uer+4AyZaoK4wA/mlyB/UMxng6+UklWMkgAWyyiAOz0NYGl6 0RKl4L1EXF8x4HZkdv7aR1EkWBquGnB0mX1NK+DMvOP/cPtqMX9wO/IkEEvViEsF85 aSK7gMN539xrg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 07/11] Squash to "selftests/bpf: Add bpf_first test" Date: Wed, 27 Mar 2024 17:01:45 +0800 Message-Id: <9dea707f379c76dcf547372030f878894c57141e.1711529752.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 Use SCHED_TEST macro. Signed-off-by: Geliang Tang --- .../testing/selftests/bpf/prog_tests/mptcp.c | 66 +++++++++---------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/mptcp.c b/tools/testing= /selftests/bpf/prog_tests/mptcp.c index f86ae0be0167..8d3e2ab9b16a 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -573,41 +573,38 @@ static void test_default(void) cleanup_netns(nstoken); } =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); +#define SCHED_TEST(name, 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(#addr2)); \ + \ + cleanup_netns(nstoken); \ +out: \ + bpf_link__destroy(link); \ +fail: \ + mptcp_bpf_##name##__destroy(skel); \ } =20 +SCHED_TEST(first, 0); + static void test_bkup(void) { struct mptcp_bpf_bkup *bkup_skel; @@ -760,8 +757,7 @@ void test_mptcp(void) RUN_MPTCP_TEST(mptcpify); RUN_MPTCP_TEST(subflow); 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 Tue May 14 07:34:46 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 3D23536138 for ; Wed, 27 Mar 2024 09:02:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530134; cv=none; b=tGZh8AwaIFiZqk5GYM7CEjqIahv3nnKMWHQkMj0Vys5w6f2q5+5za39PDxNNVyg2uE+j71xidpc3Dqw7Tt2K7Up6QHBd2WClNF/6SCYw+RargVgiEOL78gSUvGcrIzmOYJMF3T7tUWkyF3x0aacbBZztAPh0VMfWFwzQpjjg1zM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530134; c=relaxed/simple; bh=q3t5lLU7GyJRfUArGS0LRF5osIoUerU+BunpUgOgv8s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YdJnG0wFvgCjtpKv/li3x/CzMjxhVpkCEIJzk2/FiInslnnnZ/5OhWuSS3bsDS3rvdRzWF81EmKvXfvlUWf6RrquwbJZgVZFePUX9fbVscnYp6wQQfzlK/t22U2HNvMzQDdthPEUgVMwy/PtXlZ75EFuvwxmtuS89hoRjmQhQ8c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nO2A+F6r; 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="nO2A+F6r" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81113C433C7; Wed, 27 Mar 2024 09:02:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530133; bh=q3t5lLU7GyJRfUArGS0LRF5osIoUerU+BunpUgOgv8s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nO2A+F6rPwwmtDQnH+HcCcIE3NufU0e+N8ydJtOH1cYk6evCTR41512lok1rB4foM blCi+gs1cB211kPGDc7M89c35wrACF84AAd4Y7sj2jdD5x8s7cua0GJsBexNCqYS82 4oS0Twne2z8FOUOtUdL28KSfEs6UMk7jHdo3Jtr6xT7WWDXpDn6LgGMyrNgD/9VFl2 EbLEda4aCaHnBxIixqIkD8rAWZUao3qQWPOhgb2otH1QJ+UzFNaMpSQKF5+jWix2Mm bYrpSdvnhvOjK39GZ2b+WHoCzU+pheeYgqwqyPKGfcYTPN233R/FOe2YqxqTJlLsFE aCnlGupD9xwxQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 08/11] Squash to "selftests/bpf: Add bpf_bkup test" Date: Wed, 27 Mar 2024 17:01:46 +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 Use SCHED_TEST and RUN_MPTCP_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 8d3e2ab9b16a..7ccc63ee763b 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -604,41 +604,7 @@ fail: \ } =20 SCHED_TEST(first, 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); -} +SCHED_TEST(bkup, 0); =20 static void test_rr(void) { @@ -758,8 +724,7 @@ void test_mptcp(void) RUN_MPTCP_TEST(subflow); 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 Tue May 14 07:34:46 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 A70661EEFD for ; Wed, 27 Mar 2024 09:02: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=1711530135; cv=none; b=IC85pB3outQxQtFT2RiLY+avAeQQCrGTB4V0+sotfOWIC/j8iyqDYaFirwoLk5S95LjdJT5uXPo9rfEdh2c9UimNPf9UjBGSQAjNO0JQfM7cY/fpehR2Ya60WeOiFafjqSlNkNyKtmU1aQ8fDVXL4UMryacjv1GFGQ/QyoHHRmw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530135; c=relaxed/simple; bh=duYDBXiKNHmzjjxLqarX3Z1TW568+L2U+ZqkY/JRoWs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DYKOwWw6+Et9MhKS4Gm3B2+xWdzFUov9py3B/qAxVoitkXOyBFMTf0/LPycQPfG1O6mjSaMpnBElRRR014vxCMgMALMHKhU8CtcAz81s3l+nD8r/E1hEWAgoFcSKfLEiMQuRgtxmEEiWa9fJHUwqvPrtsGH3Vt3UvAHwK6bMTr8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ScUlnkFe; 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="ScUlnkFe" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73C46C433F1; Wed, 27 Mar 2024 09:02:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530135; bh=duYDBXiKNHmzjjxLqarX3Z1TW568+L2U+ZqkY/JRoWs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ScUlnkFeNTV4dOqUyhaLNFBNTiYwOAunOWZPn+UY5sG1GfBBuaxmkEYP0/pxmX6bz i0/UkvmmjHUNDOhZVbK3Xas10hEoP6wdFRS+tXvYybNGj4PwImFFdd1fxKJypKWP9F 51K8+nhvjSI66xqWfYCAazX5ng77JWurCi5MigpfAnkvNwzgKzmyc99moy5qDSC6Vl xaU+vU4TgAZLkq77358ZfpXJ0N3ury5HhJdJxVIPAQadFfG1ZMvlMPTqEA+/9KMmu0 wg94Ja+0RcvdGIrd5SOXVQAbSrKONA1a+/pz0yCBAAI3Pjezh+jP1hzEk51gmQTgJb 9EmkPpm3wBZJw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 09/11] Squash to "selftests/bpf: Add bpf_rr test" Date: Wed, 27 Mar 2024 17:01:47 +0800 Message-Id: <4090340ecf4974c2f9936e5077a8d8d4141f78d7.1711529752.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 Use SCHED_TEST and RUN_MPTCP_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 7ccc63ee763b..f7afb5e4b687 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -605,41 +605,7 @@ fail: \ =20 SCHED_TEST(first, 0); SCHED_TEST(bkup, 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); -} +SCHED_TEST(rr, 1); =20 static void test_red(void) { @@ -725,8 +691,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 Tue May 14 07:34:46 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 BFFA31EEFD for ; Wed, 27 Mar 2024 09:02: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=1711530137; cv=none; b=Eteq0tXSfBzy8V6JWvA8rzMSLdylS+W88VsbYm8nkIhzlcqYdpnL2XSUUSSldn0jWs/oTqnx1fa31Y04MulgT54YPPU78hoZ4yDs++CAZxHz2ICT4dtMiZOXN6BZGJ25I9Fmrp+xHihxG5MzmKCz0dbaDUyCabYBoKSg924zaZU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530137; c=relaxed/simple; bh=WbLFwpqbLlC6Tg4iBQ5y+wGhgYXsfekNXJg/HXZSxHE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=n9UCd1+NeUQnl0e5fhxi/5di3Nf7ORFHY0utb6CXg7F44phQ5a2A2JZ4On79GTomoj4qVyWkmXbrJyPGvJ+WAr1QYwdxaOAEOOEcjuFprfXO3JhRgnF3VPmIIE9hhpQa3PUDNUHkYPw9P7pH5sXmIUzDz5JJvcYkc/Iiwe6Lp8k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VCl6jutp; 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="VCl6jutp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 344DAC433F1; Wed, 27 Mar 2024 09:02:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530137; bh=WbLFwpqbLlC6Tg4iBQ5y+wGhgYXsfekNXJg/HXZSxHE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VCl6jutpwNw1PDpN6Y89uOEK73LzNp/rRaG1CLl9910TOVQ8oi9QC9H8mhFpThEzq c7E2O4Y5ug0F8KDCgeAjrSmG8oh5xqfgygWDq79VvRji7g349i41sugMBm75yWFHW8 fIxdv1u73rqrmsM6aMB6fhDIDJoGBri4EJ/L+jE1r/WTj/aM/86LVudXKatVoyht0f pzHCYcvoJFaYXwPhuPJBc+joJn+96P8j0022k1XPwVRPVHmeyYDcb/smyu+MTEK8Qc qU0uJuYD0ItRNjgTIpciCyeiCBXahZAn1tXRZhLTTeEylMIFpjUmf9p1v72eeTNld6 /BDSRZeHE4gqA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 10/11] Squash to "selftests/bpf: Add bpf_red test" Date: Wed, 27 Mar 2024 17:01:48 +0800 Message-Id: <4390947889df9abe8e22846c2807484eb6999f4a.1711529752.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 Use SCHED_TEST and RUN_MPTCP_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 f7afb5e4b687..04a46a41c964 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -606,41 +606,7 @@ fail: \ SCHED_TEST(first, 0); SCHED_TEST(bkup, 0); SCHED_TEST(rr, 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); -} +SCHED_TEST(red, 1); =20 static void test_burst(void) { @@ -692,8 +658,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 Tue May 14 07:34:46 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 5ADBB1EEFD for ; Wed, 27 Mar 2024 09:02: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=1711530139; cv=none; b=NIVXI2B/7PDhemOaSzQ5TLHHtF4irLfH4TYFjtokaVbYKTl7W7wLgokKqEYOZ1jlW66mQRtGbm0q3yOrTPl+LH0Qe5jBAnxPgkeLOY+D8uFwBRaxOdzDM1NuXJ2bTUZsouvYZSlpTqhM9dt5UrqbPX/29Kp05SyYGLa7wPEutf4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711530139; c=relaxed/simple; bh=ZG1JrJhuYuGwcwbv4QD/003d6Y3qfkvLmLCAd45cihY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pQOc1gDIf3e/iVfJXzrNiuWpzjIi1BH8KRtL5gKnmLVrazezA5599NIF38SU4zYw56SRPEImzqr0sRoKTcEGyovWw7l9Z2Jhb+YjDEB+cjsJMmPlUWuGB9qVnK0jHvMytJ7r4Q8YSUVQOuGW6i8DCoTke5eXZJ+YarhC+P5RYRk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jDAomcGU; 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="jDAomcGU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0E1C6C43399; Wed, 27 Mar 2024 09:02:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711530139; bh=ZG1JrJhuYuGwcwbv4QD/003d6Y3qfkvLmLCAd45cihY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jDAomcGUVijl4opwocRiZo3VTNAIyfr4oA2e/28xlCp5XILY33VcZnIbY1o1Zaj/N O4pb4otQZXC3hrxpQThRXb4OBvS+bXo+/irF/kbiZkt4bcySuQUsBliDbj8uYfpG2h ttvfn3zqDnB8dp/ILlBGJL/79aqXlR7akcYDTiP/eB5GHSx92Vxg5fft3ZcTyDmNVY e60VNytINyH+ZQ1CPfQR9zPJpaHgOFDi+gm7mmNDzcbRzm5rrDeb98UtrYxuiZ43YQ 7Z5Hy8A1yOXQ1iRKrUoIs+q6ne3OA9okVn6KPMowduLF3r/+aUCqYKsPPlj7T1dOCz UtLAKl5d+dC2w== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v4 11/11] Squash to "selftests/bpf: Add bpf_burst test" Date: Wed, 27 Mar 2024 17:01:49 +0800 Message-Id: <9df3ed214b3fdee9e6353aacd3a21635996eeb96.1711529752.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 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 04a46a41c964..890791270b84 100644 --- a/tools/testing/selftests/bpf/prog_tests/mptcp.c +++ b/tools/testing/selftests/bpf/prog_tests/mptcp.c @@ -607,41 +607,7 @@ SCHED_TEST(first, 0); SCHED_TEST(bkup, 0); SCHED_TEST(rr, 1); SCHED_TEST(red, 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); -} +SCHED_TEST(burst, 1); =20 #define RUN_MPTCP_TEST(suffix) \ do { \ @@ -659,6 +625,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