From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9CE013AE5 for ; Mon, 22 May 2023 16:38:13 +0000 (UTC) Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f41dceb9d4so62715635e9.1 for ; Mon, 22 May 2023 09:38:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773491; x=1687365491; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Il6Mx6mIQwdj1F391cLuCTEpkmtWQ4rCbVhgT+9Fwg4=; b=HSAkosNv7RSXASvhIvHRqNOvT78FASUae+MVDh5L3zh0BLlonJaVLa0pmMVhBXlDTZ pcnMHolIK9hHacyjBXof9sxWdWfTk/kMwVdymWaHHmD+AlxPuKx4OphlWe0kiPXfZcea at4TFSeyrP4BBpnCWuyWHbOqF5NhTYlpwBSBeXnP/VHo5PQHZHVUUr7qXz3hG2+zVeld 7l5KlT1EFTP+AIzeIXgadc/TogXdN2vA+R/oEKXNosW9PsvwuWMe41mn42XgAE28NQZf Tnf889rPUvHD3OnYixqIIHjkDLiekiQzZjruT6Lsw0XvOvTkiBS9ZVfaC5ugQyOGcO+K i/9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773491; x=1687365491; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Il6Mx6mIQwdj1F391cLuCTEpkmtWQ4rCbVhgT+9Fwg4=; b=MDRRkGcY/McsqNoHQtlrZOlBjyQRxLj7IxE6QyvjMYp5aRgZ3CJxXiAT+RW/TxTYBP Y7Z5OIV6ZbVgLdhPOj5DXO6aQXeVekEgZbOyDjqBvNBay3y9YiJFkdIBLnOpFso+yw9B 5h/EiLrBxYX794geL9z44SGz0BGWIjlFxRYJAvQcU7l8bysWLjZet501DV8lWsY8xt5W V8IfBs8yAhz+WYwXqnum//GFL3T7SEz7Nkoha5U/dLcWWdF6l0yk4KBqZu9u5m8viDF5 3e6v4gVJ2rGdBXk7jjyCgA6YRsL39EyoMp8tVBWX3JmCFeZCg8CuO1KLOcrYQEV2cfPv /tqA== X-Gm-Message-State: AC+VfDwZ8aiPSPSIItzc8aOw98N9FoScRJMPtuiRNya/nvy1pw2qNxWd +snnYItI0i5zE4OW+aXzd/A/YcynD+ujnN9vMBgyWg== X-Google-Smtp-Source: ACHHUZ4/EwhdhV71+R/0Vv6VEo919mxMTJlTC7c3hJMXNTYVTcuyxLIm5QJwtckL6/vEWqC91Je4Lw== X-Received: by 2002:a1c:7c0a:0:b0:3f6:683:627d with SMTP id x10-20020a1c7c0a000000b003f60683627dmr1678535wmc.18.1684773491286; Mon, 22 May 2023 09:38:11 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:10 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:33 +0200 Subject: [PATCH mptcp-net v2 01/37] selftests: mptcp: connect: skip if MPTCP is not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-1-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3302; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=5gqCteOZN6pbAwq5DMJ3LCjNGJYrKWS25ksOvWJOrzo=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pv4ZEzEHQLJdDir2s8NTOmK4xANlkWjwCe8 MNuIxrB09+JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg cwjlEACvJrWrTzcCtSnNuLkk24bkxIwIn78z0djDOuXYu5OFTmRHmikrcVIuyC1+PrktYz/XDqu mni1F85NGym8UxTFhnRGEHW59mSxMovm9FkP3Z/BjE9zdhTRvMaZoYxbMIoggbBW8b3alXJA8do v7yyufQBTQ+dMTlkrAXvdhjGlmC5wm419fK/GSqRXkAwV6Cx3GYPT3gRcHdJOhgxLH9PwZWNCwZ ETOtG6jGvz9cn7rm6os4PaKfVxb4TlonHXO2uy7hzxCo5EhRdhBrtszoPo5BE63DpDEvoyJuib8 TE8L8ZC+WdPO39uVm4+tUjDyJqCZ2eIJEvb7T5b6ZRew0EHslV6hesV2KD7WgQIUfu5ZbbmUQkg VhGhD2OsSzWrjKxmStqelb0/HtUJ/wwq0GqhRAae47ZrrznRSUo6b4IUDPaPq/1yC/2RiyysY3G w6I9POYMKdv35LIhiDceZCasMTyR2ovesIj6QbAXPXz2nXLLtl/suu9ySa7D02HakHKHHsupBLt Mb7chg9KN5u0vNYZ/+5dnzKO1rGDlPgTdJLmAg0gqazCDZw1uvOZcK8l40z7G8zRJYn/mvdxt06 Daf2WD2keiHtqUdmsFiBpB1YyZkMAgpuROQVkDKN/KpvBMprPhxL3LOhug0O/rcBA4pYxOsnOZF YETUmpQAGoTDpbQ== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP. A new check is then added to make sure MPTCP is supported. If not, the test stops and is marked as "skipped". Note that this check can also mark the test as failed if 'SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES' env var is set to 1: by doing that, we can make sure a test is not being skipped by mistake. A new shared file is added here to be able to re-used the same check in the different selftests we have. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 048d19d444be ("mptcp: add basic kselftest for mptcp") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/Makefile | 2 +- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 4 +++ tools/testing/selftests/net/mptcp/mptcp_lib.sh | 40 ++++++++++++++++++= ++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/sel= ftests/net/mptcp/Makefile index 43a723626126..7b936a926859 100644 --- a/tools/testing/selftests/net/mptcp/Makefile +++ b/tools/testing/selftests/net/mptcp/Makefile @@ -9,7 +9,7 @@ TEST_PROGS :=3D mptcp_connect.sh pm_netlink.sh mptcp_join.s= h diag.sh \ =20 TEST_GEN_FILES =3D mptcp_connect pm_nl_ctl mptcp_sockopt mptcp_inq =20 -TEST_FILES :=3D settings +TEST_FILES :=3D mptcp_lib.sh settings =20 EXTRA_CLEAN :=3D *.pcap =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index a43d3e2f59bb..c1f7bac19942 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -1,6 +1,8 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 +. "$(dirname "${0}")/mptcp_lib.sh" + time_start=3D$(date +%s) =20 optstring=3D"S:R:d:e:l:r:h4cm:f:tC" @@ -141,6 +143,8 @@ cleanup() done } =20 +mptcp_lib_check_mptcp + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Could not run test without ip tool" diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh new file mode 100644 index 000000000000..3286536b79d5 --- /dev/null +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 + +readonly KSFT_FAIL=3D1 +readonly KSFT_SKIP=3D4 + +# SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var can be set when validati= ng all +# features using the last version of the kernel and the selftests to make = sure +# a test is not being skipped by mistake. +mptcp_lib_expect_all_features() { + [ "${SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES:-}" =3D "1" ] +} + +# $1: msg +mptcp_lib_fail_if_expected_feature() { + if mptcp_lib_expect_all_features; then + echo "ERROR: missing feature: ${*}" + exit ${KSFT_FAIL} + fi + + return 1 +} + +# $1: file +mptcp_lib_has_file() { + local f=3D"${1}" + + if [ -f "${f}" ]; then + return 0 + fi + + mptcp_lib_fail_if_expected_feature "${f} file not found" +} + +mptcp_lib_check_mptcp() { + if ! mptcp_lib_has_file "/proc/sys/net/mptcp/enabled"; then + echo "SKIP: MPTCP support is not available" + exit ${KSFT_SKIP} + fi +} --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C25B13AFB for ; Mon, 22 May 2023 16:38:14 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f41d087a84so26976405e9.1 for ; Mon, 22 May 2023 09:38:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773492; x=1687365492; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=1LbVrMlXn6OtSKSuj2cDj/vMRLBYoDLsgtRwlMCY8Nk=; b=BxOQHx28/AeVScmfVzBZO2r346PA7WG3DORrtBCqWIgErG/JQcY6aRhqmq2ez0eyR4 tQgDPCGi5IpjjhdG1SWSIwrgtapUtpNGLJ5Efqf+8D7KZZk9QuH5Cngshg5hNyEkimNb lOV3MylvpsB0cO8DXLJL4H0gAb8ql/sgXKvqyK3+4UdFnqgQJOSl+sZG+1sR1CqoDfXP rGB5ejHY43dVo9x/C1W6O+fiuXDJAX/zkYt1A9JTnx3KUMqq8IGfoGhHl7TF7h94hmO5 pN4D4myt+ZKow0zbM96VfpqpSITTDrDb34/ZT/3inGhSg0vQSk7qqMiDSt9Rlo/eZoNu my4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773492; x=1687365492; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1LbVrMlXn6OtSKSuj2cDj/vMRLBYoDLsgtRwlMCY8Nk=; b=XEwYejoEUogXU73xCFwC5HLQGFIHl4xNFv7hx47YPqRnuv6C9TJ7BlwIs82LyeBAQg HRWbZCNAthysamSI7pQoLAPyg+YHmjrmwoyFtSZy6ChibnD01fC/QO9lEcQ6R29djRUg M6hGX+L5mD1i23yf+Brl19Cx5Rg6Fo03aifL/TqUl561a+8TcVLnPuy6vX3ovYMeviV2 Opp//TD2rKut1ppq47lXDjoOVClBsiNscF6fiazCeX6rMnP+RHefLfAjruesLecP/crM DyokNau2CQ8GdqXE26p6Ft4zxLcVW8Z2NS1fjqlHwyiDcBoOfZipJKRKc7PAb3ZtNw9r gbKg== X-Gm-Message-State: AC+VfDyHfrUx/FlPmaHHlScCHOMTfe2MClk4kokyLAcsaoJgftWypn++ yzYEniPNVW65GIC0G9oNJ6fDyf8Rn2mnDvx54hQJyw== X-Google-Smtp-Source: ACHHUZ4t2jhMNnk3HGa66z39dhbhnaC3bblPrXJq6BXNNDREp8WBFrn+Ijq40jolbJd1EBoZdmAQug== X-Received: by 2002:a05:600c:3483:b0:3f6:80:aa60 with SMTP id a3-20020a05600c348300b003f60080aa60mr4549389wmq.8.1684773492150; Mon, 22 May 2023 09:38:12 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:11 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:34 +0200 Subject: [PATCH mptcp-net v2 02/37] selftests: mptcp: pm nl: skip if MPTCP is not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-2-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1109; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=/idUvO+rOqbR7dE1Rxuj8uTcrOAR0nnW57Dj67WcElI=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pvE7lMHJ6uzmG7UzA3cMYpZ0wpNqPKURxGS mKhAJjFp1SJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg cwPkD/0fqTdlm2DzBRx4RZoNuV5wKd6l5l9PPD902Vk7+jwWbsXwzNUedM5gQCySo3NU0XnHMa6 MPiKEdx5wZaTL0zwurCynM5nXWtqxMrCBFCsxc3mDsy+o9SeoK7aPvh5wg3hw4jvY3kJhAnY7mK OBpXT73PIi0MztpN6WwLXg+NxkxT4rnrd24DBZjav8Ec0miN87l1Ad2ly2RFmqulRd+kOBwz4mI mYRqloWDM1LnmT3tGwg1xkMAJEVVqN/WELo6lMtMbcjLdgTqmyrBohzDWJEy02L7n+8tH2uu/sD vaOTQUrOtfN9yraZP7HxqvBiHDthPQ3YDiCWqDeBz7Pc1jv39cL5tb34/ZhkjjLWqtepbwKuyoP VN8l5PvwgnYqMV4fLknKqChmeGiwaE+EFr2gP5GNn+kV+oDy0+YlL/t2P0CPCZ+VcNPbTe3PfN6 J6sh010sMxdt/QfWOWm8vcf+ce9JMcn81eh2l4R5UGrUFpAmdFs28XLU+fmrJb5ekaWKNu+4Huw 8HW5DVzTaTtS4q7vpP4tx6JaXZnLknuESE8deSrZQqAdBIgqM35sdMbxoHER3q4fZHoAiml4m61 vlbSmmP/L8HXsdF/JqAxJSe39ee2R2Jb6IinMhOubIl5jki6bt4ofU9JYfpz+/2JcFH41XDk2NI qeicBidmKbxvN5g== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP. A new check is then added to make sure MPTCP is supported. If not, the test stops and is marked as "skipped". Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: eedbc685321b ("selftests: add PM netlink functional tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/pm_netlink.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 89839d1ff9d8..32f7533e0919 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -1,6 +1,8 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 +. "$(dirname "${0}")/mptcp_lib.sh" + ksft_skip=3D4 ret=3D0 =20 @@ -34,6 +36,8 @@ cleanup() ip netns del $ns1 } =20 +mptcp_lib_check_mptcp + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Could not run test without ip tool" --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 10DC413AFF for ; Mon, 22 May 2023 16:38:14 +0000 (UTC) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f41d087a84so26976465e9.1 for ; Mon, 22 May 2023 09:38:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773493; x=1687365493; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=hqRGW8VHJiR3pfqDy7ZceTC043sd4P5jTOMhgIa2dlU=; b=wDmbAvHLXT7N/gjXrg138o7CllPHbbdlmho6mxFUSqfaDYJxfdzNp/W4Sdphm/lUzH LyXHs8RGWEfiAuaZphgIYMXt/Cx+n9u2dIvEpkHysHSDXO0XraEpCxm7KfDQv91bhDtz JTW44RZNPrgHaR+T0Vxh64X8mfYX9D6ut54mU31ooKN+xKOSVF3v0lpA0Ym8AXwdqRNZ QJQEp7EyYyvJsLM50iKqubF0kpCMGmjJpGyQXWnis7apiUSr3DFXX5tBQvKf2ZLlZkDw xnDiaTXU3VVDq8a3rtYzu1Ke/KzaltA7HzJjZUgyFmvxnOm7g/ITuSDU2Rf/nAReh17C KXlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773493; x=1687365493; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hqRGW8VHJiR3pfqDy7ZceTC043sd4P5jTOMhgIa2dlU=; b=CHzc9cJNmgbWaVP2X0lbpdRMLhPxukmYEy0GFiTkU1SpG12/nZQ1+KxCIM2yG5PUWk vto+pY34AqPj4a7tRKbniX/0HuirQzcbFvi39bU+5psRHcYOEnA5mExOU5ZsV7ghK/vQ arVdXiskajA+eYq+aBkbAe40KVcmZ9kwvGq6mqOBQGkJFAr/fBAXtiH+7lhwxTzt/mQu yBwNiJjBx1St60D2Tlm1PtGFIbPQuqY4PDj9CjZhj7z/kYxJI/JgGjwUFzT3WEB2NgNt SpIb+tb33zQiYYvAgscL2BHbghwBMjNQLAaZOMvlKhm5zkxWk0rCVdA6ETh8KomVIGVy QEhQ== X-Gm-Message-State: AC+VfDxPrVaCZgD0lFEuqIFlv69I/o8e6ebNG7SFLdUpl1Qm51IFb+2z 0+qOXJwjs7j+TCBQ4QgsdeHeRvH8aMKQOfBuacaz3g== X-Google-Smtp-Source: ACHHUZ47TfVOipzCDZnqcKru8Nv8P/MqV+4wYE9C1RmXKZaFdZYzJCmxP6R9q/o4HCVE2nlOT6FcwQ== X-Received: by 2002:a1c:730e:0:b0:3f4:2d85:bcda with SMTP id d14-20020a1c730e000000b003f42d85bcdamr8115679wmb.19.1684773492829; Mon, 22 May 2023 09:38:12 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:12 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:35 +0200 Subject: [PATCH mptcp-net v2 03/37] selftests: mptcp: join: skip if MPTCP is not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-3-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1184; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=GWxRgWKHjZN1zQFc1IkW47CcjV/pU5haL1GSEweQqVQ=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pvYiYFDNKrSoOufn1p49yhZOIi0cJ6jsZx2 AbDyXjvFgCJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c+UtD/9UwicMtV50pzXt0aW6xUX5D/gHoFOP4fDPWf9YLEjxnY2VAaJJMCusdKD5Hk6An2q3sLd J2djFUyy/Uf+Gnt78z2X77w3AZQKtp99966yHvYlDuNc+rcbwEQmlxW1wVK97XyCKMFBBECnbQ+ iG4LiyBxBHOxtkGBM7fxA+L0fEljN2kNnKrWKGhynxx49koQ6/tak/m/tfphPWOy2TV4Ihc4kGr xk+4/1hmoh9k1QA2yUs8/gV7Xgxvyl7W2CQi9TdwHmcpJDVsQahIh2a/S2+LWlAbVSYPkvuuasj 1iFRCia0QjZaMCBUCGDRLDmbleK1Mb53rcZsWHrKxbv1D8wOKeR+7jRYZXqtKFEgLCCnN83NWEF qB+o+Em66thXPvs1qCHtV2lvme75mgJHp8hFMU3B+opdzh9MTlOLUwPNSgNT7yItBmnULh6Nz1j jJHXMvSz66Hu41j5wVQDfW1j0ZLhIPHwes/8SVpwnKqzl5tUbEy6Wv33atfacUE+FZ8cO1rWKfc 0W/4RiR+Wawpcte8rGB5oIuVUszMMt0LkN/hzsSPpMpxDC49iHpQl6Bhu2WPxiaYCUr2yMuKI4T rOJepJ0PERDR5BtisDQgZLzU1VMxVpvBXD5HTLEn7jidOD3FISxMzIB8S4dg4bgTWJlK6t2Ji08 iLYssIEbA2LyMuA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP. A new check is then added to make sure MPTCP is supported. If not, the test stops and is marked as "skipped". Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: b08fbf241064 ("selftests: add test-cases for MPTCP MP_JOIN") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 0044d87556dd..07f6c104fbe7 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -10,6 +10,8 @@ # because it's invoked by variable name, see how the "tests" array is used #shellcheck disable=3DSC2317 =20 +. "$(dirname "${0}")/mptcp_lib.sh" + ret=3D0 sin=3D"" sinfail=3D"" @@ -139,6 +141,8 @@ cleanup_partial() =20 check_tools() { + mptcp_lib_check_mptcp + if ! ip -Version &> /dev/null; then echo "SKIP: Could not run test without ip tool" exit $ksft_skip --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A253D14267 for ; Mon, 22 May 2023 16:38:15 +0000 (UTC) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f603ff9c02so10493145e9.2 for ; Mon, 22 May 2023 09:38:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773493; x=1687365493; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tk0yVDpEs88McJbg0HZXb6YKKY66/dBMHpeduD3eqHE=; b=I41+heYnFMvfZMB4IcM3bZalRbO1qW0xUht5tjo9xkPBgKHjoTwwugaTI+nikhuMAa jA80zxP8Hmg9IWYtqzuUoItnOI3f6EY2h6eNk0QN5khbBGuCFbodmnZbwltO6bkgTFt2 1Wvq/N0LiMkxA7fTutBVwYLuDk+VylQGhQiAqyyDgQuPHfR7vS+NPy6RjESu+6kIO0L0 YLLzhvVoeu1LtBdsHXhWDneNCqKCfvNSSk9wVTxrsLpJqf5h6BNHza/oGDH7V6gMNq8k OyEQxjoKNWOFv2RY7kbd6DuJ9JVS3dZH9GRhJFP/kOu3XUjFWC5753/gd29IfG6XThU5 hMLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773493; x=1687365493; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tk0yVDpEs88McJbg0HZXb6YKKY66/dBMHpeduD3eqHE=; b=jwBR2r+pnynojmu4R6+fryIAlSVsIEV6+pffLq1veU8OgmT55YwQ0nkjblHPs+o+15 Lf4HIINCZ7d4NN5K0osY3mXpsL6rn2VNOfknLpEXKbRmmZOjMeqScr2U2B+T6/WY6Hpi jLXPqJzOxmzOl7PssFaitTLIkbcsqy+ppYKxiZC9fmWFUOj6SaLTY3ADODuA6m1y7kr3 Y1FwQGozA3+7AdPyNFoFauFCKVN4KY7Vzz2llny4uPEbtD5oiK8BBIqgFNce1bas+DGi l/jXe+Hr4Tni24cWpFRGRUaO5O0l8IWPELW2G0jrlGh2aL+YH7zA57MugZiN1Q0yRqFg 4wbg== X-Gm-Message-State: AC+VfDxUDIpX7GbrDQziQwaD4jYXkJhWZi21KltYlPzv0168KN/pD+6u +RWYwVcZdTv/B4m6av0WVa8re2iTjXE1GW3m26eIIw== X-Google-Smtp-Source: ACHHUZ4KY4JwUEdwFf1p5AH2tOXdyepdOt1OIrQBxljkKgd+EzUeh1bjr3nU/0DI+XB3/eRPLRsleQ== X-Received: by 2002:a1c:7709:0:b0:3f6:244:55e3 with SMTP id t9-20020a1c7709000000b003f6024455e3mr3701788wmi.35.1684773493676; Mon, 22 May 2023 09:38:13 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:13 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:36 +0200 Subject: [PATCH mptcp-net v2 04/37] selftests: mptcp: diag: skip if MPTCP is not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-4-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1132; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=eSP1RheZ+spFnZ1l17hgUmXgc90z52t8DvEZ1M4S+6s=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pvQTDc7ifyMuL66bS9k1dYBzWf5jUzkqLuY riGmkM0L7qJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c55QD/90BmO51BvEQxFIx//EU8AkP+T3WTQ+ObquX84QkJXuyq8VzINkXzi5rBlyXRGOdMmaRzI l0yUhVGQ5f47cOBd+uSDUu6k532mwl2m0rFiw1Yt2bTZD06zXw7eVKsEASM2G25cqfRtRMc/DEe pci1Ya4oU/tRDPqSK9BSeD5sRixzpPs/pZjKlPuk3GRQDYNn78Tc/bhreo4QcTmSzUFGNV5hcgx HrROxxeh+IJr6mj4Vp/DstJksOPqR80upGMIR6BFl1WBZqtwinVT0CXZ8WH41L9zLf/0zDmDYMD oRaJhgykzWU1qmkyTJFnDSlca8cFszk3Lm/pP2MOXiMQCw6+M+ihQm1LhHz46Ev+OOpL0Gg4QyZ JnAv6BXrKZMVWG8poaBuo85U8tNbpmG2ifASlUYSIWp0jQUKPACM31Up2VcBEae3my6gDeGOJTW 0zilKISxa3x4frqEPmNOYptVRpHpotjjQOF9+wSSBCpuf/NbMcV/esSy0tbQcjK3LfedlgtLuIk 9qCWhGMu7mgqvK5mHeLFJsm4LmsTVll/kO94OU+htqneQQjKXALzU26slMvUsfZHpIukn8A2EsF yzOmy7pPMWyrx92B/vv1UmQ1krq4lVSVa8FtrKDTz2bhJ+xHNfn8vnX5BjwGqqh75hwp6aYnrEE HApV/CzjMV4OMfQ== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP. A new check is then added to make sure MPTCP is supported. If not, the test stops and is marked as "skipped". Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: df62f2ec3df6 ("selftests/mptcp: add diag interface tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/diag.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index ef628b16fe9b..4eacdb1ab962 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -1,6 +1,8 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 +. "$(dirname "${0}")/mptcp_lib.sh" + sec=3D$(date +%s) rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) ns=3D"ns1-$rndh" @@ -31,6 +33,8 @@ cleanup() ip netns del $ns } =20 +mptcp_lib_check_mptcp + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Could not run test without ip tool" --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F0BC13AE5 for ; Mon, 22 May 2023 16:38:16 +0000 (UTC) Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3f60410106cso10082605e9.1 for ; Mon, 22 May 2023 09:38:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773494; x=1687365494; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2moyIEpgMC4mAHvK5C3jCKDi9tp9AsGCBR572h6d2LM=; b=MUDYAQSdjdz5Qc2EzpRVqbG4EqcMeTWMhrw2OvVCC0yl+OB1ABY34DRlKDGkY933jz LMyWN4KJ9ZiwSCEl7uh7TGFhAUpInOHvbZ3Es7q5jYRkznacIsRtyIcT5iqpIkazkR0i wfuM3on1O6ik9Eqvpn0HIp0RBZ6fvF/qF4DRV3IWuPtEtCXyCFmpS2W++r4dh0hf1hfg WjcSXxncHGoQNXjXxcTELvaprAQL8OimKc4nWuXhZltCr0XSRbuC6YgIJ9ffB5QUWTqS V2O949xYnhlv7RyVQAlhn5mSROFg9mlkdao3JK2nbKH2G6Rgbv3P8pgj0CUflK8azWkM 0DQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773494; x=1687365494; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2moyIEpgMC4mAHvK5C3jCKDi9tp9AsGCBR572h6d2LM=; b=MQmIjsOE2JYYR575Kmw5iNpAWxC8XP23ZuVfHxqMid7FelHK8V0flrwlPbIkOEG6Fl n2WizBziDGptvaCPCZYytJH7wv5RlCpgnYtuXm2Kv+s1UFX0oGTSV7CTK0ERh2TXHwfC tfyKfNpWpIR92ba76Mq82Unuazvlmlbxm7tXga1txoznoyF/KT13XwUmURTfYdiKEod2 HKnRBbs8oW7Afnvmf20qytlOBHlPhgIXMEn7bFB5C2AD3a+sxK0eMFydUPlzD5AvwOl0 tPfvEfxNOV26ruNTdmdro9xsQSvDJ9oex7pqWpOka7pFNCLjcMdnjUVtp6HgzWnK6Nzd p7xw== X-Gm-Message-State: AC+VfDwTJEnskZfzQ/8M3c1q886Xahqhn6HXNMGBY11bzwTLA/s4ZwXz QZYgfpXP/tY7Ja01BuDa8nyoSbAJ4UDxFK9guGon5A== X-Google-Smtp-Source: ACHHUZ6VKUhfcmNTGTgp/smXJAST3Fcwt/2PoAZvdEY0KiaCz0bTLtJHSX+n21hmDlDOP1UP2JT0VQ== X-Received: by 2002:a05:600c:2286:b0:3f6:451:63bc with SMTP id 6-20020a05600c228600b003f6045163bcmr2694200wmf.2.1684773494499; Mon, 22 May 2023 09:38:14 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:13 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:37 +0200 Subject: [PATCH mptcp-net v2 05/37] selftests: mptcp: simult flows: skip if MPTCP is not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-5-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1149; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=uQrhrN3VLtLshSxxi4lbPMHbgQWWhmUdbF/7BUpdA1k=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pv8BQpPESwazikBGN9fmAQsxjZvbXi3o8n2 pkEw+h3FYWJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c077D/9SIA7+qSvTdr4gwOBCgz0pabqRbC9q6qZwHINO1QirQHrZ0tBoQlgNRug77BvBbhr8T0G kZujZhE0ovg5lCuKup5gS99BmksHzScZI1QKYz92FbT+ahWf2Kn88TN+ZuiY88En7bvwU3nYVrz pVD35jTqMr3dLjnNuYncNcgI9Qinx5YwT7mKgu6en0J0HqXfFl7fdcViLmWaqJUndTMGUFylvAc Rg4MVfcyxhoGHz9J5yPQyGkjv1XLfT+36w/ERFpg6XbGM70wT+l1Mf/jep2GIXsUPO8ehqHLCQT bqyzBcJfbIZz7clKM1nJVUdgyswQMancYZMKzYLZVD26Os4HxJ84vdSNJ4HKd9Cnm8p3gbhwUMr In0eayzpTmsKDjiybxpmmkg8/pk1UVjRtDdUrClVpjoFtm0V6NZWAPUgwVZO1EgrW7ENtkoiG6q 1Zpjfx4xFZeJB7nT2dgOItb1IBVeCkxInmw26BwZOoRppDyxWArF7HCLbn+SpK3WMDHCxzmIUvQ Jblbi6wnb82+LwP7ogloObbtf+wUxbUTFnl/xjHSdKTMY/w99lqMdMy0MvamyMCo9nv2pf2j62V RfLcsmxftk1ffeY6UOFDz7xUrwHXH7XvbVMBGBLzuS0C7UkytiBpIKDpjn8+AcUGhHbgHZOH8lN XXCdy2ljH5Tcw5w== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP. A new check is then added to make sure MPTCP is supported. If not, the test stops and is marked as "skipped". Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 1a418cb8e888 ("mptcp: simult flow self-tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/simult_flows.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 9f22f7e5027d..36a3c9d92e20 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -1,6 +1,8 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 +. "$(dirname "${0}")/mptcp_lib.sh" + sec=3D$(date +%s) rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) ns1=3D"ns1-$rndh" @@ -34,6 +36,8 @@ cleanup() done } =20 +mptcp_lib_check_mptcp + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Could not run test without ip tool" --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3944414287 for ; Mon, 22 May 2023 16:38:17 +0000 (UTC) Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-3f608074b50so6725515e9.0 for ; Mon, 22 May 2023 09:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773495; x=1687365495; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EbeUnaxCToMYLf90EZg17RWGgr6qa3CnSSvyzF0rqyI=; b=S5Mf2ehvJOI/YbB1CqAnv3ac/atPGB0RSDJSm5x5WeFtz2BsNe/JsjfNaZEJOM1O1v adhYjnZGjBBQlw/V+bdbc6BsDVYyhzfSzSS0Ttd/97jPik03WdDm9K84wHCpL+2CIoNK 0b1gtbIx7Ulttk5568tQjCoykffl5Hw+zVR3UwuDm7MsVQOFc7Vc0bGqAD7aXs9w2MyX +f0yJM0XbpGXMtJ40QLLbTa1tHbwEbVv1kVcGbwZWnPqrHCBv2J/yL4ZpEGeI1UvFAis PRLDlfMUUOMwPJcn0Cwsgdm/hTV2VteHNQrQbXPQAzslBYlfQhpTT0G/YyaP8WcFL+vj zj8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773495; x=1687365495; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EbeUnaxCToMYLf90EZg17RWGgr6qa3CnSSvyzF0rqyI=; b=foj3E4tD1jhFkiOR7iAijv2bZ+aN7RjRdtr7W8up9RWaXyr0fxV5cpLwT8PlmjoNez 72XMcT8+NNL55hYupy17nENniu4RVnDft+bS5AXFAgZcibVesf7kiVjjCzoZ0nNfE/c5 3yhf6y5nPwtBl4o1CwPQekl2xgdDKdzK5JY8J3SjfRO4XLmig/JQZ3tb9xhQ/UtveVvZ 42Q4BGX/aU3Pw0K+FbrOZ7egQBQTQdINafq5qWVPqqw2FpD0Z3Dg9KBY7E3y4dHvvycY UTCae19FmIvIgxW7RWwvPm6iTLB+0c+Dqo5fqEoeGDSGVAvOZavhEULBfhJA+kVyntFt kcKw== X-Gm-Message-State: AC+VfDzDmGvxpzsQH4veeFlFa92quYnq+7qWevRYng5fyXumxg7s4Xas 8wokg4JB18LWy0CVk/wY8G6P+kEPrISE69YJ5jWtcQ== X-Google-Smtp-Source: ACHHUZ7h2ayKUahWR31nNiRHZou+Qd8SfCCh3OEgprMKhC5cWtkC/uCfaJNFYZWv0yCk8ni5tZYUPw== X-Received: by 2002:a1c:f402:0:b0:3f4:23a4:7a93 with SMTP id z2-20020a1cf402000000b003f423a47a93mr8857574wma.25.1684773495172; Mon, 22 May 2023 09:38:15 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:14 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:38 +0200 Subject: [PATCH mptcp-net v2 06/37] selftests: mptcp: sockopt: skip if MPTCP is not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-6-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1130; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=f6gNm3LpzKNwEQa/BeQWxsJzjsjQQQdbyMTTSBpnCog=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pvZ+9Fg0PH2X6V6ECOMebknawAkghZC9RTO 5pgbZgVg32JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c41AEACLfqjJHfr/cFEYMTGWk58iZUJFZv699vbm8HEBOklkxBAA4aAmoPvodNs4FQOV8StYbRt D4AMTaUoy/d7xDCmcK1ymqxp5Fnr8WZ5dCs5zbsmx0omT2Mn1l4upvDYDWOBMHS55g97Lgko2AF 62sR7svdhh73M1HfnwzAmiJnYXwTnUfymLLqZyxIGIfFXXp59JUAntP2DqK9JsaMADad8D9Btug JiA+L/uCLIvdGLMKwFgZEJjfp4KgeuTY+u71SDGFOItFHsWAdXKKpLf5pCHw1dVrj6EPeEZGiSi baoXjn5XhQqd61vGAeyhruzMPVXmo/BaKEMNauCY2VZpzrdZYoH5EHCAVRpuymqx0ldrJY4lGog zDonj4RsRPLJeYUfx831y1ptAb+aKgbhD7FMTndhxLxitzYf+JmnID8TUfXGe0b2E8yA1skUxKG ovuVGTMA+XrNmise4hrpNbfSWDyKEG+Es7rdDDlaW+BqB8gCp3Uo15HFRNR46CoBv8ZbaBFpXdK RpUK6kzXNDVh3zFoQ4LLiPAH8TvsvGlfE6o0SVoe6sHNvvZIs+sQ/7m7HAATf8IdZLKL4PJhbj3 ddc5++xcbPBGsMk5djtItIdnjO9xlzgfkXfHuuAgEzasodysUtxKnvZqXEY0OERPeDQTVeb9iYV cX3UwjenHvoWROg== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP. A new check is then added to make sure MPTCP is supported. If not, the test stops and is marked as "skipped". Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: dc65fe82fb07 ("selftests: mptcp: add packet mark test case") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 1b70c0a304ce..ff5adbb9c7f2 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -1,6 +1,8 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 +. "$(dirname "${0}")/mptcp_lib.sh" + ret=3D0 sin=3D"" sout=3D"" @@ -84,6 +86,8 @@ cleanup() rm -f "$sin" "$sout" } =20 +mptcp_lib_check_mptcp + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Could not run test without ip tool" --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D090813AFF for ; Mon, 22 May 2023 16:38:17 +0000 (UTC) Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f606912ebaso10096085e9.3 for ; Mon, 22 May 2023 09:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773496; x=1687365496; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=UPzeNz4zKaIRLJUttjurYcvxC7ulBEdHQ6/xxbF5bsM=; b=SRLamyhbAFsZSIQ0fqdqY7uweIWabt3KHzAsqubyCAZh8SWd94AhBaP8FpFrH1czCS 3ZruHapILb6wmnuP9iClJ/KDnxudDoChtbogLEiSt7YcIV/NU94a/2I8M6cU1Vvobhcp sQPoJD8zdEEwHQ7WquETNWcx6WlgsMC7ZQpEHGEVCfUr3UtlUJ16ZkCHFgmcuugLU2cE twH/RFiQrQgPGRry447iVW4F78ew1fbS9btESYkZ+jpRI5m36UMISgELKDBRviWTb/uO F+/1xS28JPDLa5G6WyNp2dgUkuUcn7oih36W1gphaFSkPekSRHHHPwl5xiTjWbMBl6+q jaYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773496; x=1687365496; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UPzeNz4zKaIRLJUttjurYcvxC7ulBEdHQ6/xxbF5bsM=; b=W7+hHeRXxtNtNL4mS7cSUgaQRyoHc92BTJncCxJtjCcptfFjAt+/raLvPwqdh0cgBX x88e5Rah1oigd0vTBfp9JF2/6ursEsSgCy95nYRtIQnZ0lm0mjiwLEX/O8fYhJqlEwD3 ZHm9M3+QaboXvuTrUykiBGBcZFffPM3ck/MbFjZyO06hX6bHbjvJhU1qD0ReQcObYFmq aqgjZZTenBMtDppaB/0c8unZkvX4G09M1uDP0b7xfRL5NBk60/PoDO7dJ5Qs4PJjtW9F 3vxMK5pq8RdQKG4u2fNi1OcVUxYlPmHTiSkEW60P2ebdNBAtv9Eew6J9q3s18CIyvbdm cveQ== X-Gm-Message-State: AC+VfDxWj8z6OkSJKmEwzsqHKOomrTV+aixtKUMeOoE/sub8wihKCTqO sgVFTPcFk8dy5VNwSF6+pigYI5IoYIZvIgRJO98nbQ== X-Google-Smtp-Source: ACHHUZ7fAn+3lXpMcFBayCUiZu+AFW5S9zeORrfxeNqJzutXaasIggeZLjPdDTgYi+Yury/ZHflNQg== X-Received: by 2002:a7b:c843:0:b0:3f1:979f:a734 with SMTP id c3-20020a7bc843000000b003f1979fa734mr7687749wml.11.1684773495873; Mon, 22 May 2023 09:38:15 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:15 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:39 +0200 Subject: [PATCH mptcp-net v2 07/37] selftests: mptcp: userspace pm: skip if MPTCP is not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-7-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1057; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=zg/b+j2ljOqZD0PGnYAJtZaieQpiMecPLbX5LAyS7oI=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pv/2CahPAKun8P3PphR62C/xWQ2xqDLl5CP nm7uzTekCWJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c1+bEADV+iEuyvSxhAMvZiokMMg9YfAUqYASrRIYcwwHUpJ6nq+g0TX2wUpjUrEZp+pap2+paa9 wY/chyKub5uXf0nNR39M5Jy0ryOVLnSzC5U7vTJ54BQyqgv7LPaNg7vEp0FDSwSjbuGPERJgCwy wm/FeA+C1ebIy8THxuHeMzbvYZ+z30jBDqaCf6JR5mDMsfEqcbs63tt3jgx3wJXFYF4WzYU8JKk KfQnjNsZUaOdBAwNevq13SwpoZgpLts68wD+5EXf10sItdQ4ESn7RMx0w7ouWf9KsP+dvUEaCmr r+CNNUgvilLQJp/dWuFAegiRrT8Q3MZTjLoXWvsdxFCKjx6ywTbh8lPMUGQv3ojGOgNqM8t8c8M 35CiC6KdQxNQ1QkYdiISS38qV6aq+mxRRVTCPA9eCZxV0o4BwL6w6LMlhUkt7N8YUibI6o9JCgc sZoJZOwr0/FbsjOmvYo3jrk/PYRcOIztPXEF9rZw8ZCQJpo9tp1T2HDKjUqLVjZ3lxtGPoKLvIT q7La8I9ddp4pabkDaC1MxZtVeKSo0Yk3zGXZVfR1H4XFymJjaoIZwHpqR4sg2D97kTLQUK36tja 9Ln43y7uXapiWrFVSt0KwdZBS2jCkmUhwPmnEu+yIWQ1rLBjuXhZss9ue8Ajt9w0eQYQKLkb/lm 3BCafRjlt1cgb4w== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP. A new check is then added to make sure MPTCP is supported. If not, the test stops and is marked as "skipped". Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 259a834fadda ("selftests: mptcp: functional tests for the userspace = PM type") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index b1eb7bce599d..8092399d911f 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -1,6 +1,10 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 +. "$(dirname "${0}")/mptcp_lib.sh" + +mptcp_lib_check_mptcp + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Cannot not run test without ip tool" --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2ADB14287 for ; Mon, 22 May 2023 16:38:18 +0000 (UTC) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3f423521b10so41340925e9.0 for ; Mon, 22 May 2023 09:38:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773497; x=1687365497; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=lhLEa/kO5/W0DHYC4E2CGVdrNW1mmEn4jpfHWofA1sk=; b=e3Gmx+2FbX2MDaoHVksJzQMmY4p4geyjZLaZfMd9wamfwsF3cppQHQx7kyPPHE//+l bS6JSzNnuVGNlZYKnvmX/m43BiZXKf54Cp2105ezliC/DY9kPiLbvjq0AUZKFpNwEhnD 44TmyDctFAkBDLa2yHNmAYtN+6Qwmc1OR9/gp/k2RdkbWVTLm8A0OLGg9eft3yDqRU/9 LMrC3xn19msboJx0hgA40w924Kl4GboKcd/kSsCi/Hmh6vl8TPslGfi9hc9uv6yvB1Gg 2zGqUrgwT9k+NV3JPLYTqoHwbHQg7i44D7reRE2mIglwhSnQKfdAgwaXTfIxann3OTlp sSPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773497; x=1687365497; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lhLEa/kO5/W0DHYC4E2CGVdrNW1mmEn4jpfHWofA1sk=; b=X/lwLsxcAyrj9BJSlmod+2aGQEEwbMgAQjgRbau4hCOdl1WdI01AVleXaUHUuwpJ6L TOdYdnpCI9l4CJxozlbgRFcWeEo6JCMgMaiOJfEZR8kVMZDbRAesUjeAejCmNUk2y9C+ /4UxfL/SMWLtrMrKpwAstTp9lcmfw/Kd/vvb70Yvedm7fuAA1FybNIj3oioj+E8nG+1J TdOSHykNACRJFN8PgPlJqSdIFuF0q7Wwfymz/TpezJqYnaHXog6kc+1/FeHOYkqgKrv/ XG6+ilfnNjlsJeT3+1XzmJCMSE6uqrDdU1/4FUOhG5sjO7YE5cElZcRsNW0iJjJjxy+9 NBuw== X-Gm-Message-State: AC+VfDzJFUh9NXOtktt6Rvl+P5a/JlIkFd607MCkRXB55WOmBceh3gHA pKCQj7XQjvn0FxicJeCgIP+Tt+ASNoAUpKvxdAtztw== X-Google-Smtp-Source: ACHHUZ65GV+MlunYSii+a0T/Lq40DMoDWj6SY7BTfxhEyFoAIdp9IenZsJ2dZIJPbT044MS5asTHhA== X-Received: by 2002:a05:600c:d5:b0:3f6:2ce:caa8 with SMTP id u21-20020a05600c00d500b003f602cecaa8mr4098740wmm.29.1684773496685; Mon, 22 May 2023 09:38:16 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:16 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:40 +0200 Subject: [PATCH mptcp-net v2 08/37] selftests: mptcp: lib: skip if missing symbol Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-8-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2447; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=zwQFmS8uNzLeY09FTlLcmYGOdopDU9Z7GT/O9iEBClk=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pveoEQJ2a2uQY5r8rHyCEOsKpWdIpgS5o+/ rnkxiIlLByJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c9h1EACZasynZRoatHfitsBpqfOv0TIwkGqW11bZr6TipehsV/UlATTFBtY3TWU6u9kKWE46zTx cvyDy2yDAJYsdiRTfjhkX0qP8XhcFl9KaWQFH3qv3w85Js5LEI7e0Ot1yqbqqX2X+n2s197ubfL OyriGc8GPEQgpfLijJNmRRxUNslhxmKEi8HLaqQ73pXw3w46XaSCjR4pJ9ESmTbpye4H1cl+Sts PIQbctOuSklew6pnpGhslCuMgwxIuhtvcjWqNsdDdr192+FJwzp4K9kbmuEDnh+pZ/Y4+FP45t8 4ZLby2kU3+X7rgXTeFP5jlwb0SCIApV5Fm50MDFK/xZY/399lBQ9XPv2Mq53qbDdrKez9WTCkid iA36PQkwvYSw8C3Uu5QtUIaexStpd8LA9i2cdC7eb3ZFQ/a7qe13LfTwMguMmOQU2WRaIbStt6I twcDCYZyZwlX2TDGA53Oh/juQJwL+HrvE4DbtO3vv3vWphMPf6l7YlSCw9fKGqvunGmIvN6/s2h ZF8F/7kH+mJLxeWCTUqNJp2Yqw5nex5JX05g/StcOtIoHnfd23ayXougDzhNajy3TmcW72pX5QK 9H6NjTrD9MFIAiY2Si6beOFvjKtmZ604nDvBZEhi8ysMMtgw5dTdiR2CzcdbFTxfebDCZsSwyPp 2WKpnJWMoQh2rRw== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. New functions are now available to easily detect if a certain feature is missing by looking at kallsyms. These new helpers are going to be used in the following commits. In order to ease the backport of such future patches, it would be good if this patch is backported up to the introduction of MPTCP selftests, hence the Fixes tag below: this type of check was supposed to be done from the beginning. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 048d19d444be ("mptcp: add basic kselftest for mptcp") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/config | 1 + tools/testing/selftests/net/mptcp/mptcp_lib.sh | 38 ++++++++++++++++++++++= ++++ 2 files changed, 39 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/config b/tools/testing/selft= ests/net/mptcp/config index 38021a0dd527..6032f9b23c4c 100644 --- a/tools/testing/selftests/net/mptcp/config +++ b/tools/testing/selftests/net/mptcp/config @@ -1,3 +1,4 @@ +CONFIG_KALLSYMS=3Dy CONFIG_MPTCP=3Dy CONFIG_IPV6=3Dy CONFIG_MPTCP_IPV6=3Dy diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 3286536b79d5..29b65f4b73b2 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -38,3 +38,41 @@ mptcp_lib_check_mptcp() { exit ${KSFT_SKIP} fi } + +mptcp_lib_check_kallsyms() { + if ! mptcp_lib_has_file "/proc/kallsyms"; then + echo "SKIP: CONFIG_KALLSYMS is missing" + exit ${KSFT_SKIP} + fi +} + +# Internal: use mptcp_lib_kallsyms_has() instead +__mptcp_lib_kallsyms_has() { + local sym=3D"${1}" + + mptcp_lib_check_kallsyms + + grep -q " ${sym}" /proc/kallsyms +} + +# $1: part of a symbol to look at, add '$' at the end for full name +mptcp_lib_kallsyms_has() { + local sym=3D"${1}" + + if __mptcp_lib_kallsyms_has "${sym}"; then + return 0 + fi + + mptcp_lib_fail_if_expected_feature "${sym} symbol not found" +} + +# $1: part of a symbol to look at, add '$' at the end for full name +mptcp_lib_kallsyms_doesnt_have() { + local sym=3D"${1}" + + if ! __mptcp_lib_kallsyms_has "${sym}"; then + return 0 + fi + + mptcp_lib_fail_if_expected_feature "${sym} symbol has been found" +} --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82E5C134B0 for ; Mon, 22 May 2023 16:38:19 +0000 (UTC) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f475366514so43354985e9.2 for ; Mon, 22 May 2023 09:38:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773497; x=1687365497; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=oEgubpTe0iMk2Y0x635Sh1tu3Yp7tTcDKUk4XBatN/8=; b=bbj2m8repgz62UxtA/h75kYq+zOC1ysdrm1HKFIwP13OOPzq7i0IhK0+NBAcQ+Kyl9 uqmbOgCAUAQykqZq95DWvI3SqIWUXyfzI+CWjgDC7hdY6S2H+u8UGxaey0FJ643gEScn EE2PxzYiPKeBksgdd1eJAcv6VypseqimnBQaITsHqJ78Q7ODZdkMb2LLgd3mKBLkUKrh JFq1aKGujwzmHxZHl/j02p0BeKlJWfDZAmM62qpIB6VgrdlxAWfs0Q0XMCeg7UuCLnzc TqqMZj8Kn3cd/N0uX3iuxOgPcpqwg3sIxiVRnH5NCn5AoXEwc0XeOgYYeH35hWz6HPv7 JVUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773497; x=1687365497; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oEgubpTe0iMk2Y0x635Sh1tu3Yp7tTcDKUk4XBatN/8=; b=gbmZ/GHfVpFtmTzD8Hd24nnOk+ZWIvf/F/7j3uNFMUU2UHc/i2SBf+VjXDiJZaKw8M gIABc5fFByeSi8nMSRHuZ7vOeciqdVnqXII5oX/JEXc5UlNaW5zsvMrAQI9PdE0dEm55 GWo4db9JrfDO+murGRAHBBCH/RUR4G9zYgIO9T3UG2Fx7rDIkJpDXrzUt1e079SMfNqO 8CKTbO1h9QNZiW+eNkAB4ZznX5DcQTKbzMfyXZjyUFcalyqZq/z2c93gbNPgYhNlOJnd 6rb57fDE2sG+cpF90YsfFMUjlf/qjAMJ2b8DUljrjhpP0Ski/NIZr21tuHid06BHqFoL uwhw== X-Gm-Message-State: AC+VfDzWy8YBwKaD2qW1iIH73fwz7NLWxsMAzViqmHqYIjFIeIaPQ/q0 /XRvBpBz6m+OGAOgutI8jMaQCnV7QAIZqDnPha8phg== X-Google-Smtp-Source: ACHHUZ6HjMQkU9HoxCeROulkJ2qB1B5ZGlUNuAtp342z9B9tv8RqsGJdNWsGAOEUlbNCNTyZklCPlA== X-Received: by 2002:a05:600c:29a:b0:3f5:bc8:e395 with SMTP id 26-20020a05600c029a00b003f50bc8e395mr7744909wmk.11.1684773497620; Mon, 22 May 2023 09:38:17 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:16 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:41 +0200 Subject: [PATCH mptcp-net v2 09/37] selftests: mptcp: lib: skip if not below kernel version Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-9-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2361; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=vTEMlDL824svwN87AbdIrhgcQZqBRcfgVW7ZIJmFDzs=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pvea4aqoEGSSc84NxbOSPufjNd6jX0lezFL kON+r9y+miJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c7JdEAC794sXCTdLdWY7uD86n2EbRAR/So/OLgEzyLcs05ynkk5erARgc3uVV15EVwXr2B1qupK qrDOWqi9EslD00eO9CDGeeFxajh5FmxivpwbF2UTCe1D1jfR43dfS+L6rwYgefjZ0fmq3p+GkM6 deufw4xhFZh6LukTQ9MS3tlwGA4HxzLzgdiyyfABkxHsbM5YyEVVdV5jOdZHpkLhVRCWsYl6Bpo /SiGCFCT4kToHlk69o5M6zDaWicqlB55dMGC4ZsYJJikBkx1P3tOgg5IZS1+/97vsHwAY7IE98o k2Sp7srz1/xeM4soZSQHPzSRNIBVKM56k81KYpRg7YAiVfOSkPKjQSzZv+eJiakBp2oENH5C6pn zl2ldqgXju6ii1xA06lMaZx1bM4qpZ/8rfCHGPhsJxksGSoObROYssyJ1f17eofAI3i3NWFMc9z B5AlQ5l8JQWSyByO36tlXxga/ola/f7vqaJBt+i9P7hduSc0qu3z6khGTClgdhUx5uLoFx5yoxG FIDRQjt2EtA9tOlSdEi7xLzsK4jlZ2FLQUB4W7VLbuaZweLgIzAL5GWFO/kMS9Rbs2DaggiDwFF WW69kyJopJHialPJIdtol5HCSIPcXvmWoLjjdg1I0Vc0ekUr0PCfS3+qf8SmKoVIKxIGB/IXr8F qg7n6/XYvaJnUpA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. A new function is now available to easily detect if a feature is missing by looking at the kernel version. That's clearly not ideal and this kind of check should be avoided as soon as possible. But sometimes, there are no external sign that a "feature" is available or not: internal behaviours can change without modifying the uAPI and these selftests are verifying the internal behaviours. Sometimes, the only (easy) way to verify if the feature is present is to run the test but then the validation cannot determine if there is a failure with the feature or if the feature is missing. Then it looks better to check the kernel version instead of having tests that can never fail. This new helper is going to be used in the following commits. In order to ease the backport of such future patches, it would be good if this patch is backported up to the introduction of MPTCP selftests, hence the Fixes tag below: this type of check was supposed to be done from the beginning. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 048d19d444be ("mptcp: add basic kselftest for mptcp") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 29b65f4b73b2..dcfe5eb6f7c0 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -76,3 +76,24 @@ mptcp_lib_kallsyms_doesnt_have() { =20 mptcp_lib_fail_if_expected_feature "${sym} symbol has been found" } + +# !!!AVOID USING THIS!!! +# Features might not land in the expected version and features can be back= ported +# +# $1: kernel version, e.g. 6.3 +mptcp_lib_kversion_ge() { + local exp_maj=3D"${1%.*}" + local exp_min=3D"${1#*.}" + local v maj min + + v=3D$(uname -r | cut -d'.' -f1,2) + maj=3D${v%.*} + min=3D${v#*.} + + if [ "${maj}" -gt "${exp_maj}" ] || + { [ "${maj}" -eq "${exp_maj}" ] && [ "${min}" -ge "${exp_min}" ]; }; t= hen + return 0 + fi + + mptcp_lib_fail_if_expected_feature "kernel version ${1} lower than ${v}" +} --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B36513AFF for ; Mon, 22 May 2023 16:38:20 +0000 (UTC) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3f603e0edddso10770995e9.1 for ; Mon, 22 May 2023 09:38:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773498; x=1687365498; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=PnJxfMUTO5gcRlmDsQkeCcD8aTThO5cJ7ycW9Ep4zqg=; b=iMQ0J8nyykycl51vQlibviwr7SEvINbHtlCL9RQqYWxJQfF9syXi6RWnOkKo5eWAhl QmTzNfOo9olPYIPnS6EUhjDTGjS/C19/4XS24DfN2hYx/SFZGQQQV0Mpow2TzxneZCBA Gp99x/hY2EUTUsqZKjpAg7GEjc/m5dkHuhsNelWVX0DaRh6edePJXNZmwNwbBMbsuIUl S5/HbaSnQUERRYbIEgQJJk16D5ykvpW6lNfg88rxYAOq9qkn3bVeRRnoEpNIOeRlLuMU e665IIUctHKwQaGXh+397lSvvARmWpwx9LeOJeqyGp+JjSrg6DOnVM5ehtf5mDxnl2Hn 9vfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773498; x=1687365498; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PnJxfMUTO5gcRlmDsQkeCcD8aTThO5cJ7ycW9Ep4zqg=; b=CfTb7GY4CxDOlUoUoymLRhOci+ytY87jJFEdwS/ekt96I6vnbvBnVV0IJse24mYfBO CPzrFOIFyE+6OfHGgwSnAHp8pDne/TBwoOpbjnB6RWltmKZ0IB8yZ4CHpO9QtGKPIiQT jiC3jtrqJkXkDqstvHr7YSfPh1u6Ll0JpDC4RQJDoSMMMWi6dwz8qeAexbL1MRt4RDoA ZTVnFEstgBBjfMOx6PrsZoPnsmvjDq1hSLSGH626BaN6lpFLvMjt+fHIBy9rwENvjK/M soQfGS4Te+8ALoqEXK4BaAIa7WllMvSPonemqyxSS6EgRAGNhrYPKX7z/Q+MjrVBDO1S QVdg== X-Gm-Message-State: AC+VfDy3hVT5lBFVti+6j8uq3LPi4sTd2aidjVmgyJ4yIMWjtuBB2E4l GcwtXVBiXL7l0mSTeYjaEa/XzKLkts++UX4ksnHMvw== X-Google-Smtp-Source: ACHHUZ42PFb7DNY0DzG1CZbqY9+wX4T6H/6rm+vD0qjbDq7+W3Dp8iKGThGRHnon3gwPlK/KQeXwxg== X-Received: by 2002:a05:600c:2106:b0:3f5:e88:ffc4 with SMTP id u6-20020a05600c210600b003f50e88ffc4mr8867701wml.33.1684773498318; Mon, 22 May 2023 09:38:18 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:17 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:42 +0200 Subject: [PATCH mptcp-net v2 10/37] selftests: mptcp: connect: skip transp tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-10-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1943; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=dPLQ8soz/4YFRDuFKxzIyZ0BiUCyf1h/70xYZNH1MFo=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pvjEG4/CN45iqAYpa0Pi+gB1KSgTLca6ysG UX7g5Ev/U2JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuabwAKCRD2t4JPQmmg c3opD/wOyfg62X0y0NEpQfI9qYEWtXI49fk7wM8qI9+uPK9loYXjMCArA5wD3UswYQIEbSHPWxm ZV4ybXJalSe+YXD1dtjAcYmddn/sT61+OzePlN8SNvuSgC2TanwrvEhOu/g/BSOuq/prS/RCqkB dciYQUDkk5rLioHCZrubWXDav/OqbrOI99LTEBh3q/GuONO2vcvPTZ3Pbux5OJuk8xhJ+z07XVE tGy/dnhmYSy9enpImcG0bltA92S2p4pAqEf1KZorapZ4G+jIF9mi5jKbDCfkicSarfD/LYZ58Ha wd3C51IydkWNaYLZ0kpJwS/zMXXqdjib5HyVM1EjAyzdlvJyD+XIA8Ax7Rw8XRML6mO+qDv/1kw Sg7ZvwMuGeyGN/vS9mBLV8iI2Pw3aXhVChOb5z7AFfZTcSX2qrPYR/6I6KhwSnpuqyX6GYBwqZM OfnSFxOOBqHF+GeJsUXzC7KJ1teYgiX9aXXdGUTGUrVxirZHTlSblO7G3mFTIVauxqgcy5aLyOK 32+upu2C/CWP89sHytqMvK+uSWYLkolQtHAsorD8DEceLcbw7r0D27zN+Bv3sHIeXdzu2dCeh8Z 1YxYunWQOrBVypqx8rGN3vo1AOso7L4zbvp8INP/j/C6ICZ1gTyawYg/y10aM+CJ/ONa/DKb5en ikTZTJw3jymG+/w== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of IP(V6)_TRANSPARENT socket option with MPTCP connections introduced by commit c9406a23c116 ("mptcp: sockopt: add SOL_IP freebind & transparent options"). It is possible to look for "__ip_sock_set_tos" in kallsyms because IP(V6)_TRANSPARENT socket option support has been added after TOS support which came with the required infrastructure in MPTCP sockopt code. To support TOS, the following function has been exported (T). Not great but better than checking for a specific kernel version. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 5fb62e9cd3ad ("selftests: mptcp: add tproxy test case") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index c1f7bac19942..c6fcae6b2562 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -144,6 +144,7 @@ cleanup() } =20 mptcp_lib_check_mptcp +mptcp_lib_check_kallsyms =20 ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then @@ -695,6 +696,15 @@ run_test_transparent() return 0 fi =20 + # IP(V6)_TRANSPARENT has been added after TOS support which came with + # the required infrastructure in MPTCP sockopt code. To support TOS, the + # following function has been exported (T). Not great but better than + # checking for a specific kernel version. + if ! mptcp_lib_kallsyms_has "T __ip_sock_set_tos$"; then + echo "INFO: TFO not supported by the kernel: SKIP" + return + fi + ip netns exec "$listener_ns" nft -f /dev/stdin <<"EOF" flush ruleset table inet mangle { --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D928614A81 for ; Mon, 22 May 2023 16:38:20 +0000 (UTC) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3f475366514so43355185e9.2 for ; Mon, 22 May 2023 09:38:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773499; x=1687365499; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=rmkb+a8MP3d+VPMUmmoagfKb9YIEvkcYO3Q4y2P9JTs=; b=pDkt346aT/BB+CGnK2Afy/ADVyRFP0R2zY2VmHPT7rj2X6qfQ2UiH1RPPADakpXDSS liEhkJ/017kUnchZwM3eA9dGgE7D5vd0iqSlYD6qJ33kEKQSEtK6muTx/w7l1FyFik4l kHq9fFzvrBUg5BlAwLznmwdRX9yETpkwfSOStlhATItDGNFU+9YafN1aNW8Ryk8nqa6P mOW0ZJZzQtVW1ISBXZaBSsSr3O/dF6autg1NarS0uXtuOc+hop6NnSkztfxLKqyvHU8V nFqegy0iOxcUOSj+L7LldMvKfHN+NP+dF10cSiDLfPP5j0P9JUOvYvTCdFnqgBu7dDeT +h2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773499; x=1687365499; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rmkb+a8MP3d+VPMUmmoagfKb9YIEvkcYO3Q4y2P9JTs=; b=MqOjemyDq5jpVn5HqS0lT7elXvzifyY1dJmOa9RGgVEeLYuk+PVzIe07hEaKZhqINz mvFnmsW1w2OrALc+FP/u8mlHBwYC0gc5pl6CphSitxA1hqH/H5SV+hK9mGwd//fzEhgk Ep6teI6aijVk7J+4h++pT3E0kCLNFiztf1FQClwM0N0gy13MuSdu3zokKTMScXqU4kDf O2BOCzSbfaR6Bm45Ztxk6LWjYBdX8+xpSQBuhs11xjtNAa7bdPkxxcMxKQP2YXQ5JHr0 p4e4QYUPpsM73w7YwMtsXq6c29P0UC6B7lZ7LgZ8Mp/g9aV0wmfXKCzhbwcoE/kGwOu6 su6g== X-Gm-Message-State: AC+VfDzJ7yYZ1PiI2GVww5uS24IKXiI0js5l8isi1r9BWs8X9BrD9GQn QY88TtmlGMwmePEdNJmHKEg6IsnGfG6QWxbY345n/A== X-Google-Smtp-Source: ACHHUZ4R3yPz/27/meCV8nJbEVazLxSGtzh/uGKtJikCNaLFdq+gTJL1ghYGK4AZVIeosiQyfknHMg== X-Received: by 2002:a1c:6a03:0:b0:3f6:580:b091 with SMTP id f3-20020a1c6a03000000b003f60580b091mr2132495wmc.16.1684773498959; Mon, 22 May 2023 09:38:18 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:18 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:43 +0200 Subject: [PATCH mptcp-net v2 11/37] selftests: mptcp: connect: skip disconnect tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-11-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1332; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=GItYauKucmJKHykmdwTzcJw8s50WdElhbpicSZP2sIo=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwzum057NsOwd3OeS/5AjAJRMKHQ8V91yUa VfKcap+cPqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c2KREACf08mTU9Yed5N+zBcdmNNrcSLhwI7PTi2sp7scAv/gDkMaVAYPh6RtWBFL+CDgQdL3XlP pkwk8ryr2Pbl673NNB6LDuZ9EwHdM9GACUn9CTA+9f+Ha3b4D5Ag8A5FnooI7R9uAAOuCobT8P2 yDV9A5sTt8nQ/hmsTn5SkdJJp/ECvm2lb5B4HJGjz6qJP07NB996qdB7qSyflQQpaTN53f70MYu cgU/U0eW58ikHIfCXUV5gqZ8j62q/sv5Te1FMvlUy+acJM5kexjLq0R7lwuYmN5LbM5aD+z0VBc eBQCDBCqtcolWCsgZHc48aXmWACTHjfbygL8VdjB79cEmcqWd1SBVEJJ8vjxtbry1k+tCSgbqwm G+C/JTL2wB6ztRjDQWZKCv2BabSoIe90N8raAH0161rql1PjAvxMZsaSC253YCsznMFu4LYWYd9 cT4xdGdpDORcchin9/7Z9pSzr6IbmY0FnH+jYH4rYMJmHJuU3clqgg9f94GdRTp00TS/5mSYipW gjcygybYlnyWlawOfV7ZcWwp5iNuDkDe49okYj0XrAYOjjDq0lqLDF1YuJEyebLucozscAXM3aX Gz46/E/txpA6Md6ErqISlwMx2IAL41KHZDMAOksHQriZy2vBUdx816krvZMLFu0HtPCHBtlpQUP K8FOmrh9kzJSotw== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the full support of disconnections from the userspace introduced by commit b29fcfb54cd7 ("mptcp: full disconnect implementation"). It is possible to look for "mptcp_pm_data_reset" in kallsyms because a preparation patch added it to ease the introduction of the mentioned feature. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 05be5e273c84 ("selftests: mptcp: add disconnect tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index c6fcae6b2562..1b2327d569a5 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -797,6 +797,11 @@ run_tests_disconnect() local old_cin=3D$cin local old_sin=3D$sin =20 + if ! mptcp_lib_kallsyms_has "mptcp_pm_data_reset$"; then + echo "INFO: Full disconnect not supported: SKIP" + return + fi + cat $cin $cin $cin > "$cin".disconnect =20 # force do_transfer to cope with the multiple tranmissions --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EC5714A92 for ; Mon, 22 May 2023 16:38:21 +0000 (UTC) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f42d937d2eso39690815e9.2 for ; Mon, 22 May 2023 09:38:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773499; x=1687365499; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+3j4MqBDDsrtBle8foZJZynJx0yqJs49Kv7hBsjvH90=; b=1uLRFhOPcjeC6pbT9kW7KLZg30poZfrwg+snEHzqarqQo0PYwO6uC0xIYXaDacLAGA gN7Y5b5OV40YOCrKqyoQebwERAUpyDPGICbmM8hwbqkdvZQB9nWyCEuTEtTd9Gn83Wwi Qpn/4ybPw0Jv2Mr6RHXZwNGrIYgX0JVFP2sndjqHvVpUv+7TrdWDwukTOufbHZtYf4Ko 9gx0rbfh91Qg1dV7LIiOHFGRTWOui6Adfb180w+MMFO7CjsFGoBHHf9vp6po4Zp9dGav O6rPtVZ15uo0Ps4IJK3IecPdoNruzc16FCZ/lgoLXU1onhXYKdcLQZ4z4cbbGvjCpKOa AywQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773499; x=1687365499; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+3j4MqBDDsrtBle8foZJZynJx0yqJs49Kv7hBsjvH90=; b=W7j03jYp7JfZ4MNukLPASeIxoJOaK1MVlN8vHqtjSvNi9o/0MeKBoykWD9TCpTuT77 oa/vBb6j8sQNN9He9hSUg2DhjMGIn+zeAdrq0elb83XQQdayk5+R0Ogn9LthrVfNo4I4 VFwLOiJvOT3E9a5fPGUZPayV8nM5RHaYS4VaDRXJBFMNjjl41Cl2hCExKsNsC7F4lWeD 9K9asJdt9mehoHCuFAZByG0YXZTQ7KrSsYcuj0mezvUTF5ALb+D/pa2N3TKYqOwbDH/p ujtHG85APSUcxuH97C/ozp6g1xGU8Z9LPRHy6SM6CXDYA8v3PjCXHd80Hk6TJpq4AVs9 MuNw== X-Gm-Message-State: AC+VfDyFlVtV9yk3e7SXoETC9bnyMznGZTpMMmay11yZ2mRX6h/B9F88 HD2LsjPkkcAw2q/EWrk2KMzPUgGrmyuYvDW/nJI8qg== X-Google-Smtp-Source: ACHHUZ79ArctoQTaCE9b9oGiNhBfc/nHZ+0S5KTOxT93Wo6VRP6voC4FcT2nklYlDL0c7n4KnJV6Lg== X-Received: by 2002:a1c:741a:0:b0:3f4:2158:289b with SMTP id p26-20020a1c741a000000b003f42158289bmr7581061wmc.18.1684773499660; Mon, 22 May 2023 09:38:19 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:19 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:44 +0200 Subject: [PATCH mptcp-net v2 12/37] selftests: mptcp: connect: skip TFO tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-12-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1313; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=VcRSuTQnC5b+nFLj990Qlgwukx5iK7e7/cNHgBM6tZ0=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwj+QqC7vfjF3xHDSzTFYbJHfzqyGEmyFWK biiQh9W2lCJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg cxKkEACsI85nh0UoqKFSEczkZ4LMzz5yQOxdi873Hzd+Xybtrm2GsxifMI16YnEkzQO6I2VRYU1 L+h8DkFZEH5LNXyB3NjP2l+EcPjV0EEeZPGLTeefsUBl3RiGjaAGixaSnztRZcbTTeoyxLoA/RQ 0K6ZJP7eA6ZlxS1kPJ5vy5eDJRRoMf20kvn5iFs0DZgR/p01h3y0DsdylWYoaY817Zrukr3a8Tb UESlaRNK76nKhSKsFadvR7u+fzEuwjV/HYclrV+aKI/nhDezqijJp28ef/HReRlsd/QKwl+lDmS IX5G68jlLoFa6zzppX1fgGhf8f3KJFGCA6e+L4e9OzIJWF4TkW2I20/dQl86DFLQSpyJYPcQ6Pa uJh6iUM/jWXWSImHTBCJq8eoX2fugL8U79FrCORiCMglVRolzdUzqXS3scwNvvb8Xu5zDrgH69W cvLgotjAJkkLR0WoxeoXOME9E0x4KM25fVVRMsIdEM3UctF0bL24vRa88J79w484xvSbwlz319a x8dnK6dqgmJZjhHApi8qHfplBiRfdk1nJKunabRtu0bkygioOse8l1onSPdDbi8YsYY+4jAmqfU z+jNbFg8uHqu56nHuqdq3Jk5J6FRctstsvwN+ckfaua0p4b325npYG3CNXCNVduUb8byAp/rcIN N1jF3/bcCI4p/yg== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of TCP_FASTOPEN socket option with MPTCP connections introduced by commit 4ffb0a02346c ("mptcp: add TCP_FASTOPEN sock option"). It is possible to look for "mptcp_fastopen_" in kallsyms to know if the feature is supported or not. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: ca7ae8916043 ("selftests: mptcp: mptfo Initiator/Listener") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 1b2327d569a5..9cebe0252b78 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -777,6 +777,11 @@ run_tests_peekmode() =20 run_tests_mptfo() { + if ! mptcp_lib_kallsyms_has "mptcp_fastopen_"; then + echo "INFO: TFO not supported by the kernel: SKIP" + return + fi + echo "INFO: with MPTFO start" ip netns exec "$ns1" sysctl -q net.ipv4.tcp_fastopen=3D2 ip netns exec "$ns2" sysctl -q net.ipv4.tcp_fastopen=3D1 --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE12A13AFB for ; Mon, 22 May 2023 16:38:20 +0000 (UTC) Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-3f41d087a84so26977605e9.1 for ; Mon, 22 May 2023 09:38:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773500; x=1687365500; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/NL1S8lhGJSEixGTC5s2Q7QQBHnjZlVf6Vv3vuuQfYU=; b=p5cRPX6kWAqcN7E9BaxsR2MSAMf2yeBzHy6utCWbw3Dzf70CiDRIOfoL4jHCIUl9WC q6e4dUoYozUjXzDbxfanKOTttJ78rB5FXprOmByipCyujRJO40O6TE/M/6qj88nHJux+ 0ZxFvdK2UlM9oTzJOZfKbfMPBSci+zYUj/3vcQj6TJO5yfVPn0CZJiGp3M65DbivJqu+ 9hWpOw1c0e8baAzD0NYxwhDjUSIAkiWVuXeOSNtbt8jqBs+1/8KoHmZd/hAkYyUtPmNu L3sGKO7AkYCUUNValz7FkV9HvXrROczNR7OHqGwDldMlTEWzAg2+k6pi1VsTwgvCDK45 h28Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773500; x=1687365500; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/NL1S8lhGJSEixGTC5s2Q7QQBHnjZlVf6Vv3vuuQfYU=; b=iiJO3hlbyonoMD5LnRF8YwsouK7lU3oBplzNE6dcUDOW5UNWIbmV8ItiQujYXdTLRA UVe5n80q5pqCeou6sIKrE2a23Fv6lagqdiMH9AlQvBvoqE7+p/RXwPaZCj0eBHCLT3GV kh3ZqWyTEPUaEZagk6KITIC82g0N69r3idFxGkOgZWnoFscGxz0lG1lEu83STcapJQNO kwpm/iGXPZrF14Gi9SSbsLYbrLdzBy0Vmup+QsQfZU63TAC1H2i0v4pPCZxVzj566+Iw zyG+jTWk72sCP4HbLaHeUNVqcSrnJF5e81Wim1mdcnH4WyR6gaJFfGVrAZQ8E3Y8/Hu0 Hliw== X-Gm-Message-State: AC+VfDzvvu+H41+eV+c0af1D5tV2gFeQgTIz8PtORCqFTC1YdVEKrcs4 7ENSKyi/PhvTEaaWwXuHzv2Vvx/Dff5JPkyLrxRU/g== X-Google-Smtp-Source: ACHHUZ5g3XFIdEahbDxgsUaPJnfQqJP1j+Q+5Oldnrw7WQqYqhfHochbcSJhBmMSSAe8pB486FpLGQ== X-Received: by 2002:a05:600c:1da5:b0:3f1:6fb4:5645 with SMTP id p37-20020a05600c1da500b003f16fb45645mr7999880wms.1.1684773500250; Mon, 22 May 2023 09:38:20 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:19 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:45 +0200 Subject: [PATCH mptcp-net v2 13/37] selftests: mptcp: diag: skip listen tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-13-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3528; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=sdOYUwFaHFIno3mXaLEHPDrsSyqWajIe21G6Vik4cT4=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pw/Hd/2k7sTTYuqwLPGqQRIEBZdX73fO6Lc vxrtD1SopmJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c3YeD/92eoFi35kj5c5YpagaOV8hCe0sJ+hDPyCYsqoYTqmrq4Eh1OPOqqThHeBDKbGvJBMG+ly uTET/f8Hee0jbnVDMKf8RYW9rcSK4IyAoRiidwfg1yV7+b62flOyZQJsqjZHpFlcD9F9Ws3y7WT ZT4KLltiG9LtgoT5xVPu+KaezYzFhnxBSyKplo5thwUz8J84p4X0lDk3hxJQP5RS14WyncTPagD D01xpJ1VysszgD0SMZRSQ8UvjU/ImcKsuM8HOb4BPq4Qa32Sqpp5zBtc9LIj74dCgOkJqLjQdQC U+5m2OfjpvLgMaWaSjnf+xlOP80AlZXODyxYpp+9Ux1NKi3sz2S+2IdlourRbO0Y0udznQrkeoO 713sIhp7p0Kh2ESLWXNY3ceYurSUBDBE4TOuqrR0O9Vd1ZP3kbzPvse/0R8xE+lKHREAuZIBvAA rp1IlMtajK1LUATf+ameUj6BSw3ZzAUlCsLIpT7ZBrWHZyYwEiXZGGcyOXpoBtIrDtRjLtRDGYH avo2FEJhioYYPy1GKWYmAGD874PO5XB9O5HET07R35SCVR7mf1aqqufnWk25KX+iqoKaVeQTc+g sxqlOhlaAVuOVCd6goP08SAtYEPeNEnuKYXQv5Or1OCgC70lSfZVJH+7JTEPNDRrVJ9nMqbrus7 Xgm/XHxxS7IAPNQ== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the listen diag dump support introduced by commit 4fa39b701ce9 ("mptcp: listen diag dump support"). It looks like there is no good pre-check to do here, i.e. dedicated function available in kallsyms. Instead, we try to get info if nothing is returned, the test is marked as skipped. That's not ideal because something could be wrong with the feature and instead of reporting an error, the test could be marked as skipped. If we know in advanced that the feature is supposed to be supported, the tester can set SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var to 1: in this case the test will report an error instead of marking the test as skipped if nothing is returned. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: f2ae0fa68e28 ("selftests/mptcp: add diag listen tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/diag.sh | 42 +++++++++++++--------------= ---- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 4eacdb1ab962..4a6165389b74 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -55,16 +55,20 @@ __chk_nr() { local command=3D"$1" local expected=3D$2 - local msg nr + local msg=3D"$3" + local skip=3D"${4:-SKIP}" + local nr =20 - shift 2 - msg=3D$* nr=3D$(eval $command) =20 printf "%-50s" "$msg" if [ $nr !=3D $expected ]; then - echo "[ fail ] expected $expected found $nr" - ret=3D$test_cnt + if [ $nr =3D "$skip" ] && ! mptcp_lib_expect_all_features; then + echo "[ skip ] Feature probably not supported" + else + echo "[ fail ] expected $expected found $nr" + ret=3D$test_cnt + fi else echo "[ ok ]" fi @@ -76,12 +80,12 @@ __chk_msk_nr() local condition=3D$1 shift 1 =20 - __chk_nr "ss -inmHMN $ns | $condition" $* + __chk_nr "ss -inmHMN $ns | $condition" "$@" } =20 chk_msk_nr() { - __chk_msk_nr "grep -c token:" $* + __chk_msk_nr "grep -c token:" "$@" } =20 wait_msk_nr() @@ -119,37 +123,26 @@ wait_msk_nr() =20 chk_msk_fallback_nr() { - __chk_msk_nr "grep -c fallback" $* + __chk_msk_nr "grep -c fallback" "$@" } =20 chk_msk_remote_key_nr() { - __chk_msk_nr "grep -c remote_key" $* + __chk_msk_nr "grep -c remote_key" "$@" } =20 __chk_listen() { local filter=3D"$1" local expected=3D$2 + local msg=3D"$3" =20 - shift 2 - msg=3D$* - - nr=3D$(ss -N $ns -Ml "$filter" | grep -c LISTEN) - printf "%-50s" "$msg" - - if [ $nr !=3D $expected ]; then - echo "[ fail ] expected $expected found $nr" - ret=3D$test_cnt - else - echo "[ ok ]" - fi + __chk_nr "ss -N $ns -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0 } =20 chk_msk_listen() { lport=3D$1 - local msg=3D"check for listen socket" =20 # destination port search should always return empty list __chk_listen "dport $lport" 0 "listen match for dport $lport" @@ -167,10 +160,9 @@ chk_msk_listen() chk_msk_inuse() { local expected=3D$1 + local msg=3D"$2" local listen_nr =20 - shift 1 - listen_nr=3D$(ss -N "${ns}" -Ml | grep -c LISTEN) expected=3D$((expected + listen_nr)) =20 @@ -181,7 +173,7 @@ chk_msk_inuse() sleep 0.1 done =20 - __chk_nr get_msk_inuse $expected $* + __chk_nr get_msk_inuse $expected "$msg" } =20 # $1: ns, $2: port --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C947214277 for ; Mon, 22 May 2023 16:38:22 +0000 (UTC) Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f606a89795so9757495e9.2 for ; Mon, 22 May 2023 09:38:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773501; x=1687365501; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=QRdcnAYRLQ3c0s+J28sFDIiH5JEZCF4I77YILf6D1KQ=; b=4JQfft+Zu8BVkyJA2Lh+OOogm8TrH1mGDA8QW/O+GvskKEeKAmG150IOQn+qLg5h9S Lt9KUfcx//T3NQoK4oDqOfyCH+88jTlNz1xXtJK8xFU/Biyq4UJ6JAHe//vDzguOyZII nYVQx4vXfzpQC0NKf2g0F615cL2KJyBXWhpGrUEEVGTzLssJkhXUBC4TWWHppoI83kLx AWsxjp/4lrDNKMiZOXQQmDqkEEyrif/K8RAaYUvRr8z/ITHkuu0gLOnduBF94Xhjj6Dn l3Oa3oWJynfhtXUrHM52eUfHKo7TzDWG9YP4maBcb0IjmutCiekU9pceKasERQKCW9EO 6IAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773501; x=1687365501; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QRdcnAYRLQ3c0s+J28sFDIiH5JEZCF4I77YILf6D1KQ=; b=AGCI1ppUATQzjjiF3Ho4rb+Cy/7nutqltBORUIwelPV/bvQP4W7ari4koU3dHPqup0 Wh+AA3MeSeZmyIA8bzlmexvbDFkM6Tb3x4IwLGEChyyX+kdlJdyHckYFIFUGOeNO94X3 mqSYBGYR+NVFN0eYPtF85oocQ5yQKmnGAdDVN7HTd+uGIZge8gFDJTPixu7qmtNT0SOs U3nTU/LoX6IzovKhlCRIRsQ2TNfSJZKVulFa9sdd741+tzXl6KPgW4KQhBhlQCRiUCZD B8y2A40fOkJySg6Kw94kP/BcWyTwgi2GLNMehVJ2gDomKmzRLCT1kE8AEeVIxlF1uTGa YZXA== X-Gm-Message-State: AC+VfDy4B+wDu6MWaqiKqteXn6ZSGkCbG1wZHnsXnbkFn5t6N+VdwatE 7ECPwv6b2XwepjISAZu9PgW7jPSajgROIiAC6+DhOw== X-Google-Smtp-Source: ACHHUZ4pHczOV+wEgXB96/TQwRom92BAu+zyIvt0SNzpgskhyahkXAaFm5GLAl1cHW6BNwEE4cPc0A== X-Received: by 2002:a1c:f217:0:b0:3f4:2c71:b9ad with SMTP id s23-20020a1cf217000000b003f42c71b9admr8184745wmc.30.1684773500907; Mon, 22 May 2023 09:38:20 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:20 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:46 +0200 Subject: [PATCH mptcp-net v2 14/37] selftests: mptcp: diag: skip inuse tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-14-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1224; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=3jTbimzQize+d4RXaNGIa2DEkBgDmaDPaIBUUhQFATY=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pw15TPhRIE94HrobcFOcrAufF0eD6mAZRta WF1EMJbdbyJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg cz1kD/9INWGbk6z8Jy3awaQLl9EsOgeXDfD3QnbzRLLqYRSrx5wvfyntXEduji9DJ0hnMYS7YCs qTvtssOHCZgmeVAQ4jB/xmQEx5owwArp3UQp1wi1AlfUOGli4X2RIhwxTeF7bi5IaBEkRt1hyxz fxMmMWsO7ARy+T4gkoYmO+LOwWd825P/HmKv3qX9p5CnVkL+SaA0pInAw+aUUF4Chd3IdLldGxU IopsAi0SAVdgqZMyh/PrlzLar+jyTds7rgpvc6BOzcOHlXxmwR9lcRnE6E6Ghmz2ak7GksgyEuW XTtQeqjG9BCPWCWVoYUTadXya0PxsNw8/8XMegCnOTxwrQuhrQeitfTXhHuO4rtQ5ZwFd/2hqDc QnwS2wmTAnbg+f4Mdtl0h3HQKlM7R4E3lcHyKnAorZXaw25x2UNKBzNZK1OXxkswtyka6jB511i 0gqa8Kpx1T9/CFm2gZO0D+H4HfUIzs1Hu/IejDHz9+85WIvxQVr6w0za8kc+a99dAMqymeEMprz EoE0If0mq6rJ/mT5p+cG9hiDCBr+L4Megk0QQa6WmASKqWp/Guy0WlQTZ8bP0qNsiYSKm9TbK99 QE9+FJU0EG2ZnC72SUbgaCyOwqeb/bNuc4nLlRlmGEnx8TxFt3hgutLlXGAKSRyNtIqGbowXT0k GeiZh13EHljHZ3g== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the reporting of the MPTCP sockets being used, introduced by commit c558246ee73e ("mptcp: add statistics for mptcp socket in use"). Similar to the parent commit, it looks like there is no good pre-check to do here, i.e. dedicated function available in kallsyms. Instead, we try to get info and if nothing is returned, the test is marked as skipped. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: e04a30f78809 ("selftest: mptcp: add test for mptcp socket in use") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/diag.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 4a6165389b74..fa9e09ad97d9 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -173,7 +173,7 @@ chk_msk_inuse() sleep 0.1 done =20 - __chk_nr get_msk_inuse $expected "$msg" + __chk_nr get_msk_inuse $expected "$msg" 0 } =20 # $1: ns, $2: port --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94DDF13AFB for ; Mon, 22 May 2023 16:38:23 +0000 (UTC) Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-3f606a80d34so7025785e9.0 for ; Mon, 22 May 2023 09:38:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773501; x=1687365501; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=JQ0/sONYGaemYjF6HodoV0Hl7EvG7+/XEdGtw0LdLXk=; b=ZCWrifTEgCcI0PXpcuUab0fUb2B73k+sDBPg82PQhxZSUO6qOm1u3C4yCQszPFPrfX eVZ8gmMoIiCBIJhvH3XRylj+wsa12uzHx3hjEkDZf7OjNzVE8Cb5Q++tlMpZbr9KAioR W0lxeSnqIAI+FdAX1klZSmUwOfNxsit+poETEMqw7CzFZLUGcnA/LRqfxrQircI9H0p1 KjW07zo7b8AxSz2U/QHv1/zayNq0bDkoEKSd1fcX177RpahM/b1lU1Yd+yhSSvJg0wGa lhS+Lq+8nT4WsmkO6dTIwWwbwus8MePP4c3qiolv35ev6QGuC3BeacUCPzkzDWCRffD4 wJ+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773501; x=1687365501; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JQ0/sONYGaemYjF6HodoV0Hl7EvG7+/XEdGtw0LdLXk=; b=BNlJ4K0TrgF2c4Ho8ZbEVM83IoQL0oPk/Ew3YRhVFhACkjbi8/SQDAFjOr6vFnpFzg sdawauR3Nj6sbhpmjWoMgbmoD7xPUjs4zfiN5tqZjRFNALqV1ogmnG/SrRaII0AcYby+ K1hD3gKdQYoTdO/IfmxeBwD2QCUYXeEiBl2mxCsDStE/RUOYzAstNu5ygY6ytm+4z6AO xHOKCexaTC36JsZC1AlDno0CC1HQ6m7F7jjF0CeVhKFZoXjFUZ9XR9oOIPLxbE6m9KGe 11YO83mQKNjEl8ew8rWX8PgxYz1N0fZPSzTblz3JKVbfRng8l8VtxycInPNrF9Dab9Vo Q7Sw== X-Gm-Message-State: AC+VfDyh7gjHuDNKRnoLEGtar6ZgqsrN2k881GSLUZqysGTCsPBq9gWB sd146qhhEgiwYbbXOHQXRFsDDAYPMVHdKL47MHFXWg== X-Google-Smtp-Source: ACHHUZ42EM9fTl8NrcErE4GUUXgJzF0akSu/rYH0Gugkk5eRSii1yzQM5rxS4Q2mF/45jM4onj1CZA== X-Received: by 2002:a05:600c:378f:b0:3f6:20c:db83 with SMTP id o15-20020a05600c378f00b003f6020cdb83mr3876285wmr.16.1684773501595; Mon, 22 May 2023 09:38:21 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:21 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:47 +0200 Subject: [PATCH mptcp-net v2 15/37] selftests: mptcp: pm nl: remove hardcoded default limits Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-15-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2349; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=aVuU2oyLjzTS88MYhN2EnnAYnefqP09EdnhSEtFCMng=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pw/zVmxyrbzVt+G0fauRBLr1qlmZZf+6gnB s9eIZWrYGyJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg cwNpEAC6IwMMevNUyrBx8dc+hLnAh7iaNz6CKBgG4rlMEvG54I2rHHTFNzdLRimK6YdhqfhODml TP3feoiIzOQKv2dWMl2v0cgn/Cc4ZhGaLP7bQCYq9V2MG2mFMfhcUi2zruxvBHHV0SRH7TtklFG uIDP9LGAWUHGmwekICsSCTNzf9vcUD7JxSlBG2qm26BH793KoJ3tAy/vu6vvFzxqhqZCzcX64l3 dOvZyQOw7iEDGqItU6CPpiLZy0/68aoVTS6uk2CnS8d+eKsGUW6E4IuUkL1LAKl2mU3OwQycEDT YSB4NeTrOeo6g/6fIQE5D6UvQa3H3qHffQVUlW+enTLlP1+XKqGmgDgYjResPhygJwuRGgpW5Mo QcFDWzD9IrwslZrVFTbG76Ct7W4UMpIi9ELZAwjxoe3RV8lzoQFakSRMQE2yonPyH1I874i6hJt OfyOjc/RerarYkXcJ0O67bwsdv6O5tLsuHOs+hj1xPSLKP7crf5WqWE4L7iQCzUZsRmQPmq3jbZ mSg3BU3Du+DlYfplVC3f1O4CFmmXSQLrA6fm6z2CNqG6l50lmddT593Yja8UsDDHmtH/+rwyqa2 ic+h0m8XRMQXymgy9SpQ9wukrEZqz9S6kb1mxtwPpVd/nJWmSMeFE+jZsHjydQlVE7zOmhk6CHG pDYRXbvT5JF0t2Q== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the checks of the default limits returned by the MPTCP in-kernel path-manager. The default values have been modified by commit 72bcbc46a5c3 ("mptcp: increase default max additional subflows to 2"). Instead of comparing with hardcoded values, we can get the default one and compare with them. Note that if we expect to have the latest version, we continue to check the hardcoded values to avoid unexpected behaviour changes. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: eedbc685321b ("selftests: add PM netlink functional tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/pm_netlink.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 32f7533e0919..664cafc60705 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -73,8 +73,12 @@ check() } =20 check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults addr list" -check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 + +default_limits=3D"$(ip netns exec $ns1 ./pm_nl_ctl limits)" +if mptcp_lib_expect_all_features; then + check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 subflows 2" "defaults limits" +fi =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 flags subflow dev lo @@ -121,12 +125,10 @@ ip netns exec $ns1 ./pm_nl_ctl flush check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush addrs" =20 ip netns exec $ns1 ./pm_nl_ctl limits 9 1 -check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 2" "rcv addrs above hard limit" +check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "rcv addrs= above hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 1 9 -check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 2" "subflows above hard limit" +check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "subflows = above hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 8 8 check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 8 --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FEEA14A81 for ; Mon, 22 May 2023 16:38:23 +0000 (UTC) Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f41dceb9d4so62717285e9.1 for ; Mon, 22 May 2023 09:38:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773502; x=1687365502; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=llfmCx0H+K5+6c0HcL1PftCFSkHkGVSLgVAlN3+m0mc=; b=WCFr/ezlXPSaHmNFv6bgiKT0m1/vrv+TKEUn2ar7xi/DQiDQLFcdQaTd0Mo59qPAb9 1IFjXhlibCsHzFu9RcwSWHWFtDVwwt+bFZ3d1ZF4MQL4nAIeyGyd5maF0AmTpirWPLvM jQQPSRjFl+RZ9vzIkLGss6DHWvCwxbgLoZEfKrDr3rQen0LKjZk39KfNjvW8he7GBI7w SjzUpGnwtzM3kvqoOIiU91hHeadEHbFYroiRx3VNf4YEVXLYkqejrrt9vdHGjSSnd8Oi jHb3IPB5nhcR5xdSOivtzFw66D5gVBdROQfeP/bv9/g65AHMDfA0FofaQMUEYBgt1br2 eIlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773502; x=1687365502; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=llfmCx0H+K5+6c0HcL1PftCFSkHkGVSLgVAlN3+m0mc=; b=YCVDv6Blnz3gIXutjuAqO1VQWHtqfzizx8cZDfi9vEvxoRPVb7ePtLvpZqaHlZtsm0 PSBD0Sb4w9y6tlj7cDFuyK0qsrfUtCD3buzMvm015HBlAqkHuP+iySK+BUnGpwLyXJoi Yx9pqe5GmhwECTuNFgmHsNl1Zwg02FJ9vrVEzhO5dwlyV7QJiPq0PknRoNPyV7FFLsZS QIuB5LEFIpvbQrpQPLVc3h3hCzHlyA8PediWIW+rIUmWi3tQGTmdT2OMAeJmcDHT0utO e17beaYh52cNawmzQa+NHH4msU2fyPiiY6517gxq+f1zQzWx0DJVR2AXhLb2R2lDNqcX LEYQ== X-Gm-Message-State: AC+VfDwD6XeN/QlPnQ4iU3HD7ZJn+aN3EUnRFaQQPlL/Dt38uzzqtr7f dBXZZ0IvUzn1ck1bo+1TWtmTSAruQqsvJRSxA7DbuA== X-Google-Smtp-Source: ACHHUZ6xhd7dlsnirDKWpBgfoBaZ29PDq7we7eDzJNA1z1CQFoUsrbv6HXKyZjvUx2aFS2GDlXek5Q== X-Received: by 2002:a1c:7909:0:b0:3f4:1dd9:e9dd with SMTP id l9-20020a1c7909000000b003f41dd9e9ddmr8598417wme.2.1684773502344; Mon, 22 May 2023 09:38:22 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:21 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:48 +0200 Subject: [PATCH mptcp-net v2 16/37] selftests: mptcp: pm nl: skip fullmesh flag checks if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-16-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2380; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=lMstzMhzZIe0UepJhMFOkDqpC41lAx03LiShFqM5PIA=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwUXKF9Sbe+p4b8bajNMiApisdU/ZeJIGAl jXWAWfHgK2JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg cxJeEAC+WqqA5w4shq0U2qpZShY9vSZVfhDg6eZwZ1xd5FlXvLVrDLXgtsP9FtTYXdbAOkje7m0 rohVjnRr7X3aYvfabhxoFz4+Ks2vdePmOuS9CQj1NGKtx3SAASxThJ6BE8fVNoQrD1/qKHvi3Z9 am6Xxst1u2nIid194LS4xRi/Dr1+vtN0EK+luaCvGi4IINH1gffyoZ9TNklxdbMdAtD35ZjqyQq c+P3LFCjG4Rw9LR0guIFP4rtcFm2KT64ku7Z5m1H/04B5soWkuKFVB2L7QecjpNkj5/JBTuWWYw yLq9CNhJS/+TvwDcjg9B9KhpqCsRcFPXz1qv2JLJwxpRwBH2/0zV3N3WNxaNNktCVeTXIa+K+/I fGTbPJlioncT7Od+PKye4jX1XcLCOH+ak3kU//iDlGbYFZdF+ku3YbzApWclCqUlh9To4pg5k0g IebmvCspjevqxmXvidRpiwsP22uFwjm9NCcjOT7Ob9ECqSR/cgG78Q9psNA5pvOIKnPg2+7Hudj ehNglh5FbnJkz7JccqQWlYXuHdXp1Ecku9s2Opu8F8ibTjPXZsXZQXWf16DsiV2MDM2+nHWrT1j wf+Zf+0qVYTRONzIp7q9/AJUGbSQ5e0YYNMBk/roXDkQzVesjLIFYrZ5KksNaYKvxuKaFfaBge+ C6EEWkn1kmyZCpA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the fullmesh flag that can be given to the MPTCP in-kernel path-manager and introduced in commit 2843ff6f36db ("mptcp: remote addresses fullmesh"). If the flag is not visible in the dump after having set it, we don't check the content. Note that if we expect to have this feature and SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, we always check the content to avoid regressions. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 6da1dfdd037e ("selftests: mptcp: add set_flags tests in pm_netlink.s= h") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/pm_netlink.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 664cafc60705..d02e0d63a8f9 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -178,14 +178,19 @@ subflow,backup 10.0.1.1" "set flags (backup)" ip netns exec $ns1 ./pm_nl_ctl set 10.0.1.1 flags nobackup check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ subflow 10.0.1.1" " (nobackup)" + +# fullmesh support has been added later ip netns exec $ns1 ./pm_nl_ctl set id 1 flags fullmesh -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ +if ip netns exec $ns1 ./pm_nl_ctl dump | grep -q "fullmesh" || + mptcp_lib_expect_all_features; then + check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ subflow,fullmesh 10.0.1.1" " (fullmesh)" -ip netns exec $ns1 ./pm_nl_ctl set id 1 flags nofullmesh -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ + ip netns exec $ns1 ./pm_nl_ctl set id 1 flags nofullmesh + check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ subflow 10.0.1.1" " (nofullmesh)" -ip netns exec $ns1 ./pm_nl_ctl set id 1 flags backup,fullmesh -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ + ip netns exec $ns1 ./pm_nl_ctl set id 1 flags backup,fullmesh + check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ subflow,backup,fullmesh 10.0.1.1" " (backup,fullmesh)" +fi =20 exit $ret --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C79014A81 for ; Mon, 22 May 2023 16:38:24 +0000 (UTC) Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-3f41d087b3bso64198365e9.0 for ; Mon, 22 May 2023 09:38:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773503; x=1687365503; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+7HypgQP7bOoEOhgZcd+GJ+BZ2UrK8vBlupHsCPMGnE=; b=CBZKa5FPOY9w2gA+UiENEfiw3qJ2qYPzjpyJ64dBuxIzfXaHcNtI9IwItOIH0UsMPL LEd9sETnrsWbDsvIRtn0fZ4/FL0PB/AXKg0mDIXIW/cxF/j8DJuS0pHkwOU2r2oIXQsj HeuHwFCJaCO+ooA1o3TtGakJj33USCPC4sBMBQgUSe3s/9N2+zlyvQtlk7JMPmWiTpUC ze4QKsDJHF8hGhszbiE01mCPsYLHxSqPHpgNgawJbd3sKxBCIkC7VQCN4LdgGUJR22s7 czAz8sZB0+tWUl6keMpst9gqojqboThlh7cJ7xVWR7kPcMl3BjLtMCS2xEYKWXO/oR2g t0Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773503; x=1687365503; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+7HypgQP7bOoEOhgZcd+GJ+BZ2UrK8vBlupHsCPMGnE=; b=JtjYZtAfV0Or1/M73UP9blK9BcrKSq3Z/v/dsZukG9E7/5L0t5Il+axSWVSxZFif+8 shkv9zbuP9mXnzFL76t183GbwREBfTVkHcrndZ4jzqEnLxDVZKX7mkh1yahDfd/QwwFT Iy/ieE2qGG1fFGAXwcxTKV9TqX7kVjUQBnytjXCzz26NGBsCw4yszsm+cMDqlROZMRit 2AzAvanZrKVQ8uQRBZ7il4fZmXdYLiG+K3CNoSJgcCX3LGKng/AIU5Ug9dhcUuOZsNQ/ zIped/68C7bRlL+JUOvs//V5ACa9Tl4oRoN8hYXJjEJoxFQ7dNf8Zn4tVi/T72j2YAjv 0caA== X-Gm-Message-State: AC+VfDxHaeJnLzZ4Y9aC++nyizEHtcYt4ivX2SYNDlGWkUCVdKB14x1h qGNlwqO8skypoigzUq+Wmpm5VAzM82hVP6esQSVfYQ== X-Google-Smtp-Source: ACHHUZ46rAmqqnCTAPLXk6RuB3I4swSGdml6lR4hX8IKXc7NA4grUHMsFZK71SSGFjY8/ejtatWQ5Q== X-Received: by 2002:a7b:c843:0:b0:3f1:979f:a734 with SMTP id c3-20020a7bc843000000b003f1979fa734mr7687987wml.11.1684773503053; Mon, 22 May 2023 09:38:23 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:22 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:49 +0200 Subject: [PATCH mptcp-net v2 17/37] selftests: mptcp: sockopt: relax expected returned size Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-17-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2803; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=JgIEelh2mwJmC2C2ejafI9D4qMYknERgNXt4vLN2onw=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwZBKs55zVWXjHySR/v64DJIqMsCn3j9zQb sA8iSlim/iJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c2stEACvwO/rtggeBDySsrQXhO1BFk2sYMru4DjgQcdI4vgCbPiaVo+YnXn7pEw+pMf4cxqsAAR PfCUMrwSLDdn1gl1lxLG49TEB9ZVPc9MIFfi+ePOMyGBvuGQbikhGxWDmEU1myK/PMfVmZ5dgJF NYbpUVmwuJZ1ZkjmmXlCIqVUzuPYXNHe0sEhf4+NeSU7BvTt10Dps7NCbCifaErE/eYznhxIOJp BmAbAwNlgW02gleziHvVjR6cBL9ddDRa6Jf8NXD3JoJI3hYU5eXS9jALL8NJ1Bap7ErFdw+r2kr 1nuUWpNgwT13GtMgPF7f1cbyAFfR5zX2+g9h6JHz4tqy47jBX1V1QMDjVA4Ows22suIA6ukm1t+ Y1Z2lMBZcL5RRyeRKCE758X/jWxSlU1VeH1VygZ95MKSSLQ7gn7UHbzEN0qVwz/Ii9Hdk6emYuA jrmKp7msBbXBfF9MEFJw+v5+3dokIL4keKPN4/zIQk4XbIjCTUTgIzPYaLHxM/XeUS1WYqNMWhn dSEewaiuRq9mIQ4aeczm1wzeG/VPvrMpdS0VeTn2E4Fk/Nvxmdlc/ZAQtIuG1XoYtv1wSkBbI6d CiXlZZG7KeiZZVAnR97Ucg+PTSnp0mMlE5JxDLXMSQZVGxDXTh43LyZxgnlYmEWkSSZBDkxm4Z3 MFik0sgNtJiGfpA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the getsockopt(SOL_MPTCP) to get info about the MPTCP connections introduced by commit 55c42fa7fa33 ("mptcp: add MPTCP_INFO getsockopt") and the following ones. We cannot guess in advance which sizes the kernel will returned: older kernel can returned smaller sizes, e.g. recently the tcp_info structure has been modified in commit 71fc704768f6 ("tcp: add rcv_wnd and plb_rehash to TCP_INFO") where a new field has been added. The userspace can also expect a smaller size if it is compiled with old uAPI kernel headers. So for these sizes, we can only check if they are above a certain threshold, 0 for the moment. We can also only compared sizes with the ones set by the kernel. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: ce9979129a0b ("selftests: mptcp: add mptcp getsockopt test cases") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/test= ing/selftests/net/mptcp/mptcp_sockopt.c index ae61f39556ca..7bb42fd4b0a0 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c @@ -349,13 +349,13 @@ static void do_getsockopt_tcp_info(struct so_state *s= , int fd, size_t r, size_t xerror("getsockopt MPTCP_TCPINFO (tries %d, %m)"); =20 assert(olen <=3D sizeof(ti)); - assert(ti.d.size_user =3D=3D ti.d.size_kernel); - assert(ti.d.size_user =3D=3D sizeof(struct tcp_info)); + assert(ti.d.size_user > 0); + assert(ti.d.size_kernel > 0); assert(ti.d.num_subflows =3D=3D 1); =20 assert(olen > (socklen_t)sizeof(struct mptcp_subflow_data)); olen -=3D sizeof(struct mptcp_subflow_data); - assert(olen =3D=3D sizeof(struct tcp_info)); + assert(olen =3D=3D ti.d.size_user); =20 if (ti.ti[0].tcpi_bytes_sent =3D=3D w && ti.ti[0].tcpi_bytes_received =3D=3D r) @@ -401,13 +401,13 @@ static void do_getsockopt_subflow_addrs(int fd) die_perror("getsockopt MPTCP_SUBFLOW_ADDRS"); =20 assert(olen <=3D sizeof(addrs)); - assert(addrs.d.size_user =3D=3D addrs.d.size_kernel); - assert(addrs.d.size_user =3D=3D sizeof(struct mptcp_subflow_addrs)); + assert(addrs.d.size_user > 0); + assert(addrs.d.size_kernel > 0); assert(addrs.d.num_subflows =3D=3D 1); =20 assert(olen > (socklen_t)sizeof(struct mptcp_subflow_data)); olen -=3D sizeof(struct mptcp_subflow_data); - assert(olen =3D=3D sizeof(struct mptcp_subflow_addrs)); + assert(olen =3D=3D addrs.d.size_user); =20 llen =3D sizeof(local); ret =3D getsockname(fd, (struct sockaddr *)&local, &llen); --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8B1013AFB for ; Mon, 22 May 2023 16:38:25 +0000 (UTC) Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-3f60444238cso14215335e9.3 for ; Mon, 22 May 2023 09:38:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773503; x=1687365503; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=DCrvs9KuaJPBHPbSLawjvznF0KYbjCDrVaQ7kMdCOUk=; b=HQbOwDea7eCON1K60U7dMUFv/fMSsf4LK0JFx262LV4jOzWYPeXfjcTXvqYP5mBRgm NhsklxmRlcU7bRUcO6vpxGmdTGgRI7WOgVLNxnwPzyF8p4BV/P2+7utZGiLaMxsrVUXk e1A9vAFv1g00VoIJLs8b7tIdtlfoJ3p2auneCsbvSFfXO/qb1i8BR+hZ+2Mi636JihE5 lOpOP8Vu9TFiag7m7iGMVW44AFbePyYVLzQzGcH5HEN6DngmXtdl7XnLhhUPBB+MCXVx 4IEQeigPru2v4BJCORGvyChVogpMEmDH75DEG/GMHfFSH2pti2tXYtxQGdbDpX1CWZyB 4HiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773503; x=1687365503; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DCrvs9KuaJPBHPbSLawjvznF0KYbjCDrVaQ7kMdCOUk=; b=guZsO0Ww3jj3HqxGWNw+Gh4zVywjTcqcYLx2uB7SfvuJdvFPvFfVfl7oUizPo0cLHx WUOYvdGMMDRo6lL95AnykQt1ADw1JaLWcaNibDZHr27wzZES67C2YRRPrsJDNGFkTat8 D1wKU9rhJaKVK8mmLavxonoQzxPgJ1KXeBqlk1LzNCT7fTY+XPo0aknuqawKiARlK2ra mSG6XAT7SafhslflUQda5aJyTfuxatH0YiuRS4203vLNM+Oo1iGl5PRUnH5o/P73H1Rc 2+qF3qzFOGfw/zvRTtWO1fMMLCQTcG/do+4r1Z37fDwaToOaamGVvCpdnc5bGHiGGqqA A4+w== X-Gm-Message-State: AC+VfDxmYEoCx4yqfnwgSEGhQqTG2gGiQRadc1L4RQ7JU57mQnPtYY5o LZGayLU90YINMc6WNVkr2Gwb5GWyjzpIX8CTG3nQRA== X-Google-Smtp-Source: ACHHUZ42xDDqVRqkYXBiO2Tp0KUssJUWsySRfDdji9M91MOSKLvT4Hi1OWae8OOhkebS/y3Tvv/r8A== X-Received: by 2002:a05:600c:2057:b0:3f4:27ff:7d52 with SMTP id p23-20020a05600c205700b003f427ff7d52mr8500703wmg.2.1684773503773; Mon, 22 May 2023 09:38:23 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:23 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:50 +0200 Subject: [PATCH mptcp-net v2 18/37] selftests: mptcp: sockopt: skip getsockopt checks if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-18-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1494; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=icoGKoeuZNXRgie13vOw6f4dROQKB9nPaAGUyT9nKr8=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwaPs0/d1WT88sB/paUdMJRDD72lAVprH6x 7lgeUlYaRWJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c6j/EACuUQVhx6KjB836+siMc956SSrPETDrq+fw7VpVAb5AJ0hkIdWVg6QtxZBM0HRR1keIzUr KAC2n4O8qJFRCnxqHC05S5dkPoBDtv94S8PTg/TYH6tSRhH/xxE6qzw6WDWOBW8WR+KWk3lKau9 ORuL2DqmdlJlzoH//OCgtjYFeaYu5MlqhMmqAek4uizY8R8FEcXFw7Ho8fHpgzObWNCkiDb0V+n nJr71+jXrV+2idPaIwHPwCSwPu010aLTvP9MsfmH9G9ntpwyPEiYJhzRu2bHBSxLVcVTZWyzp8e /5NrVRRb3wxYnQIllb1MlgJzwzV3z29oaMwEq/UNqCduXbXz1Pn9+Df3c/PoJYA9278FssZAr75 BV3V2JSgtXKJgc+MhNpkWdl0N6h14xDbAVJOFKJFGPIM4rHONmRsOmPxHe6tWJD9NuR/IUYSVwj z3BPP3YAwUxk9Q69hOXUpYkqNgKcjS0KDKzWmXVbvGGVKczwsBiABS7zj5R/R6nfyC2AGb+3zQd hBo6NlfzABzOY9tMFVUyw+tDZ4ftxKfzy042WPHva0Y9HJCA5TvUVanEt2QYxNwZaORrODNLp/X 4eEjUwrtGBdmGi80pltBHrsydSYPGQffQ40Wvv5E2hUEsSpbh6B/nJReyPhYbX3W79ZC8sdLxs5 TEVcjpQhpaZiIBQ== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the getsockopt(SOL_MPTCP) to get info about the MPTCP connections introduced by commit 55c42fa7fa33 ("mptcp: add MPTCP_INFO getsockopt") and the following ones. It is possible to look for "mptcp_diag_fill_info" in kallsyms because it is introduced by the mentioned feature. So we can know in advance if the feature is supported and skip the sub-test if not. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: ce9979129a0b ("selftests: mptcp: add mptcp getsockopt test cases") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index ff5adbb9c7f2..1d4ae8792227 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -87,6 +87,7 @@ cleanup() } =20 mptcp_lib_check_mptcp +mptcp_lib_check_kallsyms =20 ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then @@ -253,6 +254,11 @@ do_mptcp_sockopt_tests() { local lret=3D0 =20 + if ! mptcp_lib_kallsyms_has "mptcp_diag_fill_info$"; then + echo "INFO: MPTCP sockopt not supported: SKIP" + return + fi + ip netns exec "$ns_sbox" ./mptcp_sockopt lret=3D$? =20 --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A0C114293 for ; Mon, 22 May 2023 16:38:26 +0000 (UTC) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f427118644so62946165e9.0 for ; Mon, 22 May 2023 09:38:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773504; x=1687365504; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=cDDqMjQYOp2wFxeAFFqcvQbYk09WfYCq/KJQagEy/6E=; b=NHdeR/x+0OufMoEr7+Rqbe5HKB1Pnmc0fjcOk2hBch7U4Vk37M8RACtQjcqvyTJ5ew qAXjbY/xJ/mR8HF8S41nFPULrNwnwZ6PhfBp0DJuzTmQlJAGDNxgrFH9uOg28YoNF1af eaBUvPDok9pHmPZBhdJAmaORtzbX2+rTw8g9TOnTwlndj3NYi+aGggOBpaz/CyrwYbAJ NaxWUyLeRvOTcPJQ0wrz8NdjhXToaBlidiQp/YS/cE5qav+FT5OOnsfxlM/uW39WhYVH Yqt+FGJhs5C2WWc/1YU/qLCvGqNqhpjDPf1YbxiH/cS+cGbX8bk+MTDypcUzz4gMTQEr eDFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773504; x=1687365504; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cDDqMjQYOp2wFxeAFFqcvQbYk09WfYCq/KJQagEy/6E=; b=jQPToZiPiSIN17rj9086Q4PPkYMjIcnjE0SBrmGejUWf90XFPRlBOGKjmXaq7XVuc2 OGtAU/YqFJe1qx0EZ6Ro1Lu7Dt5rczrpaclzb1OsG8/piiZY0DaBpQezZUCtGPcwe0a3 DEmW+BcGYkB80A2Ok6SeoHx28MpJzzf2sME8bcxC/MRAo/bFHMzvr0vhbkUKSdmPF8cH ExL7z7/PEcLCDou5TNMB46n8nBa2/CxzdGYkd/JrB8yrlSTYG+V96UC96oJixB9DDpvJ ANgDWoj6n0tI57l92KJ3bjkzTnfawPTCM2Bzjc0EjyopYupy6TGML5kq1v29mg1RX8LH rudw== X-Gm-Message-State: AC+VfDx0qCO4WRr7Oxh207F1e8WoKVIyOuUM3CnYfH7K7etiLfC6x7WW LgFwtavT0uKZxq6DpCbFonvDsZ5Iaobidt+OGEQNzw== X-Google-Smtp-Source: ACHHUZ7z+iNSl5ftLsQpeTuovv39+mVCqnUN52dvZm+x7rQBguQrjrfIiuVx0ugttC3UGv90bq+qWw== X-Received: by 2002:a1c:7203:0:b0:3f5:faee:dace with SMTP id n3-20020a1c7203000000b003f5faeedacemr5489601wmc.32.1684773504447; Mon, 22 May 2023 09:38:24 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:24 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:51 +0200 Subject: [PATCH mptcp-net v2 19/37] selftests: mptcp: sockopt: skip TCP_INQ checks if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-19-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2105; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=jNMlBxSyx3VTiSARezuDvvNOfQso1SFAQGcty20ihVc=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwCIdECM7QngxvzJtSPHy9BwPYeFQEUgiRm 0o9o7wve+WJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c+BIEACEvC+DXLQIPA+tumfOdprO3eot00tHdoUhwEZQNEgoo8LAX1PXJYXej5YF74JyS6S6f7x Dc04OJRtn3AOrjrRM4qJFiguwqVSstk+rAdyBEQuMlJw6iui99gCnnrMZ3bD4DXRRXAQcurTb2p 5bsRWnA/VaKEkQcVH2IpCPjL1wwuSHFmdq+lhDWfvmsL89HdnNnKbq9jmxL4mzvd6Cf1MK/85ap jIuQQ+hKlhZkF/Ldl3ND5dYe35jShHha+3fTX5nC3t5N1LnMalIJLskJIev+F8GKLsnjvWQakew hNCiEDpi1w3pp8WBacukgcuNe+H2gsie/pj6Z2eB4f9BCdawWEWYdf1dGV6dqMrzm9ZRtxQRCuQ s2+2lXgs5V4pVqN3YfL0+2o7SSBrGNBO1RZzEyECq7cCMXS730SGdVuaLogKl9bzM4CH5DeeCM8 Ng33ef8esVIKuqRzKs6KFJGcmQYQjA7uh4m1WthOfa7+Nu93DeACt/vi9xcqpZul1gpG5fMUzOg rKYr9Xpy1dqQZCWqaum0c1bX4aJ4QGrQsPVP12kNKt++nvW2KUo75dlHfMkYyd49JA3sPWTII0N UTOHdUEhJAghW36Eg5MxNNJE+CHNlEfWmhV8Rybopilx72xHdeNyyeuWN7b4Y2zIrjr5iO+8sUf Ns/LPBiU72J0SFg== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is TCP_INQ cmsg support introduced in commit 2c9e77659a0c ("mptcp: add TCP_INQ cmsg support"). It is possible to look for "mptcp_ioctl" in kallsyms because it was needed to introduce the mentioned feature. We can skip these tests and not set TCPINQ option if the feature is not supported. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 5cbd886ce2a9 ("selftests: mptcp: add TCP_INQ support") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 1d4ae8792227..f295a371ff14 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -187,9 +187,14 @@ do_transfer() local_addr=3D"0.0.0.0" fi =20 + cmsg=3D"TIMESTAMPNS" + if mptcp_lib_kallsyms_has "mptcp_ioctl$"; then + cmsg+=3D",TCPINQ" + fi + timeout ${timeout_test} \ ip netns exec ${listener_ns} \ - $mptcp_connect -t ${timeout_poll} -l -M 1 -p $port -s ${srv_proto} -c T= IMESTAMPNS,TCPINQ \ + $mptcp_connect -t ${timeout_poll} -l -M 1 -p $port -s ${srv_proto} -c "= ${cmsg}" \ ${local_addr} < "$sin" > "$sout" & local spid=3D$! =20 @@ -197,7 +202,7 @@ do_transfer() =20 timeout ${timeout_test} \ ip netns exec ${connector_ns} \ - $mptcp_connect -t ${timeout_poll} -M 2 -p $port -s ${cl_proto} -c TIMES= TAMPNS,TCPINQ \ + $mptcp_connect -t ${timeout_poll} -M 2 -p $port -s ${cl_proto} -c "${cm= sg}" \ $connect_addr < "$cin" > "$cout" & =20 local cpid=3D$! @@ -313,6 +318,11 @@ do_tcpinq_tests() { local lret=3D0 =20 + if ! mptcp_lib_kallsyms_has "mptcp_ioctl$"; then + echo "INFO: TCP_INQ not supported: SKIP" + return + fi + local args for args in "-t tcp" "-r tcp"; do do_tcpinq_test $args --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27E8914A81 for ; Mon, 22 May 2023 16:38:27 +0000 (UTC) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3f6077660c6so6714635e9.0 for ; Mon, 22 May 2023 09:38:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773505; x=1687365505; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=i0ei76i35q+o+nzUQpSan8v+cX9LImprp1hU5M2lz48=; b=kXXbxA9vas2xE49Vz6zgFzLT1e8P0eqeeOY6mu2PQPhorvWnlNFZjfJZAGo2DeGXXK UkZsn1PFyztkkAgLY+DY40sHTXFRoPK3C3W4LdH8nYViDJd76MxBbxM5exrbeyrk/Vni E9LAFVbI6nQ01aii2Wje/NDu+cu/2G4ou2iZLhZffkgzO+2ynNjwhMaEbjc2d7Sme7qK 6DePa1GMAdh9rsAiFC6Uos7U3B8m0lcHcEAv07fBBHbD+pnO4gZUTR12hzP3/RgNK6Cj DgstwnMeFvyLqcAmIZUAPQ00QbH2kgIMGF5WNE83cE91TaBgtR6A8g2K0Y8Z8lYAf3Ta 8IpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773505; x=1687365505; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=i0ei76i35q+o+nzUQpSan8v+cX9LImprp1hU5M2lz48=; b=i6olN0NeLQ1ea/KMQ18uzsDl71lMA3KKBkPDRuVSrzOh5sUm87sisdXPS/lQaCxKxg qGPFVmYn2ojXWZNHOMyViPK4olmyZeWjB7C6n8jSRW4G3l2KFnUAv0Dck28CO3RrB856 AJTgxrhYqJC2LeypzJgv0tG6ymiqM40jn/90QOwHYnPrmeD4+ZXyn8qxOlNitRYWdyUP VlmtYOkShIjofZUQkKVlaaSc1qqU41CR9acC3qjvRs0s+SR5Zm/kgZLUawyH0Fabeqqm 4yVpUUOwfIyQHa6RLuczMCW07B1iwNnJIWddZ39IYf6qi+E+6d4cTZ9004ftZmo5eZH7 6xSQ== X-Gm-Message-State: AC+VfDwRUScjIlXnoy7VGiWSgqXDZLvsUFqtGZwvdrtCmrbjk9OTYUP5 yjNzoZvAnyZQPcrq+6HD8ueL9EXGBKCgKaJ2UVN/AA== X-Google-Smtp-Source: ACHHUZ4Kt7N94+8kAJUUrp0MoFCs3ZDUDpFiW5IJtS9Pj+dKsodebSeBOXcQIR88WsXxwYkX9OFZ6A== X-Received: by 2002:adf:f049:0:b0:309:3d00:7d4f with SMTP id t9-20020adff049000000b003093d007d4fmr8107698wro.28.1684773505236; Mon, 22 May 2023 09:38:25 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:24 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:52 +0200 Subject: [PATCH mptcp-net v2 20/37] selftests: mptcp: userspace pm: skip if 'ip' tool is unavailable Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-20-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=946; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=xTK/VWv7eqgePWxueOI9iC20Wx6RmAiAnEOlv8Am34o=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pw4/fZHMTa9z7PhaNamrIXYR9u6vr8EjMxV /8gGrwy5nqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg cxPxD/9qbdZ4epQ1ouMrYWuDA1FLbMF2AmzCCvLTb1j0zI6LGbkTW7ecir8ko9kEj3pXTP07DGd +6pWxShaBELnL0cl/TQRw//TWx997zlweC5bUPGUlU9pHkoetoDWlpyRxuZvjaeRAWisY5sYS/k 8vq5QuuGqu3G2Y75xlEJT0kpMRaHs01BN5Htfidyw2ZCewCKwJ1yM5VlnvlQRtYsGEKsbABky4p PHYY50SlM9TsCqeQWMJSzrB4QBY8s0bTg5LPffPJkmFWRrxVVZd3HOwR8+KX6/lsPbhFEK0nlMi wWqPUgS2UYn53KaRV5S6eUZp75p1fwrGwmULCVx2RKH4kp5UuImJQGzsZpjBMyaqKJ6kIBXJ0gm DePCC6NpLqaQ9nfttFHgVvr2J6F+LEwriDKHjse66wrCjLtDjbLxjeP2wDK1eARMnCWLk5o3cQ2 hktxmz4z4HaQIEjs5fxvrUPI7OITV704v0kkOYlZz7LP29XmCzyof4sQ9tAu3knY48njmSM6ZQ2 F6VunLRQuJmqiR0nc0FndxDQHqlWJJba9Nq/JLm+EbpvCdt7jqlldUBo60iX73DMrGzUpXz9W7E SG1BIVRp4bIKusRBq9gTY74LmbjojdYML5qrE3GUoZoQBwANJhd5wjDbEhgmA3wpqpmwy+QmAf3 AWaB+KgVF1k1E5A== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 When a required tool is missing, the return code 4 (SKIP) should be returned instead of 1 (FAIL). Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 259a834fadda ("selftests: mptcp: functional tests for the userspace = PM type") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 8092399d911f..192ab818f292 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -8,7 +8,7 @@ mptcp_lib_check_mptcp ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Cannot not run test without ip tool" - exit 1 + exit ${KSFT_SKIP} fi =20 ANNOUNCED=3D6 # MPTCP_EVENT_ANNOUNCED --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9AB313AFB for ; Mon, 22 May 2023 16:38:27 +0000 (UTC) Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f601c57d8dso13479585e9.0 for ; Mon, 22 May 2023 09:38:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773506; x=1687365506; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=BfALGkbdeZqYn7xN/5Z0nHmjpPlv4+uPxFOZ58/bR6w=; b=xcUt8yJ+/Ivu20Zc/Ihx/i92T32pqE7DnbK+uRqYvEZxfYY1bLpIBKPZekfXnqiWW1 kFnqQqFoCeiWwxOKtJAX5VEH/nHPDLLt8n/RmwU2t99EeIs1ROdI4lgcv2TqevCyGDN6 19d15LU0v8bNFaADF2EU87OadxDS0uoJdhbzemjATAX+UsN1qA3RKVVFpF4Km04dc7/i /k64a+CoTJqFfg/awkI1MXEuK4fOlopBHreIS5d2OrUtWxfETCv9WQprNk9PleL4S/wM VtzkIwQCRDcDcQzXLUGPil78u+RVMHpZdLpkClq2vhFkgOb3+Wbvag4dwB3lOKS2lFzK QBoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773506; x=1687365506; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BfALGkbdeZqYn7xN/5Z0nHmjpPlv4+uPxFOZ58/bR6w=; b=RzX8PQzl5e584w30JjzabgE34uWSgB7vZlxSDJlxOPZFx9tq6dmIi0pZtsO88JlvrT M0n9PKtZuoVeVMOV6jKcUjCFmi0AREpostNlYgnY8pgSN39xvDVtTSX86h8jhYSycaDz 4Xb2VI56SWxT41UNinKkfCU6JBKJroc6T490ahc+JPo68YaTSPmPNPTlIVg8OAT9QHo9 kHE6/Ch+owQ4l0DPc09kaIOsSTCMatBsXKf8THHL7tmdt8PxLzAQ/9krCRQTTEdAP2an gRpEWxGqJoliyhhX/YXoacHAkoJy8c4jsCDQl/QYjzzd+28n+0COFCw52pq8U7M/5uEd PSSA== X-Gm-Message-State: AC+VfDxSSlavMMwNxaqFJXA7UrgllRL/dsbgvG3eBFYd2ahyLr8vnLYp Qg1/8HmzH7ifPzvZCgGdAwOFLviz+Cn2GLYTygACHg== X-Google-Smtp-Source: ACHHUZ5hPMCBCx0Rz4yZ5W0r8UyIV7NKi4p08AK+gvUjSBwiERiGuebc6AaXkSmG6z5saNCZKv1UGw== X-Received: by 2002:a1c:730e:0:b0:3f4:2d85:bcda with SMTP id d14-20020a1c730e000000b003f42d85bcdamr8116087wmb.19.1684773505854; Mon, 22 May 2023 09:38:25 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:25 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:53 +0200 Subject: [PATCH mptcp-net v2 21/37] selftests: mptcp: userspace pm: skip if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-21-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1277; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=JbY9QbYLXxn3OEIxSLexF1YjsYYuO9zJrwO1xHi6YGI=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwwyhzyStGeeuaPSEXesFjeGWvBXg0yBIBs XgmCb16nAiJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c1z3EACOzUOC7BRaeHDY1BQNaLUSjlQjjiO9ZMc0XXLybmBbAlHlMP3u+gjLeCbCOqnwsgQIBVa Y7yvFW23rg5Jh99jJT8Luv60HLVOVr0iYXuAFAQPOb7eJpOU6iOPBM6zGjkvj/u9Hwa4IVOzWZd rUZEr6Hz3L4XzdaCwa3PMwYCH72wqDy0ljQ+GT6RTG6+NTUenWxGDSnst5TWPBGCFD48KvJk7Lz ytJnxSojqQobSG6fYUH6oNpOGaBCA+P+q2tdgNOoy+Z4dQJCxRaJjLKHoNsxuy1twnpr1nvrgVR GysRfuaVvglblx7ml/ce3IOQa1FZMVLYM5AGKcZnqN+vfP0XYwRNJIonJ5kk44/Sf0N3OkGFs04 bJNgGi/l7L8odHpDQ/jAsPzoQUTeVjLxyKVWapFeBJeRlpc7sFblhlBGx2qC4L2S/eBIVJ1rHGk X3gFp0Hcf/5QtQ0xAiWP9sTSB59eNUHaQ34zl0sdVdmvsnPklCYR01sQFarkuJcCsXBLQ7N2zOB lLuhwbCbMO0lMXKbUmb/D9pnnTL0wRIdKqFroCE9c6yHG9GKppeQe7sH06nO5FS3QZiJx+vktKn MFMaXWlKaFHpIJau6pqYLx7jBuK2E+qO70gRWHYPSRkC/RX3ZhgUtbDv5OpKfVwuTKatpXdlRZF Rc+Val04rj8jZ7g== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the MPTCP Userspace PM introduced by commit 4638de5aefe5 ("mptcp: handle local addrs announced by userspace PMs"). We can skip all these tests if the feature is not supported simply by looking for the MPTCP pm_type's sysctl knob. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 259a834fadda ("selftests: mptcp: functional tests for the userspace = PM type") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 192ab818f292..38a1d34f7b4d 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -5,6 +5,11 @@ =20 mptcp_lib_check_mptcp =20 +if ! mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then + echo "userspace pm tests are not supported by the kernel: SKIP" + exit ${KSFT_SKIP} +fi + ip -Version > /dev/null 2>&1 if [ $? -ne 0 ];then echo "SKIP: Cannot not run test without ip tool" --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90CCD134B0 for ; Mon, 22 May 2023 16:38:28 +0000 (UTC) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f605d8a8a9so11272885e9.0 for ; Mon, 22 May 2023 09:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773506; x=1687365506; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=hlWfw88eYnHZQLPYDvP0JzIhuYT6IbliwX/cY1enyT4=; b=4BopQGhItDmqI1i2zwL4NgwyistT3pMmBkciTZU7HKR1qPSBMKB44oNidfhNO0Q1ET 65YP/0QE8Bcgp2XLGUzEnppFn4Dmhx0R7M4QnatdUEomfsevBEUDazJn2CaNpY0oVeSe C5thGzs1Z9XmI27wP6lmk7/PGHI1p57LajUMBIMV8rhPm4rZwA0NJ7/1sGApFFLkU124 6oTzeMmvO3iACsIkX+1eWbteqPkFxFuIbObbrpNMIYEwX6zDpCy3ApjGINQ5pcSWXmLW GCS3HdBt0LU67YiwCm/7qwI9sVCpYOGWAkrGcsa6e0ORw85oUFijhGai3+mYaJ5oMkvm wf+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773506; x=1687365506; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hlWfw88eYnHZQLPYDvP0JzIhuYT6IbliwX/cY1enyT4=; b=AG/zTYKJ6YIy6qLLiMjuSLL3hHBlHAphTH5JoJkbMBAUJ4eHwH+ZL2cSPUFJI0aF7R JBGCHgl9xuh0RgAkiC+Wo2ZOSzh6syZhmPOetTg5I4iuhjzfmWcbuPe5qSC6AK+fYprr QMaVwsYo+qhLi6C+H0w988j62J8SVW97UhseRnx4GXonNt20kVHFSiZLz0r/A7EsM0dv 5U/Neghktxqgtl9uxgtdrWSmFqpvbuu/hbE4eKIOMw9V0AcgKJGjPHZfT6jIWPn0N2Qa A2sGhBkXmjomT+pcWHwHmJrwvPTearuhCeD8tDNU3ywDgLGRzTEyX/PSWNqJ1sf1lHab 52rQ== X-Gm-Message-State: AC+VfDw3mkBLfO06XrAQPb+5iKv/xxiDksYBiDH0cCj2/rxTyIAH+nqq 8S5apLp6JtA5NAt0Gu97A1QZ4w+nCUOk4T5YT9kxWw== X-Google-Smtp-Source: ACHHUZ7S8uU4MxNs0/aBnJMvlce5McbouOD7hdFsXPxTk74YnBnqvNF4aDXPrspUuCoNweYN2Iu4OQ== X-Received: by 2002:a7b:ce0e:0:b0:3f5:1bca:345a with SMTP id m14-20020a7bce0e000000b003f51bca345amr7849200wmc.21.1684773506543; Mon, 22 May 2023 09:38:26 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:26 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:54 +0200 Subject: [PATCH mptcp-net v2 22/37] selftests: mptcp: userspace pm: skip PM listener events tests if unavailable Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-22-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1621; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=wo1JLrvXXpEhA/1pGr2BkFQUY2u/ZSynFAbghLPp0/k=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwBbMy7JUsdVVFJyghdyXeV7UlsaP6NMGgm S/9Irr/B0iJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c+8QEACQJPsYLmQxjRzSB/Hw+1NuTyvXj0vCcEgu0afxSZeyJfBPtGC1HVP7Aj3kFjsG1zjgWuF rQqvVa605guQ6jLUVqGp94GiyLZDUS6xFP+OXg74X+SZSv9+SGZN7hjhokVa44r5JMNPscNLkaf cQVf+INqbBB+JjX7/qxV+gcmiISnZwqN7UrA2FFYzaVtBBUaor/SEs9wJfW5bV3pSKYCaLuJ0vu g75j5a0FEzM4CaStHsYs29SfP+BYrCh6DgqCXs1pfjugJkdOh10Jyqm5BqfYACqXr6LhxOgTwpX oG5St03ey24SlWZlvzcmfI+6k834ZaUAIOqOaN78UO3vHdkVSmmbCSPHp+0gzHt+aSxHMQjN4hX Zci0zAQDhfLuT6XGMzsXVf9Wl+KlKn4T/Brw6FtUzbO4BXqUgwmL28rHTQypZQdXIkJaeyh48wl 2MBFSaEu6zZOTb52Kbfv2PH9vzC+UyyGE6JIsfffIr4HHe8rR9272FJzzV9xXTpL1LvFa+cCQAf gpc3IIjjKZPz2hYz9lmA9Qe5OHAJHi0N7ylau96SrbHGRNj1w2gIy81qA65grpNsxDFlG8OWjAT m93hxDzYZvRlYNTRJ3FALVvRlEAlFLZPJidw7mILbDeRWLoNF5B9Jmt2DX6+zCbNVtZn1GV+FJM IttLcdyJypb7D3A== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the new listener events linked to the path-manager introduced by commit f8c9dfbd875b ("mptcp: add pm listener events"). It is possible to look for "mptcp_event_pm_listener" in kallsyms to know in advance if the kernel supports this feature and skip these sub-tests if the feature is not supported. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 6c73008aa301 ("selftests: mptcp: listener test for userspace PM") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 38a1d34f7b4d..98d9e4d2d3fc 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -4,6 +4,7 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 mptcp_lib_check_mptcp +mptcp_lib_check_kallsyms =20 if ! mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then echo "userspace pm tests are not supported by the kernel: SKIP" @@ -914,6 +915,11 @@ test_listener() { print_title "Listener tests" =20 + if ! mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then + stdbuf -o0 -e0 printf "LISTENER events = \t[SKIP] Not supported\n" + return + fi + # Capture events on the network namespace running the client :>$client_evts =20 --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0EF7714AB1 for ; Mon, 22 May 2023 16:38:29 +0000 (UTC) Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3f427118644so62946565e9.0 for ; Mon, 22 May 2023 09:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773507; x=1687365507; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=vKx+xv3nEIXuhA8bErb+nTJg+SfY8Skia7lFVKUSScc=; b=0AbUljBygkjbrn5curfpnUywdviwdaCwe7E7OXso/CRVcY/ESawLu/YjmY66C0Riol QplwcM6jdBE3KMPBrD+0PHR9X4hBub534FIs1T7+Q70LTYAOaeoH60f2JPMEHtiQP+v7 16ti3hDMKQlQCjXnfUj32u6Ym5TVzMT5rmdXdWx4Vapwx4r2E4vB10DUVbTWp5WfxqmS b13QNfg+BhSz1qFh08vUZIC1EsCBpJItdiTvzkRMshOABAmZBb2DVn0VGAQF6CLNgM7K DTJAF/NiWYPbz5zq/q2ZK1CkzFVnZg+4msGWCjRm5cCxY1jii85Dyr3C/SoQCVNbJWaV IBcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773507; x=1687365507; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vKx+xv3nEIXuhA8bErb+nTJg+SfY8Skia7lFVKUSScc=; b=lnvWAt8Hv6gPgkBlALuMP2zA5ag2J/yPEYa3Qoh8bDfwRa7vlAs+/zHb1OUyrBcBCD f6JR/LQl2fXr65OVOhwZl2nOXNkeQIcaVjfmQB0wE0YdQQ+SRQk3eNRC3KGhAwTJ+LxB YyDfaUSTMP3pN3KsrdtQyb1cqu6Fmzd/dAiLpmEfOkA6Cm5GG3Ec7wLKbRdP8aK4w1c9 qrITM6LxOcQXymLZMQhYgEipgltmZ+0rAEXp0pNFj9udYK/MK4U9IefIQjdhXg4721B1 9IXQRAyJCcqLq4Ia+GIIOp7WUcUuNCGbnu/UwTOhvBSaFYF/alNwDsJ++024eGtWxyEh /c3w== X-Gm-Message-State: AC+VfDwuRGivvU4nlvAauk8rBcJadd7a+MadWAwrUnf4LKjFbSgrZBzx NaaAK9Vx3Cb6vnJaRKN/75QSQkGCNnmBSYD/eNezGw== X-Google-Smtp-Source: ACHHUZ7YU803Q4ykqKiXr6nuULrFvu/ZFeO+PckQ7dnRNGIyapvOIFKZjV1pTChKejkNtkaj23qqjQ== X-Received: by 2002:adf:f544:0:b0:307:a36b:e7b1 with SMTP id j4-20020adff544000000b00307a36be7b1mr9501959wrp.5.1684773507167; Mon, 22 May 2023 09:38:27 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:26 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:55 +0200 Subject: [PATCH mptcp-net v2 23/37] selftests: mptcp: join: use 'iptables-legacy' if available Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-23-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2293; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=p+0Luuq1myegD/ZjZOiSrcF0FYNgwCvSKvoQ8bE6hb4=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwO6XSy2ajZSSk01CliVNngaEh6vQlNKOrU yUvsb+hxE+JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c/toD/0fKaVl9da8aB4Ovo5rHc1RfxNVj2OlIdUcFHn8GMLdrkAD3S3M+9mfRMCNciRKFyzNvdO X9JppAj8IjTe+dBVC/Qns1cK7xEoFYSeduNL9dcYxsMQq94sncWhXr840EEIQHrsu/+ywwg3dBe m99jqAtff86ya68uG4mNmSiXnadd18wMvQ/I0lZ2ei1yurn4q2cAycPGYQzID2vRObLWRUfkZxc Zm98enXVk6wULWqr5Fzp8tdc8nOzxvRcXU8tCIURShKiZ26TaEHzD2RolDEbGwqLa2sOjVt7BAg CjlQMxYrJEqNNK1eQQ/iFCsaHfpflXtwYg7P/RHb2fIcBWtoKHi8IsxKPaBotviJD6iRr/QrHfX +Jv5/fFFeJs4ZWAg0ZEA6wU/T0GxvamszciPk44ZZBXbYEhuwImBVTYG+qL5Haay68cL5bPXS+q kDffjxQMVHE13+eH4H8o9Wq1IJa2Yu2Yvoz7jvocKEWM+0wshPzMwOg1MJ65r/hbvqIadl3wKSu j789AazV3HAZAT4/Gv0z+RxC8Vi88vyJn+U5fZHHfGhg6leOKuR+PZXeEiU4WIcJUfoRXrH/EyO W09zUynSr6iOQd0jmoNnXIXyu/7pGi3ywgTFtEoYVw8Ra0q8J45+0XsYKIvI6J3clK3p+cIN3XR OaQwRyZIYVCPYuQ== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 IPTables commands using 'iptables-nft' fail on old kernels, at least 5.15 because it doesn't see the default IPTables chains: $ iptables -L iptables/1.8.2 Failed to initialize nft: Protocol not supported As a first step before switching to NFTables, we can use iptables-legacy if available. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 8d014eaa9254 ("selftests: mptcp: add ADD_ADDR timeout test case") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 07f6c104fbe7..6eabde9d1164 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -25,6 +25,8 @@ capout=3D"" ns1=3D"" ns2=3D"" ksft_skip=3D4 +iptables=3D"iptables" +ip6tables=3D"ip6tables" timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) capture=3D0 @@ -148,7 +150,11 @@ check_tools() exit $ksft_skip fi =20 - if ! iptables -V &> /dev/null; then + # Use the legacy version if available to support old kernel versions + if iptables-legacy -V &> /dev/null; then + iptables=3D"iptables-legacy" + ip6tables=3D"ip6tables-legacy" + elif ! iptables -V &> /dev/null; then echo "SKIP: Could not run all tests without iptables tool" exit $ksft_skip fi @@ -249,9 +255,9 @@ reset_with_add_addr_timeout() =20 reset "${1}" || return 1 =20 - tables=3D"iptables" + tables=3D"${iptables}" if [ $ip -eq 6 ]; then - tables=3D"ip6tables" + tables=3D"${ip6tables}" fi =20 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=3D1 @@ -316,9 +322,9 @@ reset_with_fail() local ip=3D"${3:-4}" local tables =20 - tables=3D"iptables" + tables=3D"${iptables}" if [ $ip -eq 6 ]; then - tables=3D"ip6tables" + tables=3D"${ip6tables}" fi =20 ip netns exec $ns2 $tables \ @@ -709,7 +715,7 @@ filter_tcp_from() local src=3D"${2}" local target=3D"${3}" =20 - ip netns exec "${ns}" iptables -A INPUT -s "${src}" -p tcp -j "${target}" + ip netns exec "${ns}" ${iptables} -A INPUT -s "${src}" -p tcp -j "${targe= t}" } =20 do_transfer() --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEE9813AFB for ; Mon, 22 May 2023 16:38:29 +0000 (UTC) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f607766059so8811005e9.3 for ; Mon, 22 May 2023 09:38:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773508; x=1687365508; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=VO13vNsQibASaYz0/KEq7RnJ1Y6pSb7vyiyDyziHYTI=; b=CUhzBe/j7xwHJ2unekuVtUzW8OfgRphDfW9tekQJJtgW8FqhysHR7mRrR0dQjYwxoX SIXEg9+xWqWjrLovtJ2RcEYy0iieVVrJXf9t3dV730I/ZwxNUIQzlR3BrVI/vPffuWiJ 1rjZkaFM5VtR/YH0c1ilBQ/uwV/V9dKQcLHRYZtN/jaXUS+kPk1lxSnnE8KfQPEIykR8 qA+emzujh+bg0N41M7VZpKaHqDP1uLhcpNn5pNPSs/saRne84dSVpw8fBGJY/ciXsRGZ Dw0APDpog9GASGkDI6uEH9U9a3+lR94SrgVEZGMq7JEDAwkCitxduY1W5O2fUbUtEDdp /QQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773508; x=1687365508; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VO13vNsQibASaYz0/KEq7RnJ1Y6pSb7vyiyDyziHYTI=; b=PT7j3FSQ+65rFn+oEfD4u39DEGl10iK/8S+HsOiefF7N+4Agx0Pww3R/WDnYC17a0n Y2kzfA1GMb4IdkMHkjfdL+2Cx+PdDJXHLvJWQPHQGADXIfUNFquGuuCJxZcYdHcsYnK6 6emyQx2AA4QdzTyvzEhHu4LkZH+TL1DKE9d/YxD87q61e3C7CToIlwmrv9VzhmBrEvqv Br7+PH8Kr145dywugEkNz06gedkiIToYupDhk5LVTIOlMR0D4RYkkQTH5U6sFpYPoeZt XaJscw6XraW3ZVRGeKs5f7E+Sd+dOy3oXdyNUg1eJ1CzIjaLNofETlljRjvlcCDuyDiU Hwpg== X-Gm-Message-State: AC+VfDwNato7bJxOywa8I/t4hytmhJC1pDKEuPu/0MO7cMAxImr/2kzU AeIgVl9RqTeQZYLTqoM0CqSbYlKN1JxwVSo5xla3vg== X-Google-Smtp-Source: ACHHUZ7+1chqGQXxrMk9h6AJ5nad1uomofa7cIj9MUErHXpFubwkOoHZi/tkfDG9yY9aUDMyn71dSg== X-Received: by 2002:a7b:c301:0:b0:3f4:f7c2:d681 with SMTP id k1-20020a7bc301000000b003f4f7c2d681mr8728852wmj.29.1684773507842; Mon, 22 May 2023 09:38:27 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:27 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:56 +0200 Subject: [PATCH mptcp-net v2 24/37] selftests: mptcp: join: helpers to skip tests Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-24-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1846; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=ssYPH/FkF34V2hwLg74v69CAcuDlCDCX1MF9gD1eLMA=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pwjDuQ+eYvFlt3JICR66IJHWORmoc41V7eH Gz8H/FNcTSJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacAAKCRD2t4JPQmmg c2nKD/9QN7wzxXOQhfK8OW5mgqcZs0tpea+ITk/E62jxolWDKHmdR08kyTseHyA+IJvTRWorr9e /XRLcvaLAJQTgyF33CKpJApBAVUX758hMUqzjbRrRhIa19bogKFpSYCjOPb8y9dUktxwgirXby5 OIXgL9quPFd74VGYnSggPWj1pNTr5e0V84sJPQs/Kgo4k66kNoMtvnL83qkjjb66bxBSZcEuqUG Vdu7lzaoNLhjanbiGAxJyunBcipq+6Xt9EO1QElWf7/DCRvNysdjgOTo++TB3YFhTYDi1NiZkFe 3va2hbrH6q/tQ1iC9qTIzEP0icuSXNUNvBiUx2SL8IbOSsCkaojNbg3VT/xLl73jAq9ESs0jSBa VP9FXMQBlpGlJHnyJJxnbC6f9WoxlHjbNlpyHQa2b6smWcrlc/hF1frbxVVFO7Zki4IVNa1F54C 2h1STOUNi4HrX8K6fTiywD6h2SmaC1mx4Co4GnZLWn2ZF5LWwxEF+piqq4N8e+Cd2z3jm+BGqf3 9ZyC4V/wsG7auD8GpcxFc0tua5P/fTHKo4pjcXNhm8ZH4x2gcEs0HE4QKa3E0J5bx8R0epnDKrS 2LfbCLhAzwQ9x+wz/L1NsarRB1cNs00xawNpa29ZuKK+W0W2r9CE6ej+LNDXVDwL2MNX6/NavXf MJpPYhq+QnjCsyQ== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. Here are some helpers that will be used to mark subtests as skipped if a feature is not supported. Marking as a fix for the commit introducing this selftest to help with the backports. While at it, also check if kallsyms feature is available as it will also be used in the following commits to check if MPTCP features are available before starting a test. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: b08fbf241064 ("selftests: add test-cases for MPTCP MP_JOIN") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 27 +++++++++++++++++++++= ++++ 1 file changed, 27 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 6eabde9d1164..1a8f7c6fa988 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -144,6 +144,7 @@ cleanup_partial() check_tools() { mptcp_lib_check_mptcp + mptcp_lib_check_kallsyms =20 if ! ip -Version &> /dev/null; then echo "SKIP: Could not run test without ip tool" @@ -193,6 +194,32 @@ cleanup() cleanup_partial } =20 +# $1: msg +print_title() +{ + printf "%03u %-36s %s" "${TEST_COUNT}" "${TEST_NAME}" "${1}" +} + +# [ $1: fail msg ] +mark_as_skipped() +{ + local msg=3D"${1:-"Feature not supported"}" + + mptcp_lib_fail_if_expected_feature "${msg}" + + print_title "[ skip ] ${msg}" + printf "\n" +} + +# $@: condition +continue_if() +{ + if ! "${@}"; then + mark_as_skipped + return 1 + fi +} + skip_test() { if [ "${#only_tests_ids[@]}" -eq 0 ] && [ "${#only_tests_names[@]}" -eq 0= ]; then --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C47BC134B0 for ; Mon, 22 May 2023 16:38:30 +0000 (UTC) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3093a7b71fbso6076785f8f.2 for ; Mon, 22 May 2023 09:38:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773508; x=1687365508; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Efk9cL7Xil38JdYUVreVMvnwva+BSm37z9DnJN1AKng=; b=jB+9QGuVTNE2l91aNgHaOYqMPR6fSZxLklbu//BExWIVJ+Aa3wcoehYjuvM/tY1y64 RszRBVpERgStD/2pj2llYEylJlhWRd9/2Ooql0uLHFIdi2EXi1BKvKfP7oehLM61+kPW 02IIn89uPHHbAVAla4KQve0UPBien8JBZWXnbeSvdJ/htXTs7gzQstxyQFyjI5Hq1pa6 8/X1XjsVmrNCS8c7eaMQdJYlCqeCMLRAiMJJPoBFiTY+AfCfePsKGz0TMOw1xvn+KBwB lZOijJ4dMOMv9Noo4LN7WwAgijIOhAY/fsRw2ARLHWXPcyP3WuDAUjlK2uOH4bfYE+5U lE/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773508; x=1687365508; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Efk9cL7Xil38JdYUVreVMvnwva+BSm37z9DnJN1AKng=; b=cHFxcwZbX8f2qijt4A9DmTvVfm8iFJIwwQ1FuwrgsRzvA9Y2lCSLVD9xhoML0OowHU HGOD3j9C81mC5gWz+17M8Qgv534x5mWF1JqBx1OQ/hqKmhtzzWcSe8SAiEbAirfFxi6m BPi0qIxhpU8FcBSPnbbXyNYe3x6VHDjdbpgk8Za2Lk851M5OKpd1N6/YIBVMjyK05+uS Mc76B3XGq8LesuYiynr6/qJ1qs/pBNregQVreP2mK1TC/SMnvv7mrr35ViiNxRBptr4c en1CBRYvICVBTNEcwS70ZnLz3Ku18MJ4pUH7vD4MwKbXVl3mvlkS1PNHbbTRZKPlE/ie tQtw== X-Gm-Message-State: AC+VfDwhvUSFLj9PoLepA6jQQ/N1tcD3gkBe6SGi+6jBbC6APkb7c0nS eoEdpZ8858nVy+v7svZ9IgTenwjkey4rw+DnoQG/ag== X-Google-Smtp-Source: ACHHUZ5PwHKZc1xbb+24Ddz0KvyWVI+e0XG58YVzzATz6YRlrlMVSVMK4Z4S/dzzl+dHNnmtJgbDng== X-Received: by 2002:adf:e7c8:0:b0:306:462a:b78d with SMTP id e8-20020adfe7c8000000b00306462ab78dmr8262691wrn.53.1684773508501; Mon, 22 May 2023 09:38:28 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:28 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:57 +0200 Subject: [PATCH mptcp-net v2 25/37] selftests: mptcp: join: skip check if MIB counter not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-25-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=19672; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=rdDKJUN8VY0qIm+v1wuEkeCXkkZUySgdzQArtSu9XyE=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxaTJYsVA88eUvJbEnAo7fqr1fDIKV1mJWQ PNTXZf3kYCJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c8c+D/9zxEMkT7SonF5sh1zocR4LmMSkIba8ow8Mcie1/ME7srgpH28WmyUi1ywyS/+Hb+ammsx OiLQvByW0of7xfOYZl6xpneoZQ0IwN3xrEZG0bg5UO6LkbSg2/phaMSVzgVb1Ymj1Zu0GJhyJg+ GYoP3D55EzKXWQ6l4e6FtPMiGExLJ8/RbCbB2bcGrHdfTqroXGKcS4DGx3kIAPao8maDosi14Rt S5w0Rv2NpEkRClHJnEqNSJ7CzG4cK+/zgxxJdjdKdP8RTQhfYgUef7lsvQz7JPOgbjE/3ErhTEi iTcR7Mx82xx8QjmMMuLMwqBxdeZFFuGPr0UrDDSWOTRzdbeIF2Ihkx14tuPSrkJlxdUxa1WORnN NmiCwFXzQYxqeilnvFcDedPh5gHzu5A7ZJGQa3sqS/PFQJvA4cUJZfkBL4b9DB06zdRDgurP41i cZqijg4QrwkSgMBjO/bVLGWboVe+GfiE7Pyw9kenfsshf4FcOuqYxLtNbFLxsJVaIpzeXlIbuk0 ogA3hYMpPdxnPdKngGXh90q+94lBmS2AYXt/0fayU6URHPhKmWc3Pg6/7+tHYbXw1Dg+nhnVige PBegNahAWAgrJ0mUVPur51lMcwVC8RtWvRilAYg2YxW8V+66s3b8GuDKW9jM7NDWzBtsyyBr6IH Kwv1yAC9y3Un2ZQ== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the MPTCP MIB counters introduced in commit fc518953bc9c ("mptcp: add and use MIB counter infrastructure") and more later. The MPTCP Join selftest heavily relies on these counters. If a counter is not supported by the kernel, it is not displayed when using 'nstat -z'. We can then detect that and skip the verification. A new helper (get_counter()) has been added to do the required checks and return an error if the counter is not available. Note that if we expect to have these features available and if SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, the tests will be marked as failed instead of skipped. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: b08fbf241064 ("selftests: add test-cases for MPTCP MP_JOIN") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 251 ++++++++++++++------= ---- 1 file changed, 142 insertions(+), 109 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 1a8f7c6fa988..73c513f1e808 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -505,11 +505,25 @@ wait_local_port_listen() done } =20 +# $1: ns ; $2: counter +get_counter() +{ + local ns=3D"${1}" + local counter=3D"${2}" + local count + + count=3D$(ip netns exec ${ns} nstat -asz "${counter}" | awk 'NR=3D=3D1 {n= ext} {print $2}') + if [ -z "${count}" ]; then + mptcp_lib_fail_if_expected_feature "${counter} counter" + return 1 + fi + + echo "${count}" +} + rm_addr_count() { - local ns=3D${1} - - ip netns exec ${ns} nstat -as | grep MPTcpExtRmAddr | awk '{print $2}' + get_counter "${1}" "MPTcpExtRmAddr" } =20 # $1: ns, $2: old rm_addr counter in $ns @@ -532,11 +546,11 @@ wait_mpj() local ns=3D"${1}" local cnt old_cnt =20 - old_cnt=3D$(ip netns exec ${ns} nstat -as | grep MPJoinAckRx | awk '{prin= t $2}') + old_cnt=3D$(get_counter ${ns} "MPTcpExtMPJoinAckRx") =20 local i for i in $(seq 10); do - cnt=3D$(ip netns exec ${ns} nstat -as | grep MPJoinAckRx | awk '{print $= 2}') + cnt=3D$(get_counter ${ns} "MPTcpExtMPJoinAckRx") [ "$cnt" =3D "${old_cnt}" ] || break sleep 0.1 done @@ -1185,12 +1199,13 @@ chk_csum_nr() fi =20 printf "%-${nr_blank}s %s" " " "sum" - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtDataCsumErr | awk '= {print $2}') - [ -z "$count" ] && count=3D0 + count=3D$(get_counter ${ns1} "MPTcpExtDataCsumErr") if [ "$count" !=3D "$csum_ns1" ]; then extra_msg=3D"$extra_msg ns1=3D$count" fi - if { [ "$count" !=3D $csum_ns1 ] && [ $allow_multi_errors_ns1 -eq 0 ]; } = || + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" !=3D $csum_ns1 ] && [ $allow_multi_errors_ns1 -eq 0 ]; = } || { [ "$count" -lt $csum_ns1 ] && [ $allow_multi_errors_ns1 -eq 1 ]; }; = then echo "[fail] got $count data checksum error[s] expected $csum_ns1" fail_test @@ -1198,12 +1213,13 @@ chk_csum_nr() echo -n "[ ok ]" fi echo -n " - csum " - count=3D$(ip netns exec $ns2 nstat -as | grep MPTcpExtDataCsumErr | awk '= {print $2}') - [ -z "$count" ] && count=3D0 + count=3D$(get_counter ${ns2} "MPTcpExtDataCsumErr") if [ "$count" !=3D "$csum_ns2" ]; then extra_msg=3D"$extra_msg ns2=3D$count" fi - if { [ "$count" !=3D $csum_ns2 ] && [ $allow_multi_errors_ns2 -eq 0 ]; } = || + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" !=3D $csum_ns2 ] && [ $allow_multi_errors_ns2 -eq 0 ]; = } || { [ "$count" -lt $csum_ns2 ] && [ $allow_multi_errors_ns2 -eq 1 ]; }; = then echo "[fail] got $count data checksum error[s] expected $csum_ns2" fail_test @@ -1242,12 +1258,13 @@ chk_fail_nr() fi =20 printf "%-${nr_blank}s %s" " " "ftx" - count=3D$(ip netns exec $ns_tx nstat -as | grep MPTcpExtMPFailTx | awk '{= print $2}') - [ -z "$count" ] && count=3D0 + count=3D$(get_counter ${ns_tx} "MPTcpExtMPFailTx") if [ "$count" !=3D "$fail_tx" ]; then extra_msg=3D"$extra_msg,tx=3D$count" fi - if { [ "$count" !=3D "$fail_tx" ] && [ $allow_tx_lost -eq 0 ]; } || + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" !=3D "$fail_tx" ] && [ $allow_tx_lost -eq 0 ]; } || { [ "$count" -gt "$fail_tx" ] && [ $allow_tx_lost -eq 1 ]; }; then echo "[fail] got $count MP_FAIL[s] TX expected $fail_tx" fail_test @@ -1256,12 +1273,13 @@ chk_fail_nr() fi =20 echo -n " - failrx" - count=3D$(ip netns exec $ns_rx nstat -as | grep MPTcpExtMPFailRx | awk '{= print $2}') - [ -z "$count" ] && count=3D0 + count=3D$(get_counter ${ns_rx} "MPTcpExtMPFailRx") if [ "$count" !=3D "$fail_rx" ]; then extra_msg=3D"$extra_msg,rx=3D$count" fi - if { [ "$count" !=3D "$fail_rx" ] && [ $allow_rx_lost -eq 0 ]; } || + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" !=3D "$fail_rx" ] && [ $allow_rx_lost -eq 0 ]; } || { [ "$count" -gt "$fail_rx" ] && [ $allow_rx_lost -eq 1 ]; }; then echo "[fail] got $count MP_FAIL[s] RX expected $fail_rx" fail_test @@ -1289,10 +1307,11 @@ chk_fclose_nr() fi =20 printf "%-${nr_blank}s %s" " " "ctx" - count=3D$(ip netns exec $ns_tx nstat -as | grep MPTcpExtMPFastcloseTx | a= wk '{print $2}') - [ -z "$count" ] && count=3D0 - [ "$count" !=3D "$fclose_tx" ] && extra_msg=3D"$extra_msg,tx=3D$count" - if [ "$count" !=3D "$fclose_tx" ]; then + count=3D$(get_counter ${ns_tx} "MPTcpExtMPFastcloseTx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$fclose_tx" ]; then + extra_msg=3D"$extra_msg,tx=3D$count" echo "[fail] got $count MP_FASTCLOSE[s] TX expected $fclose_tx" fail_test else @@ -1300,10 +1319,11 @@ chk_fclose_nr() fi =20 echo -n " - fclzrx" - count=3D$(ip netns exec $ns_rx nstat -as | grep MPTcpExtMPFastcloseRx | a= wk '{print $2}') - [ -z "$count" ] && count=3D0 - [ "$count" !=3D "$fclose_rx" ] && extra_msg=3D"$extra_msg,rx=3D$count" - if [ "$count" !=3D "$fclose_rx" ]; then + count=3D$(get_counter ${ns_rx} "MPTcpExtMPFastcloseRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$fclose_rx" ]; then + extra_msg=3D"$extra_msg,rx=3D$count" echo "[fail] got $count MP_FASTCLOSE[s] RX expected $fclose_rx" fail_test else @@ -1330,9 +1350,10 @@ chk_rst_nr() fi =20 printf "%-${nr_blank}s %s" " " "rtx" - count=3D$(ip netns exec $ns_tx nstat -as | grep MPTcpExtMPRstTx | awk '{p= rint $2}') - [ -z "$count" ] && count=3D0 - if [ $count -lt $rst_tx ]; then + count=3D$(get_counter ${ns_tx} "MPTcpExtMPRstTx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ $count -lt $rst_tx ]; then echo "[fail] got $count MP_RST[s] TX expected $rst_tx" fail_test else @@ -1340,9 +1361,10 @@ chk_rst_nr() fi =20 echo -n " - rstrx " - count=3D$(ip netns exec $ns_rx nstat -as | grep MPTcpExtMPRstRx | awk '{p= rint $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" -lt "$rst_rx" ]; then + count=3D$(get_counter ${ns_rx} "MPTcpExtMPRstRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" -lt "$rst_rx" ]; then echo "[fail] got $count MP_RST[s] RX expected $rst_rx" fail_test else @@ -1359,9 +1381,10 @@ chk_infi_nr() local count =20 printf "%-${nr_blank}s %s" " " "itx" - count=3D$(ip netns exec $ns2 nstat -as | grep InfiniteMapTx | awk '{print= $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$infi_tx" ]; then + count=3D$(get_counter ${ns2} "MPTcpExtInfiniteMapTx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$infi_tx" ]; then echo "[fail] got $count infinite map[s] TX expected $infi_tx" fail_test else @@ -1369,9 +1392,10 @@ chk_infi_nr() fi =20 echo -n " - infirx" - count=3D$(ip netns exec $ns1 nstat -as | grep InfiniteMapRx | awk '{print= $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$infi_rx" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtInfiniteMapRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" !=3D "$infi_rx" ]; then echo "[fail] got $count infinite map[s] RX expected $infi_rx" fail_test else @@ -1399,9 +1423,10 @@ chk_join_nr() fi =20 printf "%03u %-36s %s" "${TEST_COUNT}" "${title}" "syn" - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinSynRx | awk '= {print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$syn_nr" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMPJoinSynRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$syn_nr" ]; then echo "[fail] got $count JOIN[s] syn expected $syn_nr" fail_test else @@ -1410,9 +1435,10 @@ chk_join_nr() =20 echo -n " - synack" with_cookie=3D$(ip netns exec $ns2 sysctl -n net.ipv4.tcp_syncookies) - count=3D$(ip netns exec $ns2 nstat -as | grep MPTcpExtMPJoinSynAckRx | aw= k '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$syn_ack_nr" ]; then + count=3D$(get_counter ${ns2} "MPTcpExtMPJoinSynAckRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$syn_ack_nr" ]; then # simult connections exceeding the limit with cookie enabled could go up= to # synack validation as the conn limit can be enforced reliably only after # the subflow creation @@ -1427,9 +1453,10 @@ chk_join_nr() fi =20 echo -n " - ack" - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinAckRx | awk '= {print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$ack_nr" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMPJoinAckRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" !=3D "$ack_nr" ]; then echo "[fail] got $count JOIN[s] ack expected $ack_nr" fail_test else @@ -1459,12 +1486,12 @@ chk_stale_nr() local recover_nr =20 printf "%-${nr_blank}s %-18s" " " "stale" - stale_nr=3D$(ip netns exec $ns nstat -as | grep MPTcpExtSubflowStale | aw= k '{print $2}') - [ -z "$stale_nr" ] && stale_nr=3D0 - recover_nr=3D$(ip netns exec $ns nstat -as | grep MPTcpExtSubflowRecover = | awk '{print $2}') - [ -z "$recover_nr" ] && recover_nr=3D0 =20 - if [ $stale_nr -lt $stale_min ] || + stale_nr=3D$(get_counter ${ns} "MPTcpExtSubflowStale") + recover_nr=3D$(get_counter ${ns} "MPTcpExtSubflowRecover") + if [ -z "$stale_nr" ] || [ -z "$recover_nr" ]; then + echo "[skip]" + elif [ $stale_nr -lt $stale_min ] || { [ $stale_max -gt 0 ] && [ $stale_nr -gt $stale_max ]; } || [ $((stale_nr - recover_nr)) -ne $stale_delta ]; then echo "[fail] got $stale_nr stale[s] $recover_nr recover[s], " \ @@ -1499,12 +1526,12 @@ chk_add_nr() timeout=3D$(ip netns exec $ns1 sysctl -n net.mptcp.add_addr_timeout) =20 printf "%-${nr_blank}s %s" " " "add" - count=3D$(ip netns exec $ns2 nstat -as MPTcpExtAddAddr | grep MPTcpExtAdd= Addr | awk '{print $2}') - [ -z "$count" ] && count=3D0 - + count=3D$(get_counter ${ns2} "MPTcpExtAddAddr") + if [ -z "$count" ]; then + echo -n "[skip]" # if the test configured a short timeout tolerate greater then expected # add addrs options, due to retransmissions - if [ "$count" !=3D "$add_nr" ] && { [ "$timeout" -gt 1 ] || [ "$count" -l= t "$add_nr" ]; }; then + elif [ "$count" !=3D "$add_nr" ] && { [ "$timeout" -gt 1 ] || [ "$count" = -lt "$add_nr" ]; }; then echo "[fail] got $count ADD_ADDR[s] expected $add_nr" fail_test else @@ -1512,9 +1539,10 @@ chk_add_nr() fi =20 echo -n " - echo " - count=3D$(ip netns exec $ns1 nstat -as MPTcpExtEchoAdd | grep MPTcpExtEch= oAdd | awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$echo_nr" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtEchoAdd") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$echo_nr" ]; then echo "[fail] got $count ADD_ADDR echo[s] expected $echo_nr" fail_test else @@ -1523,9 +1551,10 @@ chk_add_nr() =20 if [ $port_nr -gt 0 ]; then echo -n " - pt " - count=3D$(ip netns exec $ns2 nstat -as | grep MPTcpExtPortAdd | awk '{pr= int $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$port_nr" ]; then + count=3D$(get_counter ${ns2} "MPTcpExtPortAdd") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" !=3D "$port_nr" ]; then echo "[fail] got $count ADD_ADDR[s] with a port-number expected $port_n= r" fail_test else @@ -1533,10 +1562,10 @@ chk_add_nr() fi =20 printf "%-${nr_blank}s %s" " " "syn" - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinPortSynRx | - awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$syn_nr" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMPJoinPortSynRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$syn_nr" ]; then echo "[fail] got $count JOIN[s] syn with a different \ port-number expected $syn_nr" fail_test @@ -1545,10 +1574,10 @@ chk_add_nr() fi =20 echo -n " - synack" - count=3D$(ip netns exec $ns2 nstat -as | grep MPTcpExtMPJoinPortSynAckRx= | - awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$syn_ack_nr" ]; then + count=3D$(get_counter ${ns2} "MPTcpExtMPJoinPortSynAckRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$syn_ack_nr" ]; then echo "[fail] got $count JOIN[s] synack with a different \ port-number expected $syn_ack_nr" fail_test @@ -1557,10 +1586,10 @@ chk_add_nr() fi =20 echo -n " - ack" - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinPortAckRx | - awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$ack_nr" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMPJoinPortAckRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" !=3D "$ack_nr" ]; then echo "[fail] got $count JOIN[s] ack with a different \ port-number expected $ack_nr" fail_test @@ -1569,10 +1598,10 @@ chk_add_nr() fi =20 printf "%-${nr_blank}s %s" " " "syn" - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMismatchPortSynRx | - awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$mis_syn_nr" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMismatchPortSynRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$mis_syn_nr" ]; then echo "[fail] got $count JOIN[s] syn with a mismatched \ port-number expected $mis_syn_nr" fail_test @@ -1581,10 +1610,10 @@ chk_add_nr() fi =20 echo -n " - ack " - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMismatchPortAckRx | - awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$mis_ack_nr" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMismatchPortAckRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" !=3D "$mis_ack_nr" ]; then echo "[fail] got $count JOIN[s] ack with a mismatched \ port-number expected $mis_ack_nr" fail_test @@ -1606,12 +1635,12 @@ chk_add_tx_nr() timeout=3D$(ip netns exec $ns1 sysctl -n net.mptcp.add_addr_timeout) =20 printf "%-${nr_blank}s %s" " " "add TX" - count=3D$(ip netns exec $ns1 nstat -as MPTcpExtAddAddrTx | grep MPTcpExtA= ddAddrTx | awk '{print $2}') - [ -z "$count" ] && count=3D0 - + count=3D$(get_counter ${ns1} "MPTcpExtAddAddrTx") + if [ -z "$count" ]; then + echo -n "[skip]" # if the test configured a short timeout tolerate greater then expected # add addrs options, due to retransmissions - if [ "$count" !=3D "$add_tx_nr" ] && { [ "$timeout" -gt 1 ] || [ "$count"= -lt "$add_tx_nr" ]; }; then + elif [ "$count" !=3D "$add_tx_nr" ] && { [ "$timeout" -gt 1 ] || [ "$coun= t" -lt "$add_tx_nr" ]; }; then echo "[fail] got $count ADD_ADDR[s] TX, expected $add_tx_nr" fail_test else @@ -1619,9 +1648,10 @@ chk_add_tx_nr() fi =20 echo -n " - echo TX " - count=3D$(ip netns exec $ns2 nstat -as MPTcpExtEchoAddTx | grep MPTcpExtE= choAddTx | awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$echo_tx_nr" ]; then + count=3D$(get_counter ${ns2} "MPTcpExtEchoAddTx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" !=3D "$echo_tx_nr" ]; then echo "[fail] got $count ADD_ADDR echo[s] TX, expected $echo_tx_nr" fail_test else @@ -1695,9 +1725,10 @@ chk_rm_nr() fi =20 printf "%-${nr_blank}s %s" " " "rm " - count=3D$(ip netns exec $addr_ns nstat -as MPTcpExtRmAddr | grep MPTcpExt= RmAddr | awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$rm_addr_nr" ]; then + count=3D$(get_counter ${addr_ns} "MPTcpExtRmAddr") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$rm_addr_nr" ]; then echo "[fail] got $count RM_ADDR[s] expected $rm_addr_nr" fail_test else @@ -1705,12 +1736,13 @@ chk_rm_nr() fi =20 echo -n " - rmsf " - count=3D$(ip netns exec $subflow_ns nstat -as | grep MPTcpExtRmSubflow | = awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ -n "$simult" ]; then + count=3D$(get_counter ${subflow_ns} "MPTcpExtRmSubflow") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ -n "$simult" ]; then local cnt suffix =20 - cnt=3D$(ip netns exec $addr_ns nstat -as | grep MPTcpExtRmSubflow | awk = '{print $2}') + cnt=3D$(get_counter ${addr_ns} "MPTcpExtRmSubflow") =20 # in case of simult flush, the subflow removal count on each side is # unreliable @@ -1719,14 +1751,12 @@ chk_rm_nr() [ "$count" !=3D "$rm_subflow_nr" ] && suffix=3D"$count in [$rm_subflow_n= r:$((rm_subflow_nr*2))]" if [ $count -ge "$rm_subflow_nr" ] && \ [ "$count" -le "$((rm_subflow_nr *2 ))" ]; then - echo "[ ok ] $suffix" + echo -n "[ ok ] $suffix" else echo "[fail] got $count RM_SUBFLOW[s] expected in range [$rm_subflow_nr= :$((rm_subflow_nr*2))]" fail_test fi - return - fi - if [ "$count" !=3D "$rm_subflow_nr" ]; then + elif [ "$count" !=3D "$rm_subflow_nr" ]; then echo "[fail] got $count RM_SUBFLOW[s] expected $rm_subflow_nr" fail_test else @@ -1741,9 +1771,10 @@ chk_rm_tx_nr() local rm_addr_tx_nr=3D$1 =20 printf "%-${nr_blank}s %s" " " "rm TX " - count=3D$(ip netns exec $ns2 nstat -as MPTcpExtRmAddrTx | grep MPTcpExtRm= AddrTx | awk '{print $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$rm_addr_tx_nr" ]; then + count=3D$(get_counter ${ns2} "MPTcpExtRmAddrTx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$rm_addr_tx_nr" ]; then echo "[fail] got $count RM_ADDR[s] expected $rm_addr_tx_nr" fail_test else @@ -1780,9 +1811,10 @@ chk_prio_nr() local count =20 printf "%-${nr_blank}s %s" " " "ptx" - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioTx | awk '{pr= int $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$mp_prio_nr_tx" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMPPrioTx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" !=3D "$mp_prio_nr_tx" ]; then echo "[fail] got $count MP_PRIO[s] TX expected $mp_prio_nr_tx" fail_test else @@ -1790,9 +1822,10 @@ chk_prio_nr() fi =20 echo -n " - prx " - count=3D$(ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioRx | awk '{pr= int $2}') - [ -z "$count" ] && count=3D0 - if [ "$count" !=3D "$mp_prio_nr_rx" ]; then + count=3D$(get_counter ${ns1} "MPTcpExtMPPrioRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" !=3D "$mp_prio_nr_rx" ]; then echo "[fail] got $count MP_PRIO[s] RX expected $mp_prio_nr_rx" fail_test else @@ -1903,7 +1936,7 @@ wait_attempt_fail() while [ $time -lt $timeout_ms ]; do local cnt =20 - cnt=3D$(ip netns exec $ns nstat -as TcpAttemptFails | grep TcpAttemptFai= ls | awk '{print $2}') + cnt=3D$(get_counter ${ns} "TcpAttemptFails") =20 [ "$cnt" =3D 1 ] && return 1 time=3D$((time + 100)) --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D5C814AA3 for ; Mon, 22 May 2023 16:38:31 +0000 (UTC) Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3f417ea5252so43364205e9.0 for ; Mon, 22 May 2023 09:38:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773509; x=1687365509; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=42HnwqL8CACMjfd5k0LVN3KOk+UVz/nizwfgq7ALM7A=; b=GYPiqymdbQTWS/HTOidF2uHMiYSrOHnPXXflclRrSX7sbvS/bhRnu0RhkS/KT0kSa1 c7fj83uqN6HXBBpPTup/aV4mt8240vLAyWi9LF3vNIC6qKO+mGc4MrgfjjCcwwxb+bKn rR8Y/bf2KoWMt6bKCfzEznEbwpaFej2wx6GRCCn37joSIgi3PKgVZxlD3w0erAz5qG0q J/xoeUgXsSXtGS5eKiLIgIznVISrE70zu8yLLutTjUcR816hkApfvBqiGeYjT68cAi+L TYWHCRR3mWTCpe5sx47QC0SrZIVjj1lYKS1bxUUQPw7EW3VGslRS3WNf6mRWOQhefYvD zohg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773509; x=1687365509; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=42HnwqL8CACMjfd5k0LVN3KOk+UVz/nizwfgq7ALM7A=; b=aXRlyXcrgwrtHQl77V7W1cTarzrKax2Ktrkkv13GxfvPRtRkBDvDc9V38KMi1PL8Rp 47yfYJYzqgaP48RNtbF6QPSZvXVaSrXF11nqGNs07XIOxXjMIk6A1h2Yt9AYeO0lBbBH 0X4KEFuyLNzjSK6esEHEBbN9xeKn572f84vnX5QRCle7xgkf4AePi4dkUWXKXb2t1C50 EiUPS/tfMZ7JzMHuzget+hTF7RTZDJRTLrTgGWM9iAG+n7pcQ/4idOJXwy+NpVDLQ784 5y1pBp5mgWfmPqaRQ2SOK8MnZVE1TXtBHCsWz5hCArRLeb11OG/qTHsG6zmNdlN9U7oR yCwQ== X-Gm-Message-State: AC+VfDytvQfi4D8ilfBkKlokhB/3LDUfuaq/jUaP6lX0EFZANxXOUODZ gIoEwa4xpjcmbT8MN9xCjOyycG7fKYnTmXBZTXpo4w== X-Google-Smtp-Source: ACHHUZ63yRMzkcW4e/IWnpyHaIA/BtZN7XHug3TJAHFjMkrezFhi9J0rC7Sdc3+lhMO1pA7TFGg/DQ== X-Received: by 2002:a7b:cbc8:0:b0:3f4:28fd:83e0 with SMTP id n8-20020a7bcbc8000000b003f428fd83e0mr7969355wmi.31.1684773509113; Mon, 22 May 2023 09:38:29 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:28 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:58 +0200 Subject: [PATCH mptcp-net v2 26/37] selftests: mptcp: join: skip test if iptables/tc cmds fail Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-26-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5730; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=cy/7PsbQAW3ExoO+MorPGKvjY9VB5SgaKy74NoAWXZc=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxwgNOUxmDt9t3NbaqS2YAgPOU4G/LCuE6m 4CmI6Ua+rmJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c8zND/4lfjlRZO9UZxyOXXqHa0eJh+2R9ZZYdRo3L9zhzACMD2L7MCy/UD2aDlUt3Ef9mNSgANA RNstNGWCMIsjqkz9WCQ7ijnW8+tEleOiKzPDGNrByAAYffXv7BQlfLf7eA9l3SVqwu52e4zR4bW JT/bxZyMe6kly0Z+15/Xbf6jZcMuFK+LGqjCg5Mh8MNd0fVNDA0V3d8BGtXuNOezdtwUJswWwQ0 No0MdKY8jBBqjMSv+4kqiZF8TfJCNN5zOWApUy/qq80Rj4o5V6VSNoULQRCLjM2BqEgc3ifx0ST YtHMyF7cXPel4+UXvnB4pNmnut/qtwo34RVTszyblpPu7Cd2FDAwsq0KJaAMp+3ScSCFy9c2DBW AHMAogkudOl4jEnQeCZoslKesmR7qY4+ugacL7VeQuzTyzIypbY5xEav6aFLUUEPkdMV/rMonxQ 5xjqQ1Omv20+aKAMYqEk1/jkYOtr1v+GZeN3a3mdgFVi1qGOcvtMHfaJmk1rZqdi6h8Oi+Zac4l 0KKYy3dPW0tqLtB69KikW193fQdP3eEzGvhTQffNxyVDRxXGmPgnryP6UfWKGvgjcP+oxBTAyEc Va1grC0e+kJpd2bLTpTtvPA/abhtOF2nSFUgu63yix0kJGAvYizcD7OX6kLjBkqIOLkOGfuBJIZ sxoCuAGLcV6ctIA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. Some tests are using IPTables and/or TC commands to force some behaviours. If one of these commands fails -- likely because some features are not available -- we should intercept the error and skip the tests requiring these features. Note that if we expect to have these features available and if SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, the tests will be marked as failed instead of skipped. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 8d014eaa9254 ("selftests: mptcp: add ADD_ADDR timeout test case") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 88 ++++++++++++++++-----= ---- 1 file changed, 57 insertions(+), 31 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 73c513f1e808..2ae6d99f3eb9 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -288,11 +288,15 @@ reset_with_add_addr_timeout() fi =20 ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=3D1 - ip netns exec $ns2 $tables -A OUTPUT -p tcp \ - -m tcp --tcp-option 30 \ - -m bpf --bytecode \ - "$CBPF_MPTCP_SUBOPTION_ADD_ADDR" \ - -j DROP + + if ! ip netns exec $ns2 $tables -A OUTPUT -p tcp \ + -m tcp --tcp-option 30 \ + -m bpf --bytecode \ + "$CBPF_MPTCP_SUBOPTION_ADD_ADDR" \ + -j DROP; then + mark_as_skipped "unable to set the 'add addr' rule" + return 1 + fi } =20 # $1: test name @@ -336,17 +340,12 @@ reset_with_allow_join_id0() # tc action pedit offset 162 out of bounds # # Netfilter is used to mark packets with enough data. -reset_with_fail() +setup_fail_rules() { - reset "${1}" || return 1 - - ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=3D1 - ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=3D1 - check_invert=3D1 validate_checksum=3D1 - local i=3D"$2" - local ip=3D"${3:-4}" + local i=3D"$1" + local ip=3D"${2:-4}" local tables =20 tables=3D"${iptables}" @@ -361,15 +360,32 @@ reset_with_fail() -p tcp \ -m length --length 150:9999 \ -m statistic --mode nth --packet 1 --every 99999 \ - -j MARK --set-mark 42 || exit 1 + -j MARK --set-mark 42 || return ${ksft_skip} =20 - tc -n $ns2 qdisc add dev ns2eth$i clsact || exit 1 + tc -n $ns2 qdisc add dev ns2eth$i clsact || return ${ksft_skip} tc -n $ns2 filter add dev ns2eth$i egress \ protocol ip prio 1000 \ handle 42 fw \ action pedit munge offset 148 u8 invert \ pipe csum tcp \ - index 100 || exit 1 + index 100 || return ${ksft_skip} +} + +reset_with_fail() +{ + reset "${1}" || return 1 + shift + + ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=3D1 + ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=3D1 + + local rc=3D0 + setup_fail_rules "${@}" || rc=3D$? + + if [ ${rc} -eq ${ksft_skip} ]; then + mark_as_skipped "unable to set the 'fail' rules" + return 1 + fi } =20 reset_with_events() @@ -384,6 +400,25 @@ reset_with_events() evts_ns2_pid=3D$! } =20 +reset_with_tcp_filter() +{ + reset "${1}" || return 1 + shift + + local ns=3D"${!1}" + local src=3D"${2}" + local target=3D"${3}" + + if ! ip netns exec "${ns}" ${iptables} \ + -A INPUT \ + -s "${src}" \ + -p tcp \ + -j "${target}"; then + mark_as_skipped "unable to set the filter rules" + return 1 + fi +} + fail_test() { ret=3D1 @@ -750,15 +785,6 @@ pm_nl_check_endpoint() fi } =20 -filter_tcp_from() -{ - local ns=3D"${1}" - local src=3D"${2}" - local target=3D"${3}" - - ip netns exec "${ns}" ${iptables} -A INPUT -s "${src}" -p tcp -j "${targe= t}" -} - do_transfer() { local listener_ns=3D"$1" @@ -2029,23 +2055,23 @@ subflows_error_tests() fi =20 # multiple subflows, with subflow creation error - if reset "multi subflows, with failing subflow"; then + if reset_with_tcp_filter "multi subflows, with failing subflow" ns1 10.0.= 3.2 REJECT && + continue_if mptcp_lib_kallsyms_has "mptcp_pm_subflow_check_next$"; then pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns2 0 2 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow - filter_tcp_from $ns1 10.0.3.2 REJECT run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow chk_join_nr 1 1 1 fi =20 # multiple subflows, with subflow timeout on MPJ - if reset "multi subflows, with subflow timeout"; then + if reset_with_tcp_filter "multi subflows, with subflow timeout" ns1 10.0.= 3.2 DROP && + continue_if mptcp_lib_kallsyms_has "mptcp_pm_subflow_check_next$"; then pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns2 0 2 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow - filter_tcp_from $ns1 10.0.3.2 DROP run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow chk_join_nr 1 1 1 fi @@ -2053,11 +2079,11 @@ subflows_error_tests() # multiple subflows, check that the endpoint corresponding to # closed subflow (due to reset) is not reused if additional # subflows are added later - if reset "multi subflows, fair usage on close"; then + if reset_with_tcp_filter "multi subflows, fair usage on close" ns1 10.0.3= .2 REJECT && + continue_if mptcp_lib_kallsyms_has "mptcp_pm_subflow_check_next$"; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow - filter_tcp_from $ns1 10.0.3.2 REJECT run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow & =20 # mpj subflow will be in TW after the reset --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B6C4613AE5 for ; Mon, 22 May 2023 16:38:31 +0000 (UTC) Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-3f60804faf4so5351415e9.3 for ; Mon, 22 May 2023 09:38:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773510; x=1687365510; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GgzMqNvsOOrR58XLyg8/XzeF7uycHXOuqoBnn27nwG0=; b=XjFwX/589SfZYgWslEXz+W0NdiQZjABuIVwWce/9RJJkFM9Mbk7e+5F3LOdubCMRnQ hcZSkdJesUBcCzrzUU3St0lFHc6gcBTcMWVEriGG+0I8Z+TQzMyUnw/7vnpHdl73nJOS iwRi+99SL0K9+aYmMZ/711ekrc5LVzf5ARnSPOcDtqQIp5DwPUvw3STscj0yk83yPwkO 8+h4QEwzFUUCLJzx7no3UfzeZlxa7ut3HGMN7m1ZNwKrJYD7AYkKfKypxXkY6ysvvxPl LVtDlQueHHtVlJ2Y1xmHarrtXVVWC8HEryU4+uGBrHGYSP2ooCbZE1u9/PQClSkfXgKk D4Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773510; x=1687365510; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GgzMqNvsOOrR58XLyg8/XzeF7uycHXOuqoBnn27nwG0=; b=HzXSIIWvqKUfBIdll3zGoL4Rk6MX7cB11wPsFBJl3xrtUQGe0ayHZToNdPrq3ZaeqQ hufMLJcNdeztWpvTvDX9wTm7+DUvSpkRyDhf4EHQK3fLs3xdWczItjIcH5LZ9UthRLZR iIkzAYAmmM/1QseWeVg2iYCfxsmjnHestLWOpXIC2uY8Zmq4oEShzXP9h/85wuI7fMFc meJuMXpChJGSap7iU+VcpCxYcH4+ppZzNnVtTBnXEzFdoLaadM1zV8CyuAyAvCBVvjTA IuTCO67M9dEjlBxd+BxA+D05LzSVyslZcdp+PDvu9t9/Iv/nENM2Dvv5LFS9alY/03Dn 5HBQ== X-Gm-Message-State: AC+VfDzGaLlTglkb9VvGU0pITwadQ81L8TZ0ZuLMDO7Hu1oIDQkkX0oQ Z8c+UUKoLeF5p4NFOTVCmYkqW4qYpuJPgy6C7ZRzzQ== X-Google-Smtp-Source: ACHHUZ78RQenLCYkxk9+CzCIk+O8vCkKR3U+xIHICPPk8fMwfTCGRZWwvbvrkCMDLnlSE9jGyOEsJQ== X-Received: by 2002:a05:600c:2152:b0:3f6:938:1001 with SMTP id v18-20020a05600c215200b003f609381001mr63274wml.8.1684773509801; Mon, 22 May 2023 09:38:29 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:29 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:37:59 +0200 Subject: [PATCH mptcp-net v2 27/37] selftests: mptcp: join: support local endpoint being tracked or not Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-27-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2031; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=arZmfNlZiJYrK6XCf9+gbWxZ7Kz1AFhMHl7pmmtxWvQ=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxOOLSckky54gZWbE2qyRN5dg6smpOGg0OI xMXB++vKfKJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg cyAZD/939z5ngyzAYfrIt9GY6BEkSntBM2ONCJ2GhJ9mxbEDq8isK3MVYS3GHhbAJTLpkxgOC0l lFG2aLcX3P/Hn5+34zJFr0GGOG5jEaKQIIGpf0dL5I0yrj8jroFCke3aMLIQS3VDJWw3kvArssM ZK2MdTX8eu0HPWrVsZMfMk6AXKPyZLRYf+WnD8/nDCZy11qQHe60rEIqfF0wRYNyneFx/FuR/7B UtGvpuFNFiephqIqgTn3bXgzmiDhE0c6tc7S4xi9MjgSH3o4/C9d9WwXJiXFC18ZL9SMeY2diGc /+ZNsQ2NX6k1RxNyFjHXPFhwvxccYLn0nixXuYkciUwPjFD41ww71cX46V8QtxWNxtM/TsKzdWp V7VNLBMf9dyppAPj2fJdB2ctz3EYTOT9dZanuqn0nt1Ix2qryjEN2Kx439p1+mmCYMLRIR0Msue RiSZCtPXCEI2WyqBFvH4WQpaXtwuHtIUyG3/Cy8QqOqLywCAQBgqopS8iek5ZoZ3GMqL/6NK336 fCi7cpj15wm2gcWaNciRKX6s/mUviUh7tjlCtQpehs4dVlW0d3mTwyvZHV1usMuShq5cwqwRNQs /DHV98CwwcaerWT9onz33PohZtgq51F+Ob6jeAsiOf0gYr2NQmYzDXddksJPDsXurBTOkOK7wa3 WwjS4pVm+tODpiw== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. At some points, a new feature caused internal behaviour changes we are verifying in the selftests, see the Fixes tag below. It was not a uAPI change but because in these selftests, we check some internal behaviours, it is normal we have to adapt them from time to time after having added some features. It is possible to look for "mptcp_pm_subflow_check_next" in kallsyms because it was needed to introduce the mentioned feature. So we can know in advance what the behaviour we are expecting here instead of supporting the two behaviours. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 86e39e04482b ("mptcp: keep track of local endpoint still available f= or each msk") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2ae6d99f3eb9..1f24495308f9 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2184,11 +2184,18 @@ signal_address_tests() # the peer could possibly miss some addr notification, allow retransmiss= ion ip netns exec $ns1 sysctl -q net.mptcp.add_addr_timeout=3D1 run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow - chk_join_nr 3 3 3 =20 - # the server will not signal the address terminating - # the MPC subflow - chk_add_nr 3 3 + # It is not directly linked to the commit introducing this + # symbol but for the parent one which is linked anyway. + if ! mptcp_lib_kallsyms_has "mptcp_pm_subflow_check_next$"; then + chk_join_nr 3 3 2 + chk_add_nr 4 4 + else + chk_join_nr 3 3 3 + # the server will not signal the address terminating + # the MPC subflow + chk_add_nr 3 3 + fi fi } =20 --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61E8113AFB for ; Mon, 22 May 2023 16:38:32 +0000 (UTC) Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-3f42b984405so39343655e9.3 for ; Mon, 22 May 2023 09:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773510; x=1687365510; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nF+M3ZjOkUA/Blm6GPxinC2EXLC8jrKOpFo2scCAerc=; b=w9jDQyxl2kbvQbf3VcA8nbOPdoBKd6PPx3H3ad57U8cpSXk2A+nRMFzMNRidcm7If4 03vrjd+MdQ4fADx6ah5N7N4pAwZzm+yA0wxXsrlFGePjvHPePtZ4AMrMQL7s69fgrDWQ yG4p5ml7M9xa4STrEWxiMXdPea5x506KM4M6ca2o9teDEz1j4R+OW0tFZGva/4YVEuA9 fk4eW36JaW7X00lmG/bknZMu599Nhg0CSAoNOUA+i2+7LpamoH7O35F5vCHMc/DpK6Gn bA3kccHrzh8csgCT4+86gMtmS2XbFR2tyrsyUprR5aKFOWPuLLJ9e/tl9MANpxTCJWAG aSYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773510; x=1687365510; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nF+M3ZjOkUA/Blm6GPxinC2EXLC8jrKOpFo2scCAerc=; b=cNZIYbn2xd++BfDSpT5wPE+8U+FXKq470iR3tfQOKae2RvjyyL0bCPaYaEV3P7Yg16 3fl7ZYDG1CuoqWVDoQ2gBzAa1ZeFuUepqq5Ms7aHTK3v7tMhcwfQ86QBz+E2EYAcWzN5 T+NoZT9m7M5UIiA60/V+SftCIwlHGMPV2REoYyYX7Pq22dTJb8wi7L0lVtGXLw9ZOqHv 25F/si1JS4BoCR8X47ou+HOyvLYBUGJZWShUX68L4Qx3jryaJqhSnozsinW0jqEFEKZD EdYbKWpkpQ/uUVvPh6/bjgMrYRB/StFTlOT1cpbl87vrjcNnEQptv9M8FGyD47FI0D1/ vVPQ== X-Gm-Message-State: AC+VfDzwTksgZ3UPM0x/9CCkTjtGTocTxLmQkTXWQ4QbifXungRjfqIv nV4v+TCOVxQTGoXjZwXtdDPBHAeTlIIlbzrqZMgm1w== X-Google-Smtp-Source: ACHHUZ7QOTIoe4Rbo0Crbmaek5wg9BE52KpfKYLLdAFT7zLR48ducxwRn6lcjcp7zRAsvogeYcjwJg== X-Received: by 2002:a7b:c7cb:0:b0:3f5:d313:db68 with SMTP id z11-20020a7bc7cb000000b003f5d313db68mr7987137wmk.5.1684773510477; Mon, 22 May 2023 09:38:30 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:30 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:00 +0200 Subject: [PATCH mptcp-net v2 28/37] selftests: mptcp: join: skip Fastclose tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-28-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1916; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=yTdZWzvbBbFBjvlE5ahZiXW0szIC/Ztk+v9SQvA3SVE=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxG+E9Tbyb8fRTb7nCpFgdpNU/Ug/KS3zs2 3oSIu7x5Q2JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg cw1RD/9DVJ+1HHVkek7a1zsFe3gu0yjdaK5EC8pvfngZHGQ5wRIeUmVXFHCSWY/DtqbJqUKWwf/ hl5U3rHJQP/QVMJDdz16s0WM10elmoZQtySbS+vKYGyHcOjmjhPDhNvrA6y/UlUOHYGjMF3x6ZJ 7HZvWJYh6KeMF6eVtKXh0omSxmh1K/kUudraFiKZBS66Y25UBbRkzBN543VFCyt63eid01dz4tu 2FzW42OyZ5J21cxnIVIo2lwFdqHRln3fV/Vy4cNulhj42gKuv0UDLQv3CUTxpIAh0Bgh8u81zdq 0O5B9Hs0qQoi1v/RI2gJilxj0Ak5leG9XtX0r43nKCXO20+1NduesTFbmwYz/hXdDxAgg2Vg4zh L1SCvVP/rwjyS6+5raQetxw//9DLpxxIxUT2VdAhyceI12wOYFnIYgDOJfPAb5SiAZVKCX4C8hw YAU/gtGJt9h9gfSAVSxoe4PYfpvstnOef/ckCn6jK8sfe+NKXZmKxX/ZNXmtnP+15igcDClQgg+ nlkB0l1uxOG5On+RznvXhVsycH6KqaOIsVgBUIlqAYg6EOUd/L1jtIlW19ohOXwVsXmh4wIJeTD J/HznYcuHV3bvmd9LVXBcUvy6rw3X7WW6ZjkuTobEj302g4I7NmWgx0Rxs0hEzIEvYaJSTHgtmm Ye/vOq8UNX+VPZA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of MP_FASTCLOSE introduced in commit f284c0c77321 ("mptcp: implement fastclose xmit path"). If the MIB counter is not available, the test cannot be verified and the behaviour will not be the expected one. So we can skip the test if the counter is missing. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 01542c9bf9ab ("selftests: mptcp: add fastclose testcase") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 1f24495308f9..ccf52aba8a1c 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -263,6 +263,19 @@ reset() return 0 } =20 +# $1: test name ; $2: counter to check +reset_check_counter() +{ + reset "${1}" || return 1 + + local counter=3D"${2}" + + if ! nstat -asz "${counter}" | grep -wq "${counter}"; then + mark_as_skipped "counter '${counter}' is not available" + return 1 + fi +} + # $1: test name reset_with_cookies() { @@ -3179,14 +3192,14 @@ fullmesh_tests() =20 fastclose_tests() { - if reset "fastclose test"; then + if reset_check_counter "fastclose test" "MPTcpExtMPFastcloseTx"; then run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_client chk_join_nr 0 0 0 chk_fclose_nr 1 1 chk_rst_nr 1 1 invert fi =20 - if reset "fastclose server test"; then + if reset_check_counter "fastclose server test" "MPTcpExtMPFastcloseRx"; t= hen run_tests $ns1 $ns2 10.0.1.1 1024 0 fastclose_server chk_join_nr 0 0 0 chk_fclose_nr 1 1 invert --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 197F71548B for ; Mon, 22 May 2023 16:38:33 +0000 (UTC) Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-30644c18072so4026483f8f.2 for ; Mon, 22 May 2023 09:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773511; x=1687365511; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+vLZ2HxSpO+km6KEZBqkj0x08T546Xk2PbuQGjhei0I=; b=k9y3ChjcCHycmaWRZ+dL39+veSLMD4ptPlV+RfoPpARo/SEyghDE/vrstJRntCJnwq 2lgLHaNbH5NFKSDp0S66TPif/bmeM9rkmGsRn87Fyou+00HpgOi7tcl1wutyvZu5fUsr fpkZrVSsBUPHrkpT2nlTeKSuViHS4CGGYKZUKQtft7xNxxBlmRlSRPR4uvbnJZt4NyQA NqYWOzm1n7zBCJOKP9sFHD9EzSjPBFWpzcL7lWwhutI95SYv0UWcIv18MdK9xNAzGY/5 K9GzSb1xdizEUmRvngjUg1wK9NPF90Uje24gJkSWLleJO7z/A29+TnWa+HlayW8zndTN w9sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773511; x=1687365511; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+vLZ2HxSpO+km6KEZBqkj0x08T546Xk2PbuQGjhei0I=; b=U33rs0GcZYGDc6VUKGWnVuZYIxy/1VjJ/5YnKlmB3J+G73Ii6vyuXS9SP1OS6nV57J kz6Nxl2EuEK1dbYwr1q4Q/zNDzGT0sx3r1MOIGsFRM71lW6sehNPhaAstUwAy6XX9QZD mkdYE+opIDGNCnQuQfVCDOTPiXI9OuheVduppZjqOgya6qwseU2WywfG/ghANH6FRNBM P0U5joYoljRwGEFHsIcZ6KLKsnvUbLG2uJsZKEutOrxiPE3zjH2ZFM1AqN8RiunYm1OR hekBTvlUJFNR4Y1AeBva7OvewIHT90e9fMOibMEXMt75kpC3942wX/031IRQcBsM0wPw emLg== X-Gm-Message-State: AC+VfDzBfgKLbZ895l7N7sACqGjoFsUUU6xISCtlZm8FTWO6aJjd/kCL DTJZD8pbN/HrwGuH4M4fM/Ci84kR2b7/Y6pErOmPBw== X-Google-Smtp-Source: ACHHUZ5ETSqjGsk/sPetqMyg4Ot5qcci2R2yb4plyleDZIyN/S3P7BXiPcOH3LrfQlNCD74QK6YFlQ== X-Received: by 2002:adf:eccb:0:b0:2fb:7099:6070 with SMTP id s11-20020adfeccb000000b002fb70996070mr8037999wro.47.1684773511163; Mon, 22 May 2023 09:38:31 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:30 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:01 +0200 Subject: [PATCH mptcp-net v2 29/37] selftests: mptcp: join: support RM_ADDR for used endpoints or not Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-29-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1718; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=nak8I78p+O28kdvZEZ0ilTqUjGOt6d60GZh8Zc6grig=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxptMhrCi0szp3h9zo8XH9WPv2LEZYtcW5p 2AE8eST3e2JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c3kSD/9wSDjpP+Cgf/CQC+/Y2CcTeqFqIlbCFAlKiYW6QFp2MC/mFZpXl4cF2FNkG7jxRgib6RK 1yYpFeoW1bgJB25UeWx1/daLp4IWtLsRXhqCUGnwnoKG204q+HEebVE6fWmXnN9GwTPRFKR38Xs HZf/pHCLqfYKyNpBctedpPgo/UoINE/RUd6yQRCbSxAdGxsp7anrufQvNRE8qUnz/BK3FIVPXjX zJlpdaL/nmqtgSuQ6F0NX+bNyqnsuI5Q1iuY7pZycGJSwlGVeYeyQv0JYgDVnzZ2MOgqNNQEQKg EEaM2Qd/5bZ9+tF64tbN4g7OdKxfTdP8KHdjKSvjBI6M+zbt7x5AIL0nQcOu8QKnbjKNLsi3ZEJ YMkNLZCeZR7NKcXaOo+uQaxklH1nIGsxxdy1fxuC4o+Mas/k9pizhqvpytLETxw95kg/tBGc42P Yrm8c5th2ER5Zyx71wC2w0TYgop7QmQugnS2RUjBJMtrtlKBnFL5o8va46wdB6hIXOEc+1/mmuu zXvzda6U13NKsh2EWcfUCu/+5Xf8AoinYN2UlafFh65i5byOF+IzKYkhY2+yfAodlv6bDHdifjz 2FHE9ewRww/6IhkLazREouWRCnIxaeUm5DE2f78H0G7U7xjO8KVbeYKfb2aLtYay24MOLhu+yv5 LbRqeu2UXlCATXA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. At some points, a new feature caused internal behaviour changes we are verifying in the selftests, see the Fixes tag below. It was not a UAPI change but because in these selftests, we check some internal behaviours, it is normal we have to adapt them from time to time after having added some features. It looks like there is no external sign we can use to predict the expected behaviour. Instead of accepting different behaviours and thus not really checking for the expected behaviour, we are looking here for a specific kernel version. That's not ideal but it looks better than removing the test because it cannot support older kernel versions. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 6fa0174a7c86 ("mptcp: more careful RM_ADDR generation") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index ccf52aba8a1c..fd0e3c6fa147 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2451,8 +2451,13 @@ remove_tests() pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 -8 -8 slow chk_join_nr 3 3 3 - chk_rm_tx_nr 0 - chk_rm_nr 0 3 simult + + if mptcp_lib_kversion_ge 5.18; then + chk_rm_tx_nr 0 + chk_rm_nr 0 3 simult + else + chk_rm_nr 3 3 + fi fi =20 # addresses flush --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7334F14267 for ; Mon, 22 May 2023 16:38:32 +0000 (UTC) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3f6077660c6so6715525e9.0 for ; Mon, 22 May 2023 09:38:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773512; x=1687365512; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=MfHOGX6yin+V5DfX+tprmxqVKaR5xWpMRGje/k0hoOo=; b=QVD1QCICpDGmTnvZdkoCaD/MmpHpjyAGYtkpNjJDtjFRJ8Lxr3X1xFm/Ai3KN8TSWg s38GjIiMJPVVvVX0fYo9rCduSNFilzaNcbHCt8GWoSaRCtmIV8J8nlaU0jm8GkkoZF4M 7L2eUEc30tYnGezRmonW8xQRu3Sah/BUL17ySfrOtIzV9IMkbCCiXEw+Frv5FbAu5Y2I kn56279zAKYCT89h++kxQoYWVlmUCY+Hswxf3Cf4QZd8Z0jvSfTsGdAKP6HkkBvh7Zry D+0JKTFZK2CHk3afs7KC8eS7ufWCxeWp4nEHwmSAA//dAFWRVouPnshhJNgIxLRL2oCn qwDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773512; x=1687365512; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MfHOGX6yin+V5DfX+tprmxqVKaR5xWpMRGje/k0hoOo=; b=kvIItoYyCq4OFfTEqL/S148kdZ6j1L0CCcUwAm+FoiefGbuPLHmj/OwXhyOjgKei4l AOYv0ViFYLoEcHYYQ7RCxmUug+5lmtpC0ANTm38tl/KAFPectkCOqP7qZDlpIpT4nZoa a4LaZHONiCXpvf3KVuIpaBupbckIPQCbDI/J+iq3UYAm2v5nazGkers3BJNkSzGArze3 CWLRP9etDGWpFZpwQ1Kl0Vn8ozfkWCxzeE/1XT121sNuRNF1KeVcu5rGz0EQMb8yH4Co 8eUFe+9M/nOkpKzVmG2HZKSzpPoup11Mb1EBAZaoYjJagK5TcR4B64Bat0MR6yZpqAHT NVxg== X-Gm-Message-State: AC+VfDz2skQHuYBKCi7Lfs4IKrDDgouLnZPY4WkSemlqKn+L5GQXIiME glckElXHCBX4z+M3+DMeICl1Yd4d5EKrcJPM5NL9tQ== X-Google-Smtp-Source: ACHHUZ4OvlZb7WXmAGFKqEqJcVCB2/MPuS/4EO1mEjqjBzgf/0rPdLB4F3NxIpeuexXPrFMWDyxVeg== X-Received: by 2002:a1c:741a:0:b0:3f4:2158:289b with SMTP id p26-20020a1c741a000000b003f42158289bmr7581427wmc.18.1684773511792; Mon, 22 May 2023 09:38:31 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:31 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:02 +0200 Subject: [PATCH mptcp-net v2 30/37] selftests: mptcp: join: skip implicit tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-30-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1807; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=Bfa1QDotDtKeVa4E2vrmx7bLrQKN0+fxLcFIhsvDNCQ=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxD8l+AKBJIPEDF6m+Gf6cLMsiQBH+ry5kJ FRQgGYwmZOJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c843D/0bedEjMDWtVKJUniE/tq7iMYilF4lh8jDB2GaoWsBKswUDS9HNlNccVImnEF4BorJ8k8Y OqxfxG2tHOg//HU2DckOYKigwZbyKqTecK/JmyZp5z2Q5RGZrs93C/BbvZG5lbGyTmJMW5qYQ/F gt2yFu+we65q8M/dzPGTX8WSWlZVv0VlZQZLp9SEqutamDUG04u07dWayL91Th6udCjs5LhH4xT Hs3COKHShDz/0Y+4zhVmbBCrlOin5HkBAfj/vLix5GhMdNlVlRTUJqWeU6ij4i1m697CzJt5ptr IP4x2Tq7RVU4SrsnN8YdE9OundgNlWQ2Ilo9e88TcjvEYS17F6MO9kVi+qMpNaavoIpj8fFosbD AFxPg/J9SFkJVrqNFtxIAgoapBPSdBS9K/UQrEzd43AI53vr5sd6TB9ME11xC+k0veCXyhMJhgG kWNl4aBnHtAjjardO4XH2BflgpUg6fs8UwCHewK75AiTe41XFUg8TnK8+6TIqFyJaz9zy4aAwS2 s7bX//0I4o+zFhwaOXrkgqTPMN39sJ439e9zBN5w61yFeoDoJeUGmFHpZu1tAHoE4gW4U0swgnO XfVA/JVww9lYbq6KI3n1JuDwPmbUqQHfS7tCK14OHeGDcu7Nue5Vim9duSZZ3q0+W/GtS7OLWqM tDPOFEajgsyl8yg== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of the implicit endpoints introduced by commit d045b9eb95a9 ("mptcp: introduce implicit endpoints"). It is possible to look for "mptcp_subflow_send_ack" in kallsyms because it was needed to introduce the mentioned feature. So we can know in advance if the feature is supported instead of trying and accepting any results. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 69c6ce7b6eca ("selftests: mptcp: add implicit endpoint test case") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index fd0e3c6fa147..c19a1d0ce738 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3330,8 +3330,10 @@ userspace_tests() =20 endpoint_tests() { + # subflow_rebuild_header is needed to support the implicit flag # userspace pm type prevents add_addr - if reset "implicit EP"; then + if reset "implicit EP" && + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then pm_nl_set_limits $ns1 2 2 pm_nl_set_limits $ns2 2 2 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal @@ -3351,7 +3353,8 @@ endpoint_tests() kill_tests_wait fi =20 - if reset "delete and re-add"; then + if reset "delete and re-add" && + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B1A113AFB for ; Mon, 22 May 2023 16:38:34 +0000 (UTC) Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-3f6077660c6so6715655e9.0 for ; Mon, 22 May 2023 09:38:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773512; x=1687365512; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZUHMO6educz46uQFwz5OaXYsEoj2QPDBu7mBcZYK8UM=; b=2yHIkrubfOMgr13tZYhLmMLFmCZ4JXoW3DoWpYxKkGdSHz8XQ2H6f8b+VT5iO0nz/1 Ri97CKT7eQHK9N8rp4iXZKSVHrAvO450xLu1N7o1QINCeDLxYSZl/XuoWarpDhwp+o64 ArGHGt6sYx8QxqNarB8cnDwuUPTT0mTIa4OuKvwQyBS0P0TCyd7ZkE5b/x8VR66kw7c+ osKlixnXte+lPlK/iIlAlkNDPhWJrGN8CLxUsjPOLbiFmueYh/JnBhXRTn68LuuKNsZ0 1A5AkxEOx6NByYGBxRWnrpp1xJJ9CX03se1ZWmYYQF9Yz8p6yhAoPZpOgwD5TFhmtmkg r6fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773512; x=1687365512; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZUHMO6educz46uQFwz5OaXYsEoj2QPDBu7mBcZYK8UM=; b=FHHYAOMgJg9WnTsdDASNbbieJTvyvH8qMQrFKxfqvLs/CWempRsUYQ8XqS7MVxyFaJ Z5vvcV4XxLUsv26CBWz7pTWL/CGT76ozvB6TC4GikTueeJzUtjil0SFF/6uUWaKXTb32 zxzYQr02zlMQp7M3PYKAcQyz88VmO/dKNkYOBihDTSaTS59QTm4bhvkMcj2+JHJMcQ9u ipQ7uhxcqxXWzGRu0n2AycizPUeHfZkQsEFMjrKKfkiUew5DQzNJHqqKtS5dePlpbcLa USK3ydW6SPaOitORS522n+0wXfh1iJqBHfFdk8rkvhLtyXdc8A+hDF9H0BUdchvPNNDJ uyKQ== X-Gm-Message-State: AC+VfDz89L0+T+Rrjqx32r91iEJFK5GhxykIva+7EpH48bWlNSPE5cEh lRAJPH03N4fZC1PwyR0iONVbnSxWnggFvaJ5nYtOVg== X-Google-Smtp-Source: ACHHUZ4+9CYhmw9QRr2O65qtFCM3GUK6taHJMotLgEQIDRxIu1//tXD7GMC6oiqkKcCVTpUxSvsBuQ== X-Received: by 2002:a1c:f213:0:b0:3f4:2174:b29c with SMTP id s19-20020a1cf213000000b003f42174b29cmr8625679wmc.20.1684773512568; Mon, 22 May 2023 09:38:32 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:32 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:03 +0200 Subject: [PATCH mptcp-net v2 31/37] selftests: mptcp: join: skip backup if set flag on ID not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-31-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2322; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=3BralDaceq7F438gvkPufo9BZbdSO+Sox09FJniefpI=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxFClnOqtddcgB1Y72yb1MbrRyYZSQd26C+ olQ1j2DavuJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c3vTD/wIFS4hrYSD95bG3rfKX+RUmJZ+x1L0Plm5riN15cT8uShinIo5OanP9ot4imUtLAYGzKT eIwRAW8ECWm4sb/ecAEtCK8aAqTf2JbnTIPLz852Ge8vUIkbgjyxOKem3wjPHDK7nZMkIjvnmoI F/Hi/qTyU4EVdbMq5lOk+Vpq9jSWaJ3i5OiEaexRhIPVsmEPPsJRk120r04zKZ760aIkdA4md+e WHmZ/aWoxbL54q3tTzmBl6g5WK9IulWS8xOK2s4Po0StYNreUB+3+gPX3TKMRbS9i6HZB+GDqko 5xhsgibV43X1gMj9uWQ2ber2ymqMzEVcXk6wEyWcJ+bCKn7QgQMG+THPte6g3PlHtA9OeH5KCtl fhcELeYfWjw++q75k2srg0O6uWNqP3SZfodwzWA36D5KBYFAT8zH7LjeXCPTlkNGeCKAQB/9z0S edtTj6AHGoJDJxgYvrpC0lCWGmvssKh0gZtvdMFO0YNE71ZVKjwJzcA+hDLH2bZm5qL4TlRwgp0 1SxfuaG5JPPyEVybIidfOA404Fa317RA9z1g0Of/IyEiOuPlJ+aTwE4z0ffDAlidX7tDkEebddU l5w9OrkgPoIgGBHdULtEErqPkaDdEAC7MSi0st392WrZLXHj54M4dZMLiU+g/H1cXu3e+pSOwIk P+GJd8teFaAEVGg== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. Commit bccefb762439 ("selftests: mptcp: simplify pm_nl_change_endpoint") has simplified the way the backup flag is set on an endpoint. Instead of doing: ./pm_nl_ctl set 10.0.2.1 flags backup Now we do: ./pm_nl_ctl set id 1 flags backup The new way is easier to maintain but it is also incompatible with older kernels not supporting the implicit endpoints putting in place the infrastructure to set flags per ID, hence the second Fixes tag. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: bccefb762439 ("selftests: mptcp: simplify pm_nl_change_endpoint") Fixes: 4cf86ae84c71 ("mptcp: strict local address ID selection") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index c19a1d0ce738..3453ef733a4f 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2737,7 +2737,8 @@ mixed_tests() backup_tests() { # single subflow, backup - if reset "single subflow, backup"; then + if reset "single subflow, backup" && + continue_if mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 0 1 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow,backup @@ -2747,7 +2748,8 @@ backup_tests() fi =20 # single address, backup - if reset "single address, backup"; then + if reset "single address, backup" && + continue_if mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal pm_nl_set_limits $ns2 1 1 @@ -2758,7 +2760,8 @@ backup_tests() fi =20 # single address with port, backup - if reset "single address with port, backup"; then + if reset "single address with port, backup" && + continue_if mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then pm_nl_set_limits $ns1 0 1 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal port 10100 pm_nl_set_limits $ns2 1 1 --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FF7D1548B for ; Mon, 22 May 2023 16:38:35 +0000 (UTC) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3f6042d60b5so14625945e9.2 for ; Mon, 22 May 2023 09:38:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773513; x=1687365513; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ctJ0lqu+kiywgLz/K9/ac0x96bWCZeXMDjIdTAGCTwE=; b=W+DD5E+KxJsaR9TT5p6NuCorxy7Xv2hgDRS5O7FDnGao5qeZLhfySeeZSi4oCWBmdN v9EpuTB+I2Mrd/iwPjkBziDtQq4/s7YT3JN8bgQBQZYNUyMH8mZCnPceMe3TQoo4y8OV +AGQd0mOXQ2D298sgwOXcHaWBrvTNLnXU/z1oOmJCxql4gpljOWURHZiwFtEDH0pc3Zj FPNOBR3wYTCEYqF4GiUDuy6yna3gIuZFkLdv2MxhODd5+tIxS8tTnJ7iUUUMeULyX/Lo Dm8tvdShPju11QLJFaFRytRMVYbMhr+iB0CyZzawVwlqo81ZAxGMSItHVsFHpiyam3xU 7AhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773513; x=1687365513; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ctJ0lqu+kiywgLz/K9/ac0x96bWCZeXMDjIdTAGCTwE=; b=gxdBqytUvMAVf7g8KkgdPbcjLzbxNjJWutiFYMNJcD66i8muwVOsFek3S+A6B/Q1CE uYTPKBi4RvMbox2t3nNCEXElxoSORll3W5YXux5qrJ10htoE4mUv87BdpOrwzVBBUPIW mPbCOoaVItu2XcdARqoOYS9wpYcgESuUG8xVg+ByEyE9y8Mz9/njv9jxG/3sb6auukPp 70l91A4L+D6gJLEsgKVaiez6P9pXeNrryU0lLIn9TKJf0+rZcBCbi3YvG73fsBIo/WGk yU7Kg7kBm7FL14Tt0LCh8rWW/JJj6i2lyXWJNKybjx0UK21FXL8jw2Eu1wGqS2EHz9y5 18Xw== X-Gm-Message-State: AC+VfDzRZHiWkIYJdCB2Odyx57aZTv7B1mXTICBVIoHatuSSyvyVaiiA rgsJL0OXBtZAnFsDgkVB1ieq4a/3fKsJLeQiH2sXBA== X-Google-Smtp-Source: ACHHUZ52/jg1w8PhJ9uMoNwDojo53qsB4V4HShYClzTUHVTcNf90o1zz/riOZOG5anN74ekLEzGAKQ== X-Received: by 2002:a05:600c:24a:b0:3f5:fff8:d4f3 with SMTP id 10-20020a05600c024a00b003f5fff8d4f3mr4094404wmj.7.1684773513231; Mon, 22 May 2023 09:38:33 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:32 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:04 +0200 Subject: [PATCH mptcp-net v2 32/37] selftests: mptcp: join: skip fullmesh flag tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-32-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2756; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=3JE2VtmuvFYiO5+0ujCL4MkpZejN+7ivPNDXv3hfK+Q=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxjMrLKxcXetvWj7W6RduuVsUQ0gCQFiKcT xMOFB4SyISJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg cyAhEACtLolcYGBTiB58aQ3UIqUrAkyJOrfU2GJmrJVyb08vrO+vugnVfFcpJYrml/6dPz0vSx9 1m7X4oX9pPIBEpCdI5TdYO9mHgmiFRfWeudBrr8kXA6gtnqjGuuPnZBlKzFoG0RTQx95s/DweK/ W/EzIfUYD73ylJzzWEkaUyoDfZu7zMLx88m60DuGzNHWPzgqspUQvyL/pH7NQcSHfrBBq22aI1v YRqisyaH2ef5z2bLZ8et+TcCOgqBsTB4jmGAoNqg7sku7xXpPMdnfYJ7/smt2CmmQ6ZHt3NpWJn JxKzp7V1mCPeDqmPxnh126npnk4RmSJPcsbd75W0tiAw5TC6MNMMqkzlfMFBy17eACxQvL38gWs S+kEcXf/ZnDr+iqpgTx1tpjASsSlxaaE17PaI+2qZ4RLfqwFP/rbtNo3GFCm9UIzytktIfRxpQK hVCF0yzdD9iXscKV/dKM1ALXK5TIS/Th1ztJxIMGi5hod5KJhxcK66xs6vTwoT0CfSbHxVSRaz5 w87fBuD4Rd9Phesknq8a0HoTQkzDusDvM0NWliYJjaskgd75hHHyZVyzKxCC88qYU0Rs2mvLPFT 6Nct+6/Kh7VrO9eE9QatWcuEAJlMZYbpt0dGfMlxgaKAbV5qRLAN3ibb5vuyr2JBx9h4zAEjxoh 80Um8ho7YZzjeyw== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of the fullmesh flag for the in-kernel PM introduced by commit 2843ff6f36db ("mptcp: remote addresses fullmesh") and commit 1a0d6136c5f0 ("mptcp: local addresses fullmesh"). It looks like there is no easy external sign we can use to predict the expected behaviour. We could add the flag and then check if it has been added but for that, and for each fullmesh test, we would need to setup a new environment, do the checks, clean it and then only start the test from yet another clean environment. To keep it simple and avoid introducing new issues, we look for a specific kernel version. That's not ideal but an acceptable solution for this case. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 6a0653b96f5d ("selftests: mptcp: add fullmesh setting tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 3453ef733a4f..795a27933e6c 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3156,7 +3156,8 @@ fullmesh_tests() fi =20 # set fullmesh flag - if reset "set fullmesh flag test"; then + if reset "set fullmesh flag test" && + continue_if mptcp_lib_kversion_ge 5.18; then pm_nl_set_limits $ns1 4 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow pm_nl_set_limits $ns2 4 4 @@ -3166,7 +3167,8 @@ fullmesh_tests() fi =20 # set nofullmesh flag - if reset "set nofullmesh flag test"; then + if reset "set nofullmesh flag test" && + continue_if mptcp_lib_kversion_ge 5.18; then pm_nl_set_limits $ns1 4 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow,fullmesh pm_nl_set_limits $ns2 4 4 @@ -3176,7 +3178,8 @@ fullmesh_tests() fi =20 # set backup,fullmesh flags - if reset "set backup,fullmesh flags test"; then + if reset "set backup,fullmesh flags test" && + continue_if mptcp_lib_kversion_ge 5.18; then pm_nl_set_limits $ns1 4 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags subflow pm_nl_set_limits $ns2 4 4 @@ -3187,7 +3190,8 @@ fullmesh_tests() fi =20 # set nobackup,nofullmesh flags - if reset "set nobackup,nofullmesh flags test"; then + if reset "set nobackup,nofullmesh flags test" && + continue_if mptcp_lib_kversion_ge 5.18; then pm_nl_set_limits $ns1 4 4 pm_nl_set_limits $ns2 4 4 pm_nl_add_endpoint $ns2 10.0.2.2 flags subflow,backup,fullmesh --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E027E134B0 for ; Mon, 22 May 2023 16:38:35 +0000 (UTC) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3f41dceb9d1so62447475e9.1 for ; Mon, 22 May 2023 09:38:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773514; x=1687365514; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fgnO7zrIiXErID6aV6nh3833oyfYH+POA4h+b9GGbok=; b=vJ3+KkJuV0G9r1s9N1kUVYzo1fQf2efosnP3meAD1/sAKf49NNrQ6Mbcdhjb7M+Xse o0AkNGSKTNqsRM/C+9zRLlR9uKj+qGYTCtmd7o9GwyRfKwlSsKrz9q89p9YzRfhwqC55 KNeDHX9mHwv/UOU+kPTPS5MBYOPglYj24VsmrPR8Spy91uAIwpGODpYSQiuVyfrcUCiO 73+krU9+i3wwdQmFNLjKk+Yrc8fiwup658aZNDDP7O+KDiHNjWfTmhxjcpjOD9Tq1c0b JXG4+ky4o15Yc4MxNhShfMHKN+w68Sx3f/2v5HUQR/G+EtfCJiTV7FhtHTOcpkYZV6Fj joOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773514; x=1687365514; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fgnO7zrIiXErID6aV6nh3833oyfYH+POA4h+b9GGbok=; b=iwpWIQHpmYcVaD6Bm9EA/7e894p+urKDDVSH/QrC8QcSjh9OyfyXfi+XumZpIszRCV CS5Noww++/eY+G/g61kwBwWp/4oYwDVMufc7IC4pmlv8oLeunGoAZPD9jEZv0PfR6qfv baaFoinXlQP2NEMISqKVJrWqJTsvNd8N1HB1JmPrJM+ENkOuMegYA4+V+On4KhPuVx94 xzOtofnvpOZtDH7xq2lz+0AOkrieQf825G6C9uVAQgKrBzPA8MgsmqSqb18ptitjetJQ 9cjUCvySZkww29ZcK7/Wj3giCs+pYZXSjqFf3YocvDG9ynI1Af9GxRquGaXFBw2FXYID waYA== X-Gm-Message-State: AC+VfDyc5IDN2DHrHTH7+kmKcD1coIDWNnGHA6f4HT4otYhNuJPwtBhX fFnvef+sHYNQ72RAHLQT5QJC0CX/Pe/gdlGrra8qJA== X-Google-Smtp-Source: ACHHUZ7Zlcuy4XnVbsX4ihfRg6NYY41SlPYPfLbz9sCsS8fWB6eUxUyRsS0o77i5r+CU+ZoFnFBNGg== X-Received: by 2002:a05:600c:2284:b0:3f4:2186:91c0 with SMTP id 4-20020a05600c228400b003f4218691c0mr8639639wmf.29.1684773513957; Mon, 22 May 2023 09:38:33 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:33 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:05 +0200 Subject: [PATCH mptcp-net v2 33/37] selftests: mptcp: join: skip userspace PM tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-33-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4437; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=IR6+nUSramdN+vQLIpBYa4qToBLjAlWksQGznSh9tvc=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5px9YHF6OfYUVJRiBpKTi6IZPdl3uDGl2P1R UMfj/XlH9yJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg cwQOEACtgcRzUPeVmJJoYXa0ti6OFEpyLNUsB3emJKiP9GVzlIloH9wGO4F5msCTW7u91dUjayE oxHzJQdNJCmvpoIjp+n/VQlr6sZJCMIfLuOwIeCZWt1xlljiXERMefXKsXPIb67Lz20lnNaKRJb Bhy83omN+ot1Y3Xh+kOxjc7kiKtK5Vvt4o+opGr9uvZRqWUsPKlcaVTpRWEg9XMRM30Ghj2LcRx 7PoMVxxOgbnD6+KEb9rVBmI6m9Bo8Sa3tgVaoeKZMvHeHVoIkUVFMB4IdCoOoyUTfmW/EOTIraU uJLCBttVfV7JtWnb8xWM4e/AICmGWvmNbKOnEPTJ6J7/Y5FKC/lIHcIP5fgWfVIKHlVm5MQRJnM 0o7XwqR3gzjG4NnglG6e/QanrFkyyBLVltgLLlMQqxm9AwjWTjdrLSQMxU9JP7xx6uRkgMGrN4d NM8PPpySdwTZSZ81jA9YSWwA2tmN34qy7LSqRfh52GHXnBscCVRsxiBGKJUsfbxqa7kPsUwQPdf X8wyZTYsG0nb6SSPaPvZY4Jt2V8+843hhpw+J2DWfbM4GfePVKZddEzehzX4M8LqR8AnsNBOZC4 jVv/ASQis8gQgy19V5o8IOq+AHSS7XM1taEMjRq2mHp4aYfJSHnT20t5wEoyE4YAqfP1ZNwtC7w Y6CvVyX3IhSN8bA== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of the userspace PM introduced by commit 4638de5aefe5 ("mptcp: handle local addrs announced by userspace PMs") and the following ones. It is possible to look for the MPTCP pm_type's sysctl knob to know in advance if the userspace PM is available. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 5ac1d2d63451 ("selftests: mptcp: Add tests for userspace PM type") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 26 ++++++++++++++++-----= ---- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 795a27933e6c..2783a3c59aca 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -85,7 +85,7 @@ init_partial() ip netns add $netns || exit $ksft_skip ip -net $netns link set lo up ip netns exec $netns sysctl -q net.mptcp.enabled=3D1 - ip netns exec $netns sysctl -q net.mptcp.pm_type=3D0 + ip netns exec $netns sysctl -q net.mptcp.pm_type=3D0 2>/dev/null || true ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=3D0 ip netns exec $netns sysctl -q net.ipv4.conf.default.rp_filter=3D0 if [ $checksum -eq 1 ]; then @@ -3249,7 +3249,8 @@ fail_tests() userspace_tests() { # userspace pm type prevents add_addr - if reset "userspace pm type prevents add_addr"; then + if reset "userspace pm type prevents add_addr" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns1 pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns2 0 2 @@ -3260,7 +3261,8 @@ userspace_tests() fi =20 # userspace pm type does not echo add_addr without daemon - if reset "userspace pm no echo w/o daemon"; then + if reset "userspace pm no echo w/o daemon" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 2 pm_nl_set_limits $ns2 0 2 @@ -3271,7 +3273,8 @@ userspace_tests() fi =20 # userspace pm type rejects join - if reset "userspace pm type rejects join"; then + if reset "userspace pm type rejects join" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns1 pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 @@ -3281,7 +3284,8 @@ userspace_tests() fi =20 # userspace pm type does not send join - if reset "userspace pm type does not send join"; then + if reset "userspace pm type does not send join" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns2 pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 @@ -3291,7 +3295,8 @@ userspace_tests() fi =20 # userspace pm type prevents mp_prio - if reset "userspace pm type prevents mp_prio"; then + if reset "userspace pm type prevents mp_prio" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns1 pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 @@ -3302,7 +3307,8 @@ userspace_tests() fi =20 # userspace pm type prevents rm_addr - if reset "userspace pm type prevents rm_addr"; then + if reset "userspace pm type prevents rm_addr" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns1 set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 @@ -3314,7 +3320,8 @@ userspace_tests() fi =20 # userspace pm add & remove address - if reset_with_events "userspace pm add & remove address"; then + if reset_with_events "userspace pm add & remove address" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns1 pm_nl_set_limits $ns2 1 1 run_tests $ns1 $ns2 10.0.1.1 0 userspace_1 0 slow @@ -3325,7 +3332,8 @@ userspace_tests() fi =20 # userspace pm create destroy subflow - if reset_with_events "userspace pm create destroy subflow"; then + if reset_with_events "userspace pm create destroy subflow" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then set_userspace_pm $ns2 pm_nl_set_limits $ns1 0 1 run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 93FEF13AFB for ; Mon, 22 May 2023 16:38:36 +0000 (UTC) Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-307d20548adso4034059f8f.0 for ; Mon, 22 May 2023 09:38:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773514; x=1687365514; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=umM81SEY7jXI9nj/9WnMvBMexWowJP+wozPO94Hih1o=; b=Kfilp3IJAIu4lxCIiwAYagAkjHot8V72jtII5vhvBJh+PRcJuP9eCX6RZEN/dKnlXr i8ls7X51SVnSiGaKj3OmqHo89FdA6lOr4+0Fd3eH+BopStG77sF44mJNo9ZwBh5E+BFD j2SMyJFRqdIi3P9StQlYST2EJVhOukPwqRth9JoDYYak5Z8upjHzrDAkBr9Olawq7aSM 4/79qJnp3wL3bho1NJO0w4L0f05EFZycG5ZheaQJhIGmELQMHapIzOqp+d8DCb6q+4J1 mlhYEwLWy1tXBmAmQOi/2wx2lg3/eSKHPiex7PF7TBHquOHaK3nNdeZPNIZttXjGiUsl ZDJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773514; x=1687365514; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=umM81SEY7jXI9nj/9WnMvBMexWowJP+wozPO94Hih1o=; b=loQ0D/ANg4yuwpXPRgw05XoGJu0Ww1Fv8TNlGOhcECDRHxzDNxOjkXvBH6ss93ZmRS 1hkgHx9R7dUM2vB31NdSH7z8jHgDR5ppz2JnI9EGvV1nb2xEtwO4PLKtNTe+oHmJh1wO xGR/aee1yxg5WiRKmT+bxhdDGA6bQzsUYIANnCoLj7VFYgU/oUoD1PCUoLIKQ8coASD2 NopjfvtVSWWx78PJD6OSV4A7/zmu6rGEVM7yC8T+wBBH+7yi/IGhkrknzlaEFV3cUSCL je/yIRkhIOziLihQk81ik5c+l57LNR8CiU8dZE2osXU5iZqaS/Txik1vFMexUR+nijkS KeLA== X-Gm-Message-State: AC+VfDzLUn+uPhEeT7vqdJjX7sf7J6fRTWAHPeSm7qEGiHaCgs56CPnA SJHTy3+t4MOtt1WRpHPQtBR0E9f3TbU1GIoWmvIeew== X-Google-Smtp-Source: ACHHUZ4ciDzgUyDDXAes2Zq9khv9ygI6bgb2DUh4T/Ayjbdp0LjucDdmNvUF5wRSC3/21IPYSqR2hw== X-Received: by 2002:adf:f108:0:b0:309:3a83:cf3a with SMTP id r8-20020adff108000000b003093a83cf3amr8091222wro.0.1684773514607; Mon, 22 May 2023 09:38:34 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:34 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:06 +0200 Subject: [PATCH mptcp-net v2 34/37] selftests: mptcp: join: skip fail tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-34-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1281; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=WRuaIoCV8Ano39TLUxSYZWYCFsdtK27Z8raXhn0tTWg=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5px1bU1os8yn3lGboKY9KzYc92Uwmi+93/dF KNmdlh/dWuJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg cw41EADYf1ShqlYPoWVTYHLFk2HsR+6Ro6yNhZHagHLr+TSSgEzKu7r4YQTmvRNQ5Yzo3iYBn6X e5dPcJhxG/UNUpCk9fC/3JK/w8DKxIoUdZCalXa0wGop5LjVNJdyUrKuLhEgcdfzEOUtJR2/LlX Ha+fNx3vb8EZGYVYgzbtwLLZHpTqFo4T1oMXHe4TN427n8pZZY0X0uF1stD0ZBWROHHHOqY5e/u ie0YqP2jUpyixqvrkk8i1jaXu9qtuyGKODuMmjerIjB7UY8Yp6L3TNlYXnTe12oPPWWt4I39nB5 k1mZuUPZ64kmxydZTdJOpNfnRcQmVyxoEV2eNbNGmSwSl2j90gSNmDFEhQ+uN5/uO/NDidvBmdA dxTeOyiYenKMNYYx27sRFr3FlGssNvsueTiz5AR/t/Q2VJWaYEsINGH9L3rdQMnCJB+0g3BhUi2 TC4NB1eKXR0XVvfDNaG5XVjzEzvyPPEebfY+hRa+N4dgibybbmMJvmbtl73N+ma5W6k7m8AVyK6 Ymmwi4A/tn1aSoSwhMu5cte5D7Jk5DlSONPzubV8wO82MN2RRd4Zs2/MJHoKoKC8+T1iCQ/eJop TUnTKhAessd3EQCGrx+hWBIvPahlghL4K/f494zKoL7PzWLsJacglPS4qrOXd4/9qcXWbfVfeVZ v5Qxr35xWW8Xt4g== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of the MP_FAIL / infinite mapping introduced by commit 1e39e5a32ad7 ("mptcp: infinite mapping sending") and the following ones. It is possible to look for one of the infinite mapping counters to know in advance if the this feature is available. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: b6e074e171bc ("selftests: mptcp: add infinite map testcase") Fixes: 2ba18161d407 ("selftests: mptcp: add MP_FAIL reset testcase") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 2783a3c59aca..37554287eb89 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -386,7 +386,7 @@ setup_fail_rules() =20 reset_with_fail() { - reset "${1}" || return 1 + reset_check_counter "${1}" "MPTcpExtInfiniteMapTx" || return 1 shift =20 ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=3D1 --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F2F1D14A92 for ; Mon, 22 May 2023 16:38:35 +0000 (UTC) Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-3f606a80d34so7027325e9.0 for ; Mon, 22 May 2023 09:38:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773515; x=1687365515; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Nu4wUabgHajGuWXoEhcu0ezc3UP43/rVTxkuH5+IyKQ=; b=eH7LWUB59AYvg/5ND9UDizjn31fJFk/Hw1oCNlErHfTkZ6w0IvXCE7wQ8pgvz5eCbE J5dvMdPhOfDEQFEgLWS5qDO5z/olUK8rbBglC3ZDuSdXJD73SIotZLpvyy3hjsQh33pQ gaWjhVp+quamkZ6v8Vb/9dVekXkpBpWKNpmKLKga1QFVD44+hJf81VLxcAHUa8x1pX7+ cr22EYQKOeV4SzQbIoiaG2TOeK7So32r3x//sFyiA1hSkbTJlhXSC9W4uinZT/e9Z8Kv 2JgLekKQndBxkqNYElpCxtMzzGiokT7r2qsT0vcQcQ6gH1Z5MoD0hd2Zb+OLlvEwB+sO faRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773515; x=1687365515; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Nu4wUabgHajGuWXoEhcu0ezc3UP43/rVTxkuH5+IyKQ=; b=Gj46ec39BAngTyduIIRwQjoisqMZLjLoD1k5SJYYJhOdznvxiFLzgKqjAcYr5yOqMc sVf17KzkPLtC5uYeEB/8/9jjmD4ltLZR56eR//6R8+rfxrwUXi9pnzzSZeoHiTUErb0B e3bkGewYngHA/ScU4kDrqv/hT1TPz5t7VDPw42dknGobThGV35eWPiR35VWtczomGlNp YHSazFybn23vcBVr0GHf+vHBWd86IqcEJ4Ctkn3x4U8OXEkQ9pO4TmweqJt7x7z/C1fP otjFjkbkvWeFQeDx/bE16k6de3zukFD0FHu+vLYZaE+13M9iFImLLswuf06hq50fj55S AkJg== X-Gm-Message-State: AC+VfDyPRhp/TDqnQNsM69dpAh9Ilm3OqexNdl9XIbrZvCMGJiZYpdLE NbUH11rDLZPeqGY+GOICwfhzwQ/xw1Jl4srvZ1mrkw== X-Google-Smtp-Source: ACHHUZ7VpmdHJt3H5/1ueMJugY8d+QxAn0c9G53MirsecONVstul1bj64SLs/YCATDHWIUa20JHDDw== X-Received: by 2002:a05:600c:294b:b0:3f4:2d22:536a with SMTP id n11-20020a05600c294b00b003f42d22536amr7933995wmd.19.1684773515272; Mon, 22 May 2023 09:38:35 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:34 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:07 +0200 Subject: [PATCH mptcp-net v2 35/37] selftests: mptcp: join: skip MPC backups tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-35-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2515; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=X5EfQHStA839zkiwchX6/aDU7EM0ro/sWdF+pLiKPzw=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxsJ/T6aWT75uEt8PgJ/S2Xl7a29pCTaw50 qHybDeYZISJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c/KAEACp6Ry5zdoWCR90TlYlNm8Ghp3Q1VRStV7J4+04sDEhg25n1NPlehkSGFKoofim4y0AUFm x2wGGIYS7TNUFbZfXbt+dWbZw7tHvnE/STl6DhyYhkG2hpEu6PCvge3lg+jI6d7s/jyyuHY3XYI lHhh8c1j4S4gehj0CSDto/Ag0cKB/WeoCLA9gDm6kl4mnRcGniN1eekwICOhUu/3WY6HZIBjZid ZU7qiQ0UYjg1Zk2pmGZs5Hncb57+yR0eMvqWp0fB/W02q7o5DA1pFdAD7IsV6LsoTAr163vfE4D BFonchREwUXa6X5FJ5ZBsGdgW1KvsBODsZxLpQ3NCuujQ61VSQenunR15rcJnX+7xQVD1twaWf/ 2tFSeS8JUTuT2wFVVnhMy4LA/uiVti+nBi62LMqygqoVXeULVW0sHdKsVVoO1roH5O7IflP48lK F5pqBlrubuW92UttM5NBICviH/dgUDFvAVfyh7OqoliF+vIr/MsOVRN0HygDRrx1PXXjmyhi4WC gp5sM34/GmF5mSTmRFz9e8OYDCfIgDI/RVRRokQKAKJ9QTCPrMcwcxsaxDZBiB+9Bs4T8uiSmq7 iKmtSptg9vzWKXQ128vTun2CxwLYrrCE4LWNXjwfJ6rnwz7LuLJJJZgQfQ5MIFuKVA/XZ1ZwW0P wGubpaQFml8gAWg== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of sending an MP_PRIO signal for the initial subflow, introduced by commit c157bbe776b7 ("mptcp: allow the in kernel PM to set MPC subflow priority"). It is possible to look for "mptcp_subflow_send_ack" in kallsyms because it was needed to introduce the mentioned feature. So we can know in advance if the feature is supported instead of trying and accepting any results. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 914f6a59b10f ("selftests: mptcp: add MPC backup tests") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 37554287eb89..dd8633e98185 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2771,14 +2771,16 @@ backup_tests() chk_prio_nr 1 1 fi =20 - if reset "mpc backup"; then + if reset "mpc backup" && + continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; = then pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow chk_join_nr 0 0 0 chk_prio_nr 0 1 fi =20 - if reset "mpc backup both sides"; then + if reset "mpc backup both sides" && + continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; = then pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow,backup pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow,backup run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow @@ -2786,14 +2788,16 @@ backup_tests() chk_prio_nr 1 1 fi =20 - if reset "mpc switch to backup"; then + if reset "mpc switch to backup" && + continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; = then pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup chk_join_nr 0 0 0 chk_prio_nr 0 1 fi =20 - if reset "mpc switch to backup both sides"; then + if reset "mpc switch to backup both sides" && + continue_if mptcp_lib_kallsyms_doesnt_have "mptcp_subflow_send_ack$"; = then pm_nl_add_endpoint $ns1 10.0.1.1 flags subflow pm_nl_add_endpoint $ns2 10.0.1.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A36A514287 for ; Mon, 22 May 2023 16:38:36 +0000 (UTC) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3f423521b10so41344815e9.0 for ; Mon, 22 May 2023 09:38:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773516; x=1687365516; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2xLESG8dgMs5QEpA20YyibFT95YW4BEOdcj6E4R8Qj8=; b=KXvF/1/040sFnWYNn+Jb2K5XrcYN7siXEIfFtHUXS4l+HxOfPg3r6OF5+Bf/saxohU YIoVUVDpPnyLyOve8nPDBDO8wCFQLA/4Svf3DQkgE2TH/iiIe+KecYMdkFTAUS+qD9Af b5mhJadPE0I4NoT+gznttnQlqWPl78ukLwjUOcZ9TnYu1ciA1eWblKwsA62AGLNLrrZk H+JYZRdK4X2zm7Uaf/4t8HfTvUNhvWk1ekLLRyJK339VfhX6Z7asSodtojLjq2H9Xym+ Ym0njJQXPSz11rVN3ZZkluHIvDrKr0s/Ky433cBTdcO48H2mDqC+NyLVvq0+aZuwXH1o s5sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773516; x=1687365516; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2xLESG8dgMs5QEpA20YyibFT95YW4BEOdcj6E4R8Qj8=; b=FUnq8TNruWYf/aY/U+pRR2X1s9XkvjrMmZkBkFJPUzviKB/xy+zMGTqFNCgz5i3bfO UNNt9tVKMl78inYmQdBX43mhNTWAYQY5MbxjnYTKyr3TPinK1AWMxXXHKj1Q5hZbeTJa /529Umm5PV4BFr+gjPsQ6rKD1fbfjRXycG3hv1IOQX19fO/AFzteBbEzoiEctCee5us3 zkmttzHgE8IytlTlA1+OIV13+oAS53RvqHgHhCSdM2Dv5XUYxHGlyFHKPexO/oLiD3mn KXrhgC/iC8/5z4j2HuDCU5S+7iUk7BMhG76vwrXaoLiFrSMBPM/GZni5MjadAgOt5DtE wo8w== X-Gm-Message-State: AC+VfDzRkUpBnJYQdSib8c+4ZKSlwqNuwWw5Ug/qm4AzRqUu5Y+82/O/ V0KcezUk89jpYcDt5a3EUKVVWKoQZzhA+StMCRhM8w== X-Google-Smtp-Source: ACHHUZ58Ufaqui2ZAF+UFcJbI1tkRUb1YVtcpSD/cZEQVvGmUek7V1WTW3z3pK2zUsb1CfffiOSuAQ== X-Received: by 2002:a7b:c8cb:0:b0:3f6:2d8:4823 with SMTP id f11-20020a7bc8cb000000b003f602d84823mr3870125wml.3.1684773515907; Mon, 22 May 2023 09:38:35 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:35 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:08 +0200 Subject: [PATCH mptcp-net v2 36/37] selftests: mptcp: join: skip PM listener tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-36-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1296; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=6rasK+gTJqxtvPFCxx85tIUJBEIGiV0S1/qSHeUNrqM=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxghAHgNf3GhPqZ4xmXSFUQ8rnhXh1nGIN6 yAK0PEVj6uJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c+oID/9wf6JZF0wJq+/U50ZHJ7MiX8oBkqChUZo4pTh0Hj0He9Z1gN4X4MWPQdtV3UNPofqgfK5 qg90LLbFMH5CN+t8fMO4Vmm2yniTP2nrWLA2+h5yzrhUcEGApHp//0jRwHmQzXlwS8mEKxRGeuK nZnQkeHz80QUp9jl1chiMuXJY+ZWgo4AcyKEN0ROb7G0DEpQCv8XB4fay2ePD2qjU289zdV1XzY 9+5adnQAp5Tw3XOz0noAW6Vm4W0lCzkXRI8nntDKNJ6Q+olxyv76rmPwplXfIzq1mZ6wCyjt4lT OcME9WFCViR60tsVqIoEUr6ZzbPz3iUHXde+0/gLM2409NL+5nw2znMHy2J8xsQhmNj8zv/URqa Y5wTd9ls48W12iGxnjKBZDBJvgJF12oxLddsyE4DCJCy61qlZk797nbryzqnc4LfoXZbRHQCsU8 zUUReigkioUgwXOixq8gnvnVOZ+CL9VafZ7CA4W3Xn2H09stNPISQ072I0/mQILsYHQUb4CLzYx CRhKiy6XmNPI+36YL7sjlMbUGH6NYlj2n6rQHHeaRkDofhrRHSXf2o8jk1ncDzSNGRw7k6CZ21c vTYo3WdfofOihknXeRPHTA9j/Oad16HtskSRznY0ArOB7c5Q5Ds8L1F9f+Ln8JCGC22diQvZEfk OLHjdOPx4Xp0I8g== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of PM listener events introduced by commit f8c9dfbd875b ("mptcp: add pm listener events"). It is possible to look for "mptcp_event_pm_listener" in kallsyms to know in advance if the kernel supports this feature. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: 178d023208eb ("selftests: mptcp: listener test for in-kernel PM") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index dd8633e98185..48d0b7993194 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2832,6 +2832,11 @@ verify_listener_events() $e_saddr $e_sport fi =20 + if ! mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then + printf "[skip]: event not supported\n" + return + fi + type=3D$(grep "type:$e_type," $evt | sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q') family=3D$(grep "type:$e_type," $evt | --=20 2.39.2 From nobody Thu Apr 25 15:33:47 2024 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 950A913AFB for ; Mon, 22 May 2023 16:38:38 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f6094cb26eso152525e9.2 for ; Mon, 22 May 2023 09:38:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1684773516; x=1687365516; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=39CSsngkWCVlQ2979uc2zMYSnGebdanSV4IYgXqD+T4=; b=XRjhoVKSWug6+pAcprfl7SsiSpKQkisFndaIYz4XCxI29rMgPSwrvVwv5EuBOCad1W MXUWj6R5rI0zb3u+JUy7R4ascR8CFq0nIXut+oo9gKpe6gLoufMbeLg8tcOS3ZFcr+h9 1G/5o5+UA04E1zS4XLsJ+m/AVWYk3oaQZR3CIHy8NS3qWhfzVoJ4QC0KP0l62iJDiqUZ 1xdNL+SLzX6v4ggUe6JsjSXnjyv1gg5XuD1H4JJqDfew4THx85AMIFZVN3igDsY7o5BL P+9kSzm+8ybpU9rkWQ98XYZojbyK5Dgr+eTa/4+1LYzjSiu0pYkr472oy1RTc85kH2Rv vkag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684773516; x=1687365516; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=39CSsngkWCVlQ2979uc2zMYSnGebdanSV4IYgXqD+T4=; b=V+1XdGQZcOGOY6i36aZBIRAcY6omLKHyWw3Z6ncncc/+G1Jtb/snTeNsUFAcZJiCH0 2Crbx7Pnxc108x42pS0NmeieWCGeb2ztCg5aVRpb/HMEEMqLZpSAHXwOhpkbDhEg5vT7 Qh86LO7vztV77Gthr/GvbIdWB3DjPeSP+StEyCsxJP9O2lyxBawhV7DRVWVQVxFWaJqz OZDR8LMAKdfioz2tKsT2E5dQ2jVE0e9aQWaLh4ZvzpqRdNA4q/+Dip2rEbhXAzUoAgse KW2yzVrtg0neOGac6O85G/jaHbjeUVLEJu3wl6c+oVaTWxtqFy4bNGevdzVn8An+6sFa P4KA== X-Gm-Message-State: AC+VfDy5708OSNe+KcXZhOaMQLfM82+QSSd8Dl5kKELYhO8B0CNl+3mZ oBOTqmZrKwQrtSoZTw9j4n7JfAgve8oxaPoxnLLo7w== X-Google-Smtp-Source: ACHHUZ7wCg6BoXNStFiv3tSi4SHXl1lBQLE7TreP4te4QCOwhlHQ7nfYw73Kp40f3Q+sH1gR1sWE8w== X-Received: by 2002:a05:600c:b58:b0:3f4:2815:3afc with SMTP id k24-20020a05600c0b5800b003f428153afcmr7656093wmr.13.1684773516630; Mon, 22 May 2023 09:38:36 -0700 (PDT) Received: from vdi08.nix.tessares.net (static.219.156.76.144.clients.your-server.de. [144.76.156.219]) by smtp.gmail.com with ESMTPSA id z20-20020a7bc7d4000000b003f4ecf1fcbcsm12028808wmk.22.2023.05.22.09.38.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:38:36 -0700 (PDT) From: Matthieu Baerts Date: Mon, 22 May 2023 18:38:09 +0200 Subject: [PATCH mptcp-net v2 37/37] selftests: mptcp: join: skip mixed tests if not supported Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20230406-mptcp-issue-368-selftests-old-kernels-v2-37-50313e4f83ab@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v2-0-50313e4f83ab@tessares.net> To: mptcp@lists.linux.dev Cc: Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2806; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=aZA+/W/+9z1cTucuXAyZ2RxVsLKZg2UHOmTUpP+vsGQ=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBka5pxXuWGl20/Wvtx1r/Ij8CL9Jhef4+CJvPLu edDzJFByf6JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZGuacQAKCRD2t4JPQmmg c/P5EACqNmk34Y84JYk8p6Ny1ZZJRWpRz3Ctxz/HZ/sbGyIMmAN5f76FRVndjiQVWvH+TSZK3H2 L48+ARwHKVgvYNSecNeUqbZUnurIfFyqBtTbir5A+xm/Owj53CzaGaLcST8qf5fBFvjhq5HElVN DVnVKJ57GfcfTwyfL/SjOdyzAoFfZH84EitEwX5mFAOx15hZQQM7QhWxPrne7qghHVcuQthEExC Jd5rJH2pRCKicNxQGhwVNpTbGY1P2k6myt2pUvJEhun9GdB5Df9vpVvxLnI0QpPVTafgIa7vT6g IgEkyFdKnNfB3jawH6lUfT1bHKjfH2mBwIuZhVe5qrrVKjxGl491MxlBxFSThRJ5PglgStsbJWr ink9NuOEoHLqbO0NaU7HAAWbqKrFdmCyDETU3fB+xS1JARjMlth6ktfAzmIgynazYs83I5/dng9 UTwfw5tGLtjcfnaVZX1qQzb6OPlFnaypjhQwGRm1Gvw7Ec0aW9e93g4B0WrDU97JFDiTQkbABMu /D7NSsPf+Tkuj15LQU7fxGMrObnnbEih1QMmixoXDYfeBgzvH7gg+IL7MYV2rnaUfOgSCWhM7he s4JEIBZU1dgOPzrPcnvW7HBBfW7wC9rGJ9kUspFUWWH7XV+GsECdHeR7L9z6VUVbedftZhjwZki 55GaTzZIVD5fg2g== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Selftests are supposed to run on any kernels, including the old ones not supporting all MPTCP features. One of them is the support of a mix of subflows in v4 and v6 by the in-kernel PM introduced by commit b9d69db87fb7 ("mptcp: let the in-kernel PM use mixed IPv4 and IPv6 addresses"). It looks like there is no external sign we can use to predict the expected behaviour. Instead of accepting different behaviours and thus not really checking for the expected behaviour, we are looking here for a specific kernel version. That's not ideal but it looks better than removing the test because it cannot support older kernel versions. Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368 Fixes: ad3493746ebe ("selftests: mptcp: add test-cases for mixed v4/v6 subf= lows") Signed-off-by: Matthieu Baerts --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 48d0b7993194..484838703532 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2695,7 +2695,8 @@ v4mapped_tests() =20 mixed_tests() { - if reset "IPv4 sockets do not use IPv6 addresses"; then + if reset "IPv4 sockets do not use IPv6 addresses" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 dead:beef:2::1 flags signal @@ -2704,7 +2705,8 @@ mixed_tests() fi =20 # Need an IPv6 mptcp socket to allow subflows of both families - if reset "simult IPv4 and IPv6 subflows"; then + if reset "simult IPv4 and IPv6 subflows" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns1 10.0.1.1 flags signal @@ -2713,7 +2715,8 @@ mixed_tests() fi =20 # cross families subflows will not be created even in fullmesh mode - if reset "simult IPv4 and IPv6 subflows, fullmesh 1x1"; then + if reset "simult IPv4 and IPv6 subflows, fullmesh 1x1" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 4 pm_nl_set_limits $ns2 1 4 pm_nl_add_endpoint $ns2 dead:beef:2::2 flags subflow,fullmesh @@ -2724,7 +2727,8 @@ mixed_tests() =20 # fullmesh still tries to create all the possibly subflows with # matching family - if reset "simult IPv4 and IPv6 subflows, fullmesh 2x2"; then + if reset "simult IPv4 and IPv6 subflows, fullmesh 2x2" && + continue_if mptcp_lib_kversion_ge 6.3; then pm_nl_set_limits $ns1 0 4 pm_nl_set_limits $ns2 2 4 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal --=20 2.39.2