From nobody Thu Nov 27 14:02:37 2025 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 3AE382F6166 for ; Mon, 24 Nov 2025 09:13: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=1763975594; cv=none; b=Rg0tkUrvDMaCaqhasAlvttbz7YwCNqJCv5TpsoP8tWMBfptvEqInqq9M4bfkm2z+tUQsUJjIlE+8J6/pk6w0EIy3Gsryq/shgzzXxPi1uTmDENyetkLIU/554hAe1u9LTT6U5ak9T8S+U7Fm9NFaoJeF0Syj5d/PD2ECLWEYGVY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763975594; c=relaxed/simple; bh=L5rk2EXj8ezGIiZDAqsurEpBgrACnOpXsGh8uDfLoR0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OaeR8hY+lL+el/kffb4vYNbnSJ6SK6g5BNlLQY6fog0YdMEAS+P097IOlonjbNyimfNa19e+WW7FWX5DPyIFQ5eXNkuLD9fReRd/Zzwc5NfM9FK+Yaw7AS7sqK+dcljvKJL5P9TrTbvGRMMTii6FUAOc9Ze1ZxfbAyIjtw9zT7I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=B2pPI3w4; 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="B2pPI3w4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AEBFCC116D0; Mon, 24 Nov 2025 09:13:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763975593; bh=L5rk2EXj8ezGIiZDAqsurEpBgrACnOpXsGh8uDfLoR0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=B2pPI3w4DbJmympHnOipV/mh14hP0dWGZBI/hwm4jkJJfwYQIBZ98EqaGLSwZ7Of8 00RK0kgOND/lzl30lqX3NFM0kN3simeosdKocU65OX/cie+rndFnBEORSQYDQ0q8jS ntyBYzb4uCHABInjXe/9STrAPPqqQIGBczm4cbi+YxwtU72KDNVP+DdAoNO5vgZD6g CmLnO9P8aGMb4UCiEhA00VpvEnRG0gAz7Jvtz7Ddw7eaWolXDr8J3kKxBuptqbcyyg hJ3Q7ltInl49ecgoRSGuZB7oufrsN0BrzeHEJsV2+nRVxyucflr/+i77l/frQRYVSi OZcoNgElPfCMA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v14 7/8] selftests: mptcp: add splice io mode Date: Mon, 24 Nov 2025 17:12:52 +0800 Message-ID: <33ec8d6e5b8c7d2a9c33008ea084c8df493e776f.1763974740.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.43.0 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 new 'splice' io mode for mptcp_connect to test the newly added read_sock() and splice_read() functions of MPTCP. do_splice() efficiently transfers data directly between two file descriptors (infd and outfd) without copying to userspace, using Linux's splice() system call. Usage: ./mptcp_connect.sh -m splice Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/mptcp_connect.c | 63 ++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.c b/tools/test= ing/selftests/net/mptcp/mptcp_connect.c index 55bbdcf19222..2e50d6f93640 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.c +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.c @@ -51,6 +51,7 @@ enum cfg_mode { CFG_MODE_POLL, CFG_MODE_MMAP, CFG_MODE_SENDFILE, + CFG_MODE_SPLICE, }; =20 enum cfg_peek { @@ -123,7 +124,7 @@ static void die_usage(void) fprintf(stderr, "\t-j -- add additional sleep at connection start and= tear down " "-- for MPJ tests\n"); fprintf(stderr, "\t-l -- listens mode, accepts incoming connection\n"= ); - fprintf(stderr, "\t-m [poll|mmap|sendfile] -- use poll(default)/mmap+writ= e/sendfile\n"); + fprintf(stderr, "\t-m [poll|mmap|sendfile|splice] -- use poll(default)/mm= ap+write/sendfile/splice\n"); fprintf(stderr, "\t-M mark -- set socket packet mark\n"); fprintf(stderr, "\t-o option -- test sockopt