linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 0/2] selftests: mptcp: connect: cover alt modes
@ 2025-07-14 15:52 Matthieu Baerts (NGI0)
  2025-07-14 15:52 ` [PATCH net 1/2] selftests: mptcp: connect: also " Matthieu Baerts (NGI0)
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-07-14 15:52 UTC (permalink / raw)
  To: mptcp, Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, Shuah Khan,
	Christoph Paasch, Davide Caratti
  Cc: Florian Westphal, linux-kernel, netdev, linux-kselftest,
	Matthieu Baerts (NGI0), stable

mptcp_connect.sh can be executed manually with "-m <MODE>" and "-C" to
make sure everything works as expected when using "mmap" and "sendfile"
modes instead of "poll", and with the MPTCP checksum support.

These modes should be validated, but they are not when the selftests are
executed via the kselftest helpers. It means that most CIs validating
these selftests, like NIPA for the net development trees and LKFT for
the stable ones, are not covering these modes.

To fix that, new test programs have been added, simply calling
mptcp_connect.sh with the right parameters.

The first patch can be backported up to v5.6, and the second one up to
v5.14.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Matthieu Baerts (NGI0) (2):
      selftests: mptcp: connect: also cover alt modes
      selftests: mptcp: connect: also cover checksum

 tools/testing/selftests/net/mptcp/Makefile                  | 3 ++-
 tools/testing/selftests/net/mptcp/mptcp_connect_checksum.sh | 4 ++++
 tools/testing/selftests/net/mptcp/mptcp_connect_mmap.sh     | 4 ++++
 tools/testing/selftests/net/mptcp/mptcp_connect_sendfile.sh | 4 ++++
 4 files changed, 14 insertions(+), 1 deletion(-)
---
base-commit: b640daa2822a39ff76e70200cb2b7b892b896dce
change-id: 20250714-net-mptcp-sft-connect-alt-c1aaf073ef4e

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH net 1/2] selftests: mptcp: connect: also cover alt modes
  2025-07-14 15:52 [PATCH net 0/2] selftests: mptcp: connect: cover alt modes Matthieu Baerts (NGI0)
@ 2025-07-14 15:52 ` Matthieu Baerts (NGI0)
  2025-07-14 15:52 ` [PATCH net 2/2] selftests: mptcp: connect: also cover checksum Matthieu Baerts (NGI0)
  2025-07-15  9:05 ` [PATCH net 0/2] selftests: mptcp: connect: cover alt modes Matthieu Baerts
  2 siblings, 0 replies; 4+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-07-14 15:52 UTC (permalink / raw)
  To: mptcp, Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, Shuah Khan,
	Christoph Paasch, Davide Caratti
  Cc: Florian Westphal, linux-kernel, netdev, linux-kselftest,
	Matthieu Baerts (NGI0), stable

The "mmap" and "sendfile" alternate modes for mptcp_connect.sh/.c are
available from the beginning, but only tested when mptcp_connect.sh is
manually launched with "-m mmap" or "-m sendfile", not via the
kselftests helpers.

The MPTCP CI was manually running "mptcp_connect.sh -m mmap", but not
"-m sendfile". Plus other CIs, especially the ones validating the stable
releases, were not validating these alternate modes.

To make sure these modes are validated by these CIs, add two new test
programs executing mptcp_connect.sh with the alternate modes.

Fixes: 048d19d444be ("mptcp: add basic kselftest for mptcp")
Cc: stable@vger.kernel.org
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/mptcp/Makefile                  | 3 ++-
 tools/testing/selftests/net/mptcp/mptcp_connect_mmap.sh     | 4 ++++
 tools/testing/selftests/net/mptcp/mptcp_connect_sendfile.sh | 4 ++++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/selftests/net/mptcp/Makefile
index e47788bfa671313f21d5ba95821121cdc3e5d2c7..c6b030babba8cf888101d6af44f3e56fe5ab831b 100644
--- a/tools/testing/selftests/net/mptcp/Makefile
+++ b/tools/testing/selftests/net/mptcp/Makefile
@@ -4,7 +4,8 @@ top_srcdir = ../../../../..
 
 CFLAGS += -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES)
 
-TEST_PROGS := mptcp_connect.sh pm_netlink.sh mptcp_join.sh diag.sh \
+TEST_PROGS := mptcp_connect.sh mptcp_connect_mmap.sh mptcp_connect_sendfile.sh \
+	      pm_netlink.sh mptcp_join.sh diag.sh \
 	      simult_flows.sh mptcp_sockopt.sh userspace_pm.sh
 
 TEST_GEN_FILES = mptcp_connect pm_nl_ctl mptcp_sockopt mptcp_inq mptcp_diag
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect_mmap.sh b/tools/testing/selftests/net/mptcp/mptcp_connect_mmap.sh
new file mode 100755
index 0000000000000000000000000000000000000000..09bde1303bf79198fe9f7890cbe89901859d78e8
--- /dev/null
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect_mmap.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+"$(dirname "${0}")/mptcp_connect.sh" -m mmap "${@}"
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect_sendfile.sh b/tools/testing/selftests/net/mptcp/mptcp_connect_sendfile.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c50d08481581f0f8997c6f4f2174d606150bfa6a
--- /dev/null
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect_sendfile.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+"$(dirname "${0}")/mptcp_connect.sh" -m sendfile "${@}"

-- 
2.48.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH net 2/2] selftests: mptcp: connect: also cover checksum
  2025-07-14 15:52 [PATCH net 0/2] selftests: mptcp: connect: cover alt modes Matthieu Baerts (NGI0)
  2025-07-14 15:52 ` [PATCH net 1/2] selftests: mptcp: connect: also " Matthieu Baerts (NGI0)
@ 2025-07-14 15:52 ` Matthieu Baerts (NGI0)
  2025-07-15  9:05 ` [PATCH net 0/2] selftests: mptcp: connect: cover alt modes Matthieu Baerts
  2 siblings, 0 replies; 4+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-07-14 15:52 UTC (permalink / raw)
  To: mptcp, Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, Shuah Khan,
	Christoph Paasch, Davide Caratti
  Cc: Florian Westphal, linux-kernel, netdev, linux-kselftest,
	Matthieu Baerts (NGI0), stable

The checksum mode has been added a while ago, but it is only validated
when manually launching mptcp_connect.sh with "-C".

The different CIs were then not validating these MPTCP Connect tests
with checksum enabled. To make sure they do, add a new test program
executing mptcp_connect.sh with the checksum mode.

Fixes: 94d66ba1d8e4 ("selftests: mptcp: enable checksum in mptcp_connect.sh")
Cc: stable@vger.kernel.org
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/mptcp/Makefile                  | 2 +-
 tools/testing/selftests/net/mptcp/mptcp_connect_checksum.sh | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/selftests/net/mptcp/Makefile
index c6b030babba8cf888101d6af44f3e56fe5ab831b..4c7e51336ab25c662f02719f1632fa2d27d148f1 100644
--- a/tools/testing/selftests/net/mptcp/Makefile
+++ b/tools/testing/selftests/net/mptcp/Makefile
@@ -5,7 +5,7 @@ top_srcdir = ../../../../..
 CFLAGS += -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES)
 
 TEST_PROGS := mptcp_connect.sh mptcp_connect_mmap.sh mptcp_connect_sendfile.sh \
-	      pm_netlink.sh mptcp_join.sh diag.sh \
+	      mptcp_connect_checksum.sh pm_netlink.sh mptcp_join.sh diag.sh \
 	      simult_flows.sh mptcp_sockopt.sh userspace_pm.sh
 
 TEST_GEN_FILES = mptcp_connect pm_nl_ctl mptcp_sockopt mptcp_inq mptcp_diag
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect_checksum.sh b/tools/testing/selftests/net/mptcp/mptcp_connect_checksum.sh
new file mode 100755
index 0000000000000000000000000000000000000000..569340d4f00ae2e4655b30220bcfce695549a686
--- /dev/null
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect_checksum.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+"$(dirname "${0}")/mptcp_connect.sh" -C "${@}"

-- 
2.48.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net 0/2] selftests: mptcp: connect: cover alt modes
  2025-07-14 15:52 [PATCH net 0/2] selftests: mptcp: connect: cover alt modes Matthieu Baerts (NGI0)
  2025-07-14 15:52 ` [PATCH net 1/2] selftests: mptcp: connect: also " Matthieu Baerts (NGI0)
  2025-07-14 15:52 ` [PATCH net 2/2] selftests: mptcp: connect: also cover checksum Matthieu Baerts (NGI0)
@ 2025-07-15  9:05 ` Matthieu Baerts
  2 siblings, 0 replies; 4+ messages in thread
From: Matthieu Baerts @ 2025-07-15  9:05 UTC (permalink / raw)
  To: netdev
  Cc: Florian Westphal, linux-kernel, linux-kselftest, stable, mptcp,
	Mat Martineau, Geliang Tang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, Shuah Khan,
	Christoph Paasch, Davide Caratti

Hello,

On 14/07/2025 17:52, Matthieu Baerts (NGI0) wrote:
> mptcp_connect.sh can be executed manually with "-m <MODE>" and "-C" to
> make sure everything works as expected when using "mmap" and "sendfile"
> modes instead of "poll", and with the MPTCP checksum support.
> 
> These modes should be validated, but they are not when the selftests are
> executed via the kselftest helpers. It means that most CIs validating
> these selftests, like NIPA for the net development trees and LKFT for
> the stable ones, are not covering these modes.
> 
> To fix that, new test programs have been added, simply calling
> mptcp_connect.sh with the right parameters.

I just noticed these new tests print nested TAP output containing
subtest results with the same content as the mptcp_connect.sh test. In
other words, NIPA or other CIs will think the exact same tests are now
executed 4 times, e.g.

  # ok 2 - mptcp_connect: ping tests # time=2887ms

I will force new tests' prefixes to have different test names.

pw-bot: cr

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-07-15  9:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-14 15:52 [PATCH net 0/2] selftests: mptcp: connect: cover alt modes Matthieu Baerts (NGI0)
2025-07-14 15:52 ` [PATCH net 1/2] selftests: mptcp: connect: also " Matthieu Baerts (NGI0)
2025-07-14 15:52 ` [PATCH net 2/2] selftests: mptcp: connect: also cover checksum Matthieu Baerts (NGI0)
2025-07-15  9:05 ` [PATCH net 0/2] selftests: mptcp: connect: cover alt modes Matthieu Baerts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).