From nobody Thu May 2 09:40:02 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 E85ED15492 for ; Wed, 31 May 2023 14:16:39 +0000 (UTC) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f601c57d8dso8795315e9.0 for ; Wed, 31 May 2023 07:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542598; x=1688134598; 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=Rh55WjVzQBaZBmuGVl5RAmYZScqeHyvNVlSr7qvtO99Xp8I9bx2Uawhv5M6snIJBvJ WECmLNb2EfkjHrvVSEaRv7YmOxrxDANCSRQdI7QojhiuxUp/4h58g2jlu6fxjs2reqrB 6YDpeVapWLjCno2h6di45Gy4ElqeWgJiNrjXnJdCL6SzpPuim/b8tsb1Voqv3P/Wt9p3 F2K64HowA898CHGpX7scm13YNZGxYXt6nbc83/R+RO/NnEYT1OmFrxJKjTZIOPWuPyNe czkA8DWYdcBazBisuwF8HD+CZ51Mt2kBU4DBTSfi1JN7xMGtRHjtuf1rCKgvBtsqT/pP ZXPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542598; x=1688134598; 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=BSoxlNGCBm+SnWqAbHTfIoh8eofLwzDwEcOsHP49DylHaTgUOUw/0IaxEYO3yqWwVT /zr8RwFvXDZDSAiL9WAJYbrRCfs4lH+ZQDzPX4VZt/GCLRqrRg/RM17XqL7IzTgvjAdJ EK6WDIqQOR115QWGHR5U+yoKURbHxIOLtC57jPOfqwLB/jfgn/KyAwQcnYFwjt2wyMj/ /u1Ss/ufb+hA2LGT+D6rzkRYRpM18h5yNNhQp3F5hPZnluGZEa0pvtzqEcsOWkJ2IIf9 n99dN4jhz9btdVSfu5OYA4zm5l4IiqC/S2ISyKsPZjejY9Ry+Y2NwQFeydHhcHNx2E8w JoJw== X-Gm-Message-State: AC+VfDwxGjp0zkOLKHVXSBDOTFZQuy51aCrrlIMnMrQSrGqmeQALHqcz M/aCH7XHiZx28Dg0KOE060HSnA== X-Google-Smtp-Source: ACHHUZ7OzQHyT6UN5BzqrGfPsXltIeefxVELt9FJRhA9XJVwNdK7pIzPnOOARHeTdhc2tMeIa/MEBA== X-Received: by 2002:a05:600c:3b27:b0:3f7:a7c:b039 with SMTP id m39-20020a05600c3b2700b003f70a7cb039mr5154820wms.2.1685542597802; Wed, 31 May 2023 07:16:37 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:37 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:21 +0200 Subject: [PATCH mptcp-net v3 01/32] 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-v3-1-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCRKJJr7XcGiqlzaSdvrjzkqo3qfDWGEirH 1KdQvkVup6JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c7fXD/9S6H+CGjMTZNIJIPdOYGGk4IOa1uW4aJ+6qcfVKKU5pQvDS5xaw5CKgxu383l3DUmVDWm MBiGUSDr82R9U/OWjq61QxKpVbGHOSobN7OsmdXz4egF+rxZsNtOjxx8aMYkR/QdwkJ1h70WzRZ LMKDJ8eigEHEqdPcKSCGfLruHIoT/Dj2CkAYk60JSRy8MpMZOmBQ0zKAKfQ9cbq+ycjT3zypLdh UHD/auaxWG1qaHItE1pIeGF7xmGZJPvFTTb6X2QnAqv0A0cyQQGq5PUb/N94G+3AStV3Y9+83Nl 0aWXF2hT2wqttebppMIQd8aa/xoDJ4X7vBbaUcU0YDDYVYuWlcYpzK4YWBVDI6Hxk8dnkoK6W+M TUXCUKSCfWDoJLsNWow38+VDDhM/beeu3Wt4m/1ep1a5/045+6iJf1TPMbO7/y/zHVKd8JCKXSG xaDiNcPB4aKjuVtknQXaj+vziHjpr+vlkee2VDYujN6q8qKpk0qOspo6Aq4/rNJEalhEOSoChfZ TZQuLjopPhekCK24rfqA63CiSwExcBS6j44Ce1idxKLETn/2ajkx3uYkJv3/emG7/hfFQykkD0+ a5IsBPRd8ijpXupuzGfoz0cfpYTw6LLbO8QmkAD3Br+6AFB6mxRLH/mAeCQFlHOwEw78C0gxk/d fvjvTOr3wPWMifA== 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 May 2 09:40:02 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 9081415495 for ; Wed, 31 May 2023 14:16:40 +0000 (UTC) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3f60b3f32b4so43291795e9.1 for ; Wed, 31 May 2023 07:16:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542598; x=1688134598; 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=j7u0B0hbuIu/ofC1K73Z1f0g2o39fhID599wKY9GEnk=; b=A77ELhe9+Td3BTrcTyuJfxa0QQf7U7hRjDNLhla3o/JF77e+WkL2OyAMuXqOJ/sR00 aKwW6aDosXLr7F5vBfxeIcVwI1jYUr4lHfVePTrZPCAtmNU0GNNKDS2UzgjPT2eZYzfC Lea02koxuryTkR8wkakmUAAqaUrgC7Ho9QsMYROMP5WaeZm1FYrxkR6TLlWEhW0LzZb2 TOF8LZlM4MBIPKK/9fPeysDrXEZ9wq4mhTc548uby1EwD8tkuWVNbxNL1KvA3bApW744 Vnl8FwGnzQ6BWkIqvinUwHrHWzvhRhyWCEYNGd7UFjeF2BkU4tg/f5H2v//WV1zAAhno X2Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542598; x=1688134598; 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=j7u0B0hbuIu/ofC1K73Z1f0g2o39fhID599wKY9GEnk=; b=KFJ0vrjyqIIOpxWKjv0pSd2aBEDRVlHBWZus7EyI+5bxriW02BXqz6OkWN8p7bE/oa VJjZHNNGHpWAzTvL7Vgfv9y1CnEX2WYj+k6e4D+OclQwdDmcbDwUuchhVMoURMgrF3xy iK1FGY98/Lirs+2xhk3pS2x+bkNEResRru2HzkLzNu6YI/4n6F9XQOVcxYF9dvwGIIuO 4476nZjwjyUHTBqG7u7l4YCtc5oexeO33Y6YMHilsZJFb+HTwgMqHd6I66bKy0f0oXX5 u0iMgOBbRxFlx/o1r4D/sVGYDUuPLqTZTburkIQgcn1VW81ozpNje1V/d9J8NJbcpxRz /Q4w== X-Gm-Message-State: AC+VfDzrb4qy4M1Q2cginT+6Rq1JKvQwPindZUTQIYLfANGdgYQ4WXgF yy+blHR0tSn4Zn/dO0YvBDNEHF+fOfK3F9Be4b7JiBJM X-Google-Smtp-Source: ACHHUZ4z4K2lVoLsTWPjZgPDm/ODvi21lc0TRV/jacW9kKQoGvMjGj+0T2GQvRk7B7qBtYzBvzKtGQ== X-Received: by 2002:a1c:7412:0:b0:3f6:ae3:5948 with SMTP id p18-20020a1c7412000000b003f60ae35948mr4225416wmc.33.1685542598461; Wed, 31 May 2023 07:16:38 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:38 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:22 +0200 Subject: [PATCH mptcp-net v3 02/32] 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-v3-2-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2862; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=sZCgY6WM/myrDI9Y3wKCbXmTl62QCarqmwn3PxCHWUU=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCIK/x3tBBaJ/5k1ByTsS44DkQb0ZlAB0VK AI5TQ10/p+JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c2JYD/9/D88S0f5FnFPlPcDdo/Sdwu8HdrafEVkMoyNbbFJmdiXE1cwXItIGqbJq00T9su0RGkk xztde/c/ePe/pySPZYl7xf8psFCUsLlnrcecY9cdKq/kxUOdulS/EFn5yGk4ss0NAiEOEsgpAX2 3ONzsK8cWBatCYxix+34MjwCioOPxBG7YB0lkKeiLlOOGOgNvy5ShCnUDVq5VLsLBdUaIoVjuBu MW+qJMMhQWqRpd1wa+2fJrsu+b2hcn4s2Rxd+Tg2qaYvQxhVm/zAHBiuiLjaKA8VFHe+GLMPBbC 7f6WG8AEbIFgNB9qNxUFHP3jmMkle8E+Z30hx62o1BNDRrbKioB1eyiAOgbbfcgYC5aOhUnBPpz 2RpOwXzE4GtTAvyqHLP0dgsGZOFZWH5+BS6FAyG8u9/w8NiOBwZgXuZe5mokzr3p41KzmVBh+oo 14ZSoOD+YMi1uDi1TIswqpv6tydxKNLzo0fT6HI2GZGeI0e7hr/+8UvrlpkS92A8ZHcGsis0zUA XaHtH79JELXBiy2Kla72SoPe1Nul+avMgdERshlwECSjDE/+q6nh426bA1V9npGtNPlfez6ZYrm 9dGCzi/w3e1OGXMG1E1WbNqosa6NjwoL+7gvQaTx9WNKbYG7zX0UfchJz5WVYwlpAOHAMeolKkd zcyngjPYXelt0vQ== 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. In any case, we need a solution not to have a whole selftest being marked as failed just because one sub-test has failed. Note that this env var car be set to 1 not to do such check and run the linked sub-test: SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK. 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 --- v3: - Skip the test if SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK env var is 1. --- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 26 ++++++++++++++++++++++= ++++ 1 file changed, 26 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 29b65f4b73b2..f32045b23b89 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -76,3 +76,29 @@ 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 + + # If the kernel has backported features, set this env var to 1: + if [ "${SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK:-}" =3D "1" ]; then + return 0 + fi + + 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 May 2 09:40:02 2024 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.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 527F5154A5 for ; Wed, 31 May 2023 14:16:40 +0000 (UTC) Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-30af86a966eso1539837f8f.2 for ; Wed, 31 May 2023 07:16:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542599; x=1688134599; 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=45rPQI/9dNaIGMULDiqTcAf29bFiYvpeNsOMPZL5pEY=; b=cWBPxD/ieKtU7WLItc9BlVNplJ4ovMuSpQkxArtqwe4Q4QW46hhqVpVA4Qrd4t3xxn w6Kran0VXQ/a/FBjiQYkJo/vosGrEmgskPBrO3kMVxt+aDtHRneuJSBBsPTWxdHEKuD7 EDII2s3SqoJrWxyd+2CYgqSZhSUA2okbI6Ww3siqjS24+GrYKwMi0TFD/8V6VxMlOc29 uu9sa47MfN42qOmEJ4U7oFLWCGn06b31iDkrpOJS5zK/lITwEpXcnI0HmqMEK1dVDRI0 mTaZR8/AEPNxfU23k6BarB/Kt6iU/wgrpUb5HEvNWUm2va5y/eGyhhp/OBo5vcG82f4t TQPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542599; x=1688134599; 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=45rPQI/9dNaIGMULDiqTcAf29bFiYvpeNsOMPZL5pEY=; b=ihyISihRUAUvny0kZMMz1Cd8K8qYDd7lMy4oc47RwARXW3k6T0xkO3EmYnqDv7zzTI V1wTz1KHEhPIm+Dk0MphWmSMhN9lT2SNfxRQidYO5qVi+GooU/Otp9h3/H9xYJZ7FGxk QixFraZonkLKRfVK3/rxiLwU3rPINurAtGEtuZfAz8Xs3PKrXyHs6Xioa2GJw+tC0LLv cX9UdwtFIqXuokZ9OXQeDrzSfNbtdnhuNNT1xSZU17+b4vp+fBwn/XmdOab69nBxKOKp JdTUnJn1kkL9uzPknhdxGLR3M2XEt/8Q14AgvhWo/XItiR0aEjGm5rDzhB2lMpqfGx+q BwNw== X-Gm-Message-State: AC+VfDwZdSb4QcO2LMYdeMu68p/x806arn4KOZqeSST/yhNURznN1RWa pxkyKugKRXodIDoXbe4rCzACng== X-Google-Smtp-Source: ACHHUZ4eohhyQ65cNXs7mY3ydDpfNRlRcf+Po4H/6cU6tgcubcrNgivGe/nWZDQ6xAMGLRzvMXPWEw== X-Received: by 2002:adf:e84d:0:b0:2f2:9198:f0f with SMTP id d13-20020adfe84d000000b002f291980f0fmr4129915wrn.10.1685542599197; Wed, 31 May 2023 07:16:39 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:38 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:23 +0200 Subject: [PATCH mptcp-net v3 03/32] 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-v3-3-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1993; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=ypKINRNPSgiidO53mhT21I9MFGRM+pvUXFVtqBFF0zE=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCRXEWC7EPDWBeJZz7bHT5ieKw++g5BXoKW eRI7Qt0ZgmJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c5qnEADRgvvYoRDYdmxpSi7bQc0ul8u6wISUjtlIE+EDhCG27P31EwJIcKlZhHpzUrp0OwQNqXW x2/EZvHFt4X1y+aGYlpHNFLTJp2clOPEj+vDOTwT51lX4G+G+3VZ4XXtDcTH92c74VPjIyxjuPa w7so43wol2xgaFcIrIE2JPdfgtvFiggOyChKq+10wzQFFfgj4yTEqkhAWhFD5RbX8rUiJNSKr/d XHrKR79mBZwYbPOQq4uFcvAzdKUPxLG+anTLs0sTunuTAARhNUHiUvplo4tdrb3R93ID0DNbxSx RRVwvWV2Vaz3OdWYLR3HKlKW3o7R2BwXgf5416BPC4nXC9+H7GdCwSCB5t63lYEaVYN8bGowF2M e8n1BvXejOShyLERawRW+npho6KFup/v1tgnXTM05ZRCHcKYXUgI+R4mExOJn7oBDjFKLibq8F2 Sjh56XmKvrmxw8Fe6CD0Mc6OyIB/MlfdBJ2QNb76x7xG6QAx+saWq4Ulak55/eMDnTzh11ZupVr g68SBC9ALq0k9DQ/iwnf4Dk75/Pw+42Mld9gO8VN92RpqE7BVkpCc4n5OGWbyfbeSBwobh0StsE w1O5jVYBvxCsty9WvGLZb0vF8F4aOEeOLkwTDX9yHt7/jiN+qO7BBD//iG56dzH38iAi891Hq8A RgyZioLkTMQUlRA== 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 --- v3: - s/TFO/${msg}/ in the INFO message --- 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..f9c36c6929cc 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: ${msg} 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 May 2 09:40:02 2024 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.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 18D89154AC for ; Wed, 31 May 2023 14:16:41 +0000 (UTC) Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-4eed764a10cso6461164e87.0 for ; Wed, 31 May 2023 07:16:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542600; x=1688134600; 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=Zh2CtNcrzx065dAyI+yQ3vN4EuYizVeAOwsCoc6Ho/4=; b=U+UjEDVKbjJrYM+Fi1tccJGkC6q8mO0hTRSD9egjFynTKGEpgIEBFLNucpkKZ2pZAy P/NLDxFCGGfJCvFZXOgz6nmtr/xQpWNUyEe9+8BEteI/Q8txa0h37UzYAOPoFQWKtK3m LqfhgC34sL8hNMNxSBdb2p9yM8tZqivSl8c//nzQ+hxL9P6G1jiqvmv3JNbP3kliXDlg SlagLrcy5YmoZMPU0d0AGhbp9sBYVwB/YtOSXZImYpP4ILgpuxqqVnpSQOmp45eUb3Ik n47XGnr0/a7j/7+m5keVPp6dDt0ML/xX40s6jqfeP7yiirJ0O3GsRC/M3sskbPYP8weV GHjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542600; x=1688134600; 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=Zh2CtNcrzx065dAyI+yQ3vN4EuYizVeAOwsCoc6Ho/4=; b=brhAVZnSZtoXB80FBFQSZ//LXVaSApk4ptqHdBkL9aBKTPWkVz1S50PU2W6nEUhLwE IapcMVncMK+5RqsqEiJvCPAcU+BPAmXotQx/r8zIuTv0aBeV0Dg64iJGwcJG5y9rvqfZ l+sZ4YOX0LHBlSGTIyxYHzT62IsFLFWPklvG/rl/+K5FFrHUk3KY9jqY8q1f1nZj6ZsT EK2gYJUsvO9k6h1hSuIQUy3iKDDr1IGkXY31lBOXnjScHyufWKYe3ZtpvByKfKqUvtwA IkPp8nTpVEbOkAfXiKw2HmNSGw8AOH16hmp4+cNNsn0x7zjBz/ROCQzxnDip9m7+BXkk QMAA== X-Gm-Message-State: AC+VfDxO14AKEg/3jyZoG9FZlCzKHsWNgRBdkfVa3jSem9APvEUc9ujZ wqgrn1Bc3fiNkpargZZ3dvTbUA== X-Google-Smtp-Source: ACHHUZ4WKt/TyGrUfWeTjZtHFebDrdaUwLwbXPqHPiQzoHA7rJqqjQ/NdY0k2kx3BRH36RZoQHx88A== X-Received: by 2002:a19:740f:0:b0:4ef:f4ef:a1cc with SMTP id v15-20020a19740f000000b004eff4efa1ccmr2924127lfe.14.1685542599948; Wed, 31 May 2023 07:16:39 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:39 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:24 +0200 Subject: [PATCH mptcp-net v3 04/32] 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-v3-4-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=7ejq+BeGuBlgGpQDJrtyL3h+SHqC91HjQT8sw8ry60U=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCqvbTjSc96wqstAU2j7EjdQH7vK1Aw2pon fQs2hbp7H+JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg czj+EADg4KhaewiCfjet4lR7FRG9M7TWHCGo46oeAo+PIK3GlTJHyjN6njl+sX/zW9B6sQ0vBfQ 9DLU4yTHcFCW3x1e2Zu1SVvUVXCWtfOB3dnvNlzENQujiFN6YZH+CWo0+9aPRYSvV5D+0j5Ux+a 47Vfrx/JPD1TE5eUpCGu9wsOduHz9++TEkHX5ei71jLv3F+ohDTKIrehVmcAla9co6m1KWxpnTt /7E/FwB5rNE9TnntPnYsX7cF0+YhofdEAH6ZH64ESOiz9gmvPb85UCvtiUTGEoVMp3i5MjvmEDX rghC1ZEny0xui4Jw+gWCyVj6ZqDepU2Xn003wIStcoTYvMAQp+x9MJ/y/rkfC3EC+ksoCZCbO3S QN7gtlQczK799p6hhWfik4HYkopPpEVdpRPbKANwPFm/L+uqsmfKoQ5G3Ix31jCep7j0Zhl4UlJ 73TP4cZjgpej9nmEXEqGLJNni4fDpjU26hal2LChWwe5fS0WOI8fEu+qRdOQijrPEBZ3AmfhMz8 PalNSn6OaJ/aEKtjk5rr4wQAV1MG7BBIYPF7RMaca9s1fp+trJxyj2oq3ILJ9AsLuGPNluDZZlK mr9ZgOqwCEBC3trzJTCOSmCMjBsKIprX3U9SxQCUDZ95pyDz+6RT41DotafBRxTX5ENMrw5pfKd 9xvq9IcraBBpqSQ== 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 f9c36c6929cc..895114fb6832 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 May 2 09:40:02 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 AF67515491 for ; Wed, 31 May 2023 14:16:42 +0000 (UTC) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3f6077660c6so43369925e9.0 for ; Wed, 31 May 2023 07:16:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542600; x=1688134600; 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=xYJ1GfD8UJAHyjP8CU/wIBAuMyFnUU/sDqHCbD08zQs=; b=qKK49whO66XYl+bkvV1KJAP7PJ9vMqsXqJlWGgP7G4Tpsz4iOiaSfCwILgVBXFsbxJ JiY4M5DbZ+W3suJiLHxsSiNzV4DowMHqdZM9GMIAqmCt5sAQNRsArlTgdjIH8ZC/jkYL Ky7p4uOVICjaN3107TRvTfJ927fPAXd5kEKVwxsO1dhkUQcKHDsBlT87XMyGc/IVM7Ph jxZ+Ynd+tzsfeklvLQpnXDlNfywvFhSOWL/vJEjGFBvPtlk60XLWd6dBWLGE9hmtbXrx tf9n99C26Z7JCj77/C9Wr3ZG12fpnm35I0q8cYBeBmwK/+qSaRXWYdVs62O/hFbHy2Sm ZbYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542600; x=1688134600; 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=xYJ1GfD8UJAHyjP8CU/wIBAuMyFnUU/sDqHCbD08zQs=; b=ESijJ5N8s5ejoKG9NZCnGH2RLubh+CCaRAmzxJ1cB0NkFqwhNPVsBHHGl8R5gVzeBB ZMWGKVqIXDC6XRE0LsjoSS7R8dSLvVdxnTJ/GysTVvMq0jRQi+/T4cm1cjz9QFlo8zeu x8cW8+HIQWku17/hNC4dUg1QH2uIMmcMkBWDnp0xLiI8L2AikwH7s1ZnWnqtvdMWC1zV mHUKoLfW7yOamxvywOrP01R8sSJ8Buj6SYVxQm5hQzWTYmC00/XzYZi2A0NMAabOJim6 ZW4bM0oI9ESJ3fNn5JxzSIjRGHBpk7UtgoJnRdgN3amIqzhXvgZ53ri8nPb9Vf7ail0l g8vA== X-Gm-Message-State: AC+VfDwA+HHZW9b90OtlFArNymtEBuBALkVSZTcB3/W558XsEPei7Qw6 lmKqybr0m92KxPDAfUAHCd5Jnw== X-Google-Smtp-Source: ACHHUZ6ERh4IdNiUEdz4j1zm1ieVoiouzIrr1/w381kY5Ima0GQsr7mQ4JpmWQh1ZvpieNdc8kv26A== X-Received: by 2002:a1c:4b04:0:b0:3f6:e73:ef1d with SMTP id y4-20020a1c4b04000000b003f60e73ef1dmr4186028wma.18.1685542600755; Wed, 31 May 2023 07:16:40 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:40 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:25 +0200 Subject: [PATCH mptcp-net v3 05/32] 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-v3-5-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=m8KzPFriAhpJRoDvd0anKObKTyLLxGf2U0AQaFYK16s=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCfhgHPIjxY6GnJk7uWUmJug+hyOPV/q7Kw /aQ0lECWzqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c7JuD/4jzBvIbov7riDUhE+rl6ZCME8Dy+CzLse/Z0gH6/LnSS/HhVwdFZeoyHQIZA8gR/HJ54Z i2JJP7HL6kYdHZ32XglOv2ZPGQBZreRR7MAdMuc8UhJF1UzMFKpR7ILz012nCfdOeBAu1Hy3BTG nYY9j7FUIjAgw8ol2rq6l8vTx7TIKKW1CY+y1N7DkzYlfc9e+KvYH+bQgxnuIZNZGnBgEJx9VFo qpNzkOKDmacA3nS+NpmA0oLwN42/Bpz4uHLy4xasucV0dgvAsM+xhY1xSoxvzM5H1WsP+kuNgj+ ycVJnPQyyzUPYZvWLPmNLiy0YFVhNZu6h4lP2njyq2uLWF7/RPWbR5Is5a1bmUdQtxpiNk403YJ YQHoih0pZhDPA7r2lV7KdYeSYsjh1/gEsVXrNst49sZNoB0nURk1fV0RsPpiIc1iDfogB2xxiLk wSBKP6wyF9H/9Ckb9+a17NDAXtPPNqAaCiPXi0B3tepkBd8+Nii2mLHE90/V2uV4O/vsuGg4dCV uUxx6IFkIauN4IGbAMHh2U3TJyAutzDuSmi27L13wFRuXdtj4EWhcj8PgmH8E7DrEzGNGqOQTSL /zUc5V2SprAFwrCBMVR9Cl9dmHOdhSP4B0fKzyJGww/kvpj2AVMNVPXI/BbmPE0RZ61h3E/RFTO MtBYhv2V02Eg2dw== 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 895114fb6832..773dd770a567 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 May 2 09:40:02 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 2A250154AD for ; Wed, 31 May 2023 14:16:43 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f6a6b9c079so44037185e9.1 for ; Wed, 31 May 2023 07:16:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542601; x=1688134601; 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=2KwKA/Bypyr0hXt1sr2eR87C/KTF8Hs+b/VPRSZ8ti/3o1xRyZhfjvGh07EIkQSRYt A5/F2kIDeGRNdLdIubvjiWQiyy+E9pW6C7AutjaI5GKdDvfKOSlaw+DG72zBa6VwMihc ucBGGKJforcsDkIKHIaD3BC1r8N14ie9RN4InXIGUce2E2JzNyConlcHB7GwxEr4vaql oZCDPLhQ+DPZmg0n5kj7O3uHtCTl8YyaDDGiOxYI8tx7prbNXW6JRlGynd7X7YDtYK3v qUJ44EqLoGz2CIbjIjxgbi46BYGh7JQ97Ig+wzjbIknjxDtnkxKe45RUJ5pOBviDx7BL kPkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542601; x=1688134601; 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=FhzLPy/vgCJobS1Cdloujnv6A7Pgg7006ttyKJMCE0iruuKvt+T3BL5j7a7ieivpD6 nQM6q5HTR0YB/zX9hsLSW/JfVkWUgO5F50evib8bF156cvmZ2tUB77xLz9gR9Mo0EatP jWrnFnAgekHEn945kg6aFTGiuxr0+nP4YrtRH+UlKO9Pr5NraSQ1Ty2f8zqA8p4h5WUt lpnKMXm6AIkC6DpEGMEnKzJ+vQW3IEKNj2s4tCGYJRHhuNermDbhEFF9sKlO3uFqlWkA Nm4DgW9AFx1fc8cQvZGeLV/6QOndH+CTsg5qlDL1nMjK74u269dg86RPWXoCOW7hPN5X rXXA== X-Gm-Message-State: AC+VfDxwvXZkibdmqIimnVEuafFdDZ4UpBotN7STudFg8ZHUA6ZF7v1L p+lKYPZgdq0pbnduhs0JgJ3NWw== X-Google-Smtp-Source: ACHHUZ7akZ5hK8FmYIfWvFVIdRUsQaAHQygQfEk1NMemDJ5sviLquTBgwuSifQDVGe/uBrCRQHzqgA== X-Received: by 2002:a1c:f710:0:b0:3f6:683:627e with SMTP id v16-20020a1cf710000000b003f60683627emr4389705wmh.9.1685542601452; Wed, 31 May 2023 07:16:41 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:41 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:26 +0200 Subject: [PATCH mptcp-net v3 06/32] 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-v3-6-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCdxUff7A7E3hXfwOkFkL/VYstwHbh/GL3m ZHCajye4biJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c+sSEACSsbBRyijhYlnaBcQSoOok+jYiONCm5G6CYPzLiZPGWW8iz2eQN3MnQIguPSBkM4GR0Sv skNFqO/r6sYt0Lv0SkVsAvAHRqBNdG46QRQluAA4AHMDCTmnZ31Mzjhrha/kvqCUDNCVXlJsDVs zsh/ljReAcjbtEZPpCvQzMWevuHUEe0cAxWEDw2j0O5BLNBWdeZIfC8UCm/+5tQVBzfJh7Ns0tL KIFE0p33wl2pNdHzeSIhI1NC/3gEHVomQLriWJFR8YNEtDA7+Rs2Hw3Rc0cM6Vjpk545rxMwXMX C+XbQUk4JIrKp2KEsR1WW+cqhsl0QpaTOb8E0zK8RJ7ondedauSI9vvBh44eri/qiDIXSZHr9lD fQMc4dp0d3lAWqJDBEcSI0hCd0baV37xm3BofRs0tL8p8QsFbuwr+ejTiowKO9ksh8fYMM3WYXv Bo0+bxnKCRAoTlFysPswKCk0lfCvD6+YWhVRL4iquEYnMkIWLa/koW+9SI+s7wYkcDgWAOh28op Jg4TbakQ+Ug296pGoGCrDy7PCarlxYakWmb75cK3teMDWpQWm37amRhLHR7IU2yQ6zNjJ99/wdt UPjF9iFyEuIUQTD1rVgcwnunHWGJ7KI8+u6pjrVgNLa1GJsp0iizz0wIA0to//8ZffFKp/G5OOu KX16ES/JQmpMOwA== 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 May 2 09:40:02 2024 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.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 55C7215495 for ; Wed, 31 May 2023 14:16:44 +0000 (UTC) Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-4f4f3ac389eso5449695e87.1 for ; Wed, 31 May 2023 07:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542602; x=1688134602; 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=CUKG8wzaqZHQyf+/AdgwcT86u7NwES5XlE3alIh7oyB2mDWnb1eGBwgSc1LAt7IKbW oSRK/oGry3RH+c9zlzTBlXe2fINcTKnsmnZsSdqUGrXV0plyoSWMZDgcbcRx2+8lRk56 e75nzrIx2kZBbAqZh44ZrDow9+5c17NvgZiAD+K58r6QSkgEj3aqOSs+J0vXrHKmg+DU uZycIsIb64i0uJ88Patutzi4eszII5EheEF5DIFciYukbqsUKpPJOODuiUe/+YjIqVCi gMxJmYAx84p+mAhZsAi+hPpp0kqDu0HtUkEKwC+kbjZKiWcL6pdBgMSPqjh7BHdY1h5r 6O2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542602; x=1688134602; 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=XhpJBeFeH3lVKFezsa1vDh88/hPP59DUSqSRqzw5yxRppOxxs3whv2i2qZtiMTF/dk aKUZSo9LwtXrsdaP1f3jO7THfDvVKbcyybHxaac3tssO3VfOK302lkIGOK+TzXTQaPT6 j999Noi2j6raNMM2ax47OmquCJ9N5hfdz53jIYnXQ7Awq4rPCfLBQUEua2JraDprdvL/ nzrHS3M880iJOf8SWV7rxjX/FOVgEdYMAiVZzQ96FPb4cPpItUzXGuCsp3qJSvVdVLBs meyvwjqzeSldo1qXxb7kpcEpPthOX/LyVWNN04fiVv8aZtUhm0apwTd67ZvbOSP9HPQt pPDw== X-Gm-Message-State: AC+VfDzDcDBJg4n9eHq0Rvd9CNL+TOmfrP0bGKDU34pVfv/r8d/pQ9w4 S/x6rP1Y7OwV9OQC1FVChLMK+Q== X-Google-Smtp-Source: ACHHUZ5JU/I5m1IdLtj2q4xMCdLEJpxFpkH7tzVRRMW8wRzoLMui+EoKf+a4raG+8gqg9N+vkqHPYg== X-Received: by 2002:ac2:4919:0:b0:4f3:7c24:1025 with SMTP id n25-20020ac24919000000b004f37c241025mr2922013lfi.26.1685542602163; Wed, 31 May 2023 07:16:42 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:41 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:27 +0200 Subject: [PATCH mptcp-net v3 07/32] 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-v3-7-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCREPjnQyttj0K8RKc6Drw1D5gmMramrcik sVPc1HmEJuJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c6BPEACScteqGPii48w6ALYWfClRNTChKp2iQi/Q8BWY49MOsMXjtKWNgdeuguuwe4y/ob/DpDe rs8Fi9jnpAWiivm0FjkhqRvxDJ53Pc2Os2e4fyoZjyiEwv20eYtNbEslJ8FD5lPzixFZjbmXpsd qwpv37wFUM+d8toWV9Z48JE2UVJj5dhfmM1j1CrV/XwmUCI+Xao4zVbe0C9y983kE5y13XoKulX ZE+M1id19hEVhz/9JhxaAAbB1NTZLqvoCuF/cm86r4Lvmy9IvPh3G/+O7MTwZQFLqcFPE9c4KLt XTNovi60aX6XzmHaqVakCmpd4YdgHzfqSd5r50TqRYGbV47GtIQ1h5tD/NmUv/NW3v55QzPGAaX lKVy1bYlYhO7D3XPFnCxI8a1b65bBiPNJWNZJ7QUel0KWEAJ0RFH2NEGaHs8qzNVbsVzSptOOXb hL19xlxDLG1Yr2+wOuphC8d2zLz3hNVlPqNnEM2B93vYHHJ5Xzs6q3Mq1vJLrD51yhlGLvusgYv 5Un0JSlk3VvZ8rZ1OmcAlMjUngqL15jXS0X9gB2ZyIgK96M0QXNutx+RIU+Vm9aIqw3S4TJgfyj tDiEP00Y7HIA2JkyZ6fmZrnb6eK6fvhJf3UWBcqvqbB72UjlD732d4vLvlDix0qUtj15omId67X v7NL2szbvfD1l2g== 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 May 2 09:40:02 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 AB178154AC for ; Wed, 31 May 2023 14:16:44 +0000 (UTC) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f6e4554453so44080945e9.3 for ; Wed, 31 May 2023 07:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542603; x=1688134603; 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=MZp9uKMx62/Wbe2ZdHfyrdfe1RHkBmB3qJX4ssQqeH6O80vbgnCkrpJy0ZHTfVzupu 4e17Ff6zGf3PRLIzUiYAMu64UjpgRRiG+hQtNwTh6JpidHMznpzrLPsJIeilyhJurBS6 1BRIe71hFTtihZKLTlRnnFWKXAptWGLW2V30Q7jF/T6MwJ9jkiOgu5f84EPGqzNOgMYF 7jFEu9ZFdyf5l0+iNxUn8f9K+od/Sq65diIkdOt6Ta0yMFxKVfVPA71XJzAXZCI4GXN2 Czmb9wxKZ5mOmcfdtRtGpG6h5QMnMaEvfpSBPV0SsvHK4L7+rGSO9eIaiHCziu/sPUIz Cuag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542603; x=1688134603; 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=YjwuaVyLHzxLGoW+ihqQw4pD/L66V4KARF3/rt7nKJvhF+/Bfe7+jQNANvupPOzYsI BDqwi7lgaSkPdLX5lBrnLoyVVmXyAUo9URX4UivoZX39NWoX13xgW0iqGzgvlypzxP0d Cbvpl0dEWr0Dz5BbMYm6UJYU0BrHjzaaM1eQdiMHD3DZO5VgpQzG2QN45cJO5H6hvSja E7D+fymuspn2Pp0J+QJpLnJkBM7Q0jgkZ3KRIY/UFOM063uNxALiPKMlmMrlWa3j0lgd hc6w18BWnwSDNrISI/vjoj9BBzTWmJkH6Gt6i/gz+Z03SPTEEkWotuH/qEZYkLZ7kUZZ WaOQ== X-Gm-Message-State: AC+VfDw6nsxmW8YqqkSRYRFES6fsgBdltnLE+pun9xMrF9Z3XLCiSumn bt4Nu6QGlSGGUkoSsyHHqKagxvoTD3Gpxs4kpt6eOn3a X-Google-Smtp-Source: ACHHUZ7E27tdq0zOVjmWpTsGGqyYnO8HQ2KJoNINLdbqyg/MSPwBV6YCPACjavw0ZjSTURgPulPUsg== X-Received: by 2002:a7b:c408:0:b0:3f6:536:a4b2 with SMTP id k8-20020a7bc408000000b003f60536a4b2mr3883190wmi.27.1685542602899; Wed, 31 May 2023 07:16:42 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:42 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:28 +0200 Subject: [PATCH mptcp-net v3 08/32] 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-v3-8-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bClhpN8VOJMsPwa/eNZYEimnw3Ghjjq1dWI Z2d3vqPiOSJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c+NMD/oDwmeFOvI2c4VoDUKx8B6ITSKBp7VLwWGwB06S0YwCsg0lezpf1yhca7u5Bfxfa00JlhC gmMiQeyw0rhm9yi+ANVvHWaJS68/HnaYQiEfeFcldSWFfYHa28G5Zxq/i4wp/J3wIEdXUZ+akYY 0IQn7x8dhKFC+KrLENJj7NZMCAWGpRLuqHPvxcq0sFlJE/TaY/kB2HuKDaAjKePy59aZJOTGNYB HKTCQmqeNQgbyg7Kbpn7A1Ji6k7//YhBY2tZcH+MQXTaj5hpkcOj2iz96xjYOSDqNSXw1MybDjw Um4XU5iJ0RsWlFzv1NATKkLgV2Cr7KXeg89g/riz55UtoY+6lS/XOTCwkKNo8sB2JRrNL/1W4S/ DX0QX+Qxf1utQW/6AeP8BZUs384GM6DZm5wK/j4S7IWhxw3ShRPX7ceif890+XVsdLywvEQXwCm 2RlpmUjSjEj0Wpi1rHMA63rZ96aS3PUwsgqaFU1Vu2iumpTqz18jIXB4TuufdwBsJWR8/q2BAT7 sLSaMAmDGe64oCkHdw6iE07pkFo3HXfl1pQg01ojEWrAlmw2vhVuazggHDrUCTFJItMFNfcD1IB a8hYhJCc9HknsmRjv1R+zgnxJB0HavvOUZap1QDBXfhsjvwkW7mktWE5h6CHpxwEUIUVy3ksrc8 JBvBh+I+qxSA3qg== 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 May 2 09:40:02 2024 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.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 4786615491 for ; Wed, 31 May 2023 14:16:45 +0000 (UTC) Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-30789a4c537so4179710f8f.0 for ; Wed, 31 May 2023 07:16:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542603; x=1688134603; 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=bcpFOrQ8WKp0TO+ljdLzeVt3Z8Y8wE4qfM+d/yqVdfg5y6HUd7XN9iMKnDFgIM+BDT DlxrrhpWufhUcqjg/cNuG3rL+B3nsnz/3rcwr2HX/51MXdRKsPQwmIc+82TMkFHBAwmh eKFtiW4USmDKImZquMWvOetPgId+CwYrVpmS8/0Hj07sg8nfCnVJPi99ARC8Vv/oPsGl HVgSUukpcp42WC1U3c+AyFHdMXtIjgWxBlC+9X+eVEfmx4cxHpB/XjBKI/yt3hB5EDtT /2jPX8k3y9T5IL/cnfcu1QcnW3Q+Ej1TFwRp0eSWV2Uya29XaYmJEOgxyPXdUqgUSbq7 fT6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542603; x=1688134603; 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=ai4za/LyYDczx77OL+A0T4Dz9LQe7UIifN9xwxUVU7FQCEboUJa8iRUgMJdRIOMpAk UXsy6iQuw8ZuG32AZqWBUNvHvinSrSY2OQtZ3hBKAULs5dxCnmnAr+u125uh7Zxn7tSD gpHinWJ4B50kq/zoUpVD0tU/QEaLvQNBlsWErrI2rB77z90TjiHpPZooBA7lqNgmou9K UeGJW311STUzgemj+tbpxKRt5JeyDriqK86lhUhsjhJRCCwpZgBowDXvtICEpzqmUBB4 ybjJ47RuzEXhPiPs8EXfTdYJHBa4oSi6qRruOoDPuOE6XPB3/QQLSUr2cS66c5LKq2VX NK+w== X-Gm-Message-State: AC+VfDxSuUFibNVrBn3JivHwDk7T8HUFP11i6qBaiJBQXVXVp/CmnAe/ AFEOSOuYTwURN8/2YWywzBDJsuf15aJM6VA+C6iWnUJY X-Google-Smtp-Source: ACHHUZ4oXbf8yYDoQZV2lnY6ye539MBLgrM+4b0mnLVdCm9fHntv2xG9RUcUFrWfFLEjExs6M4Vehw== X-Received: by 2002:a05:6000:1942:b0:306:368d:8a1c with SMTP id e2-20020a056000194200b00306368d8a1cmr4219110wry.45.1685542603566; Wed, 31 May 2023 07:16:43 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:43 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:29 +0200 Subject: [PATCH mptcp-net v3 09/32] 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-v3-9-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCFbjyxHLUyL1faF5zS6OUjyKl2sGiX+nwt K8wPu9SucKJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c/rwEADehnsUsvZVjeLDwqNhwOPRXVDMHjk726gnNA54j2PoO/5MBsJQCGC/qMUkdwvOtN3Nv7u dZ140ZU3KFPf229ulUu56TlDt1gkkMcgqPYgThuAi8kdrNC36acmIO1KOyBgaU+JA2dgLhmYQL0 nGoVsrwCC+0c/QXK3S34ZUggk4BD+8a+gBDIrXh2XzW6eaGoyrQDOEiY8JkcvI7mdR0ze7Gplq2 F8kcry1h3b4zUCwKjlORPREHwfmOY+QaIqMVYM3hrLMjya5AymY8BcrwvS1GtEii7ApuN4iH3XT 5oXUwd2AyJ40T64v6bhnuUO4MHsyMsR8nK26HwBM6O0rV98e5A/Rrlb5Bq/4RI6IRix7ft5Bbxx xNc4gDRD9E9sa3rh42WEu6LNJ6hn/2bBlZqFhx8jPH3HrYvMw8ApRiDFwCtywqnpGTp2uqsmglY 9OuLjlDPaeLX6fIcETFCdbxvRdSys/+Zhk0JsGc+HQGIBEap0qW5L8N/cYS8ek9yp1qWu+EZ50t TAQdi4GdI4ZIJ907V/7yVwgAopMj/XaNgkM/2h4+OIxE3XvKoaAfz38Oi9ttwB47t8apD2dkWq3 Kh8KOgKPN45etAMoqC+qINwPaK10wZezQK/pgGCH8pEh7kLufMbdi6nnRZOkZAVhlvLko0RUt5d 3bvlsn58fomU64w== 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 May 2 09:40:02 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 2751E154B8 for ; Wed, 31 May 2023 14:16:46 +0000 (UTC) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f623adec61so61307335e9.0 for ; Wed, 31 May 2023 07:16:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542604; x=1688134604; 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=47XCLjZwP/igKiwOnLpGF0czl3I4/1icBTsjj7iWJ/o=; b=XbfRWXzAGSqTy1SZjOLyFxGJgZXWU1dIuEbNYsX/X2Bkm2UycMh4qP/J9rsP6/YElj /Pyi1cSr7cd7lJdHeakBBEW3eGZeleffmF3Vnf8+W9YrETHy0YGLT3bFKoVslJVIeJ2y sy3/ONPU3zHRj6xG+knz11TA3WTqwTyluda/epzWGGViqkh5iyR0fHUI8AnHPrEL4A6t /3dFFPxeByeDqhxSvVnz9avNoNoRAmPTVQPFc5/dqne6isXBja9jMcBL9HUYjohFMV+u 8p2BZhZFLYTPP6RcrNTifLv6RKEtAXrlUonLcnAssVRrEoizf1UKPQf2AjTkd6xUPJrK rbRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542604; x=1688134604; 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=47XCLjZwP/igKiwOnLpGF0czl3I4/1icBTsjj7iWJ/o=; b=L3tpdgF7V59VXR/eVCRJJHgXOERR883dbcx7l6yVj+RkbMS3aNqDQGNibvkoVNvw6D 8tKkTuQ1e4z2JbS6Bk2b88moML3Oy9qWCnBfNeCWeIYfOyW6TrGLe7TUiPEjbSGyrMmK piYRPx0znkCPNgD1UMh28X9qx3dMQGs0eISTOMkp7pOU2A1X6TfSQMviK+ImoPzPfCW2 8TX2s5JvAKNxc1W2t56Y1iTvgR6+HpXgixR7UHrKy+ONQyLGKfxvCRgly7iOkrg8Q5xY vPDMAu4bASoXwUDg1AVBfihUACQ4BZ4uwNznjDKmL9RgnatsQNhW0tYfLOeVMPHQ8FVk yVgw== X-Gm-Message-State: AC+VfDxUKTS5OyOdjOxySrFtFTPcZKbO3GCpey3CYhF3V5cXtLBRKr5C PG0EcnS2oN0by6YEYRHXQ1dJvIXw9x6DAlo2ml6Go1Xa X-Google-Smtp-Source: ACHHUZ62IFN/5yWOLIbwTu7yl6psxQXrBHM28a29VQyETnuHXj5fCm5eXI8RN29c5YC1bArsAitChg== X-Received: by 2002:a05:600c:c3:b0:3f6:3e4:7cc9 with SMTP id u3-20020a05600c00c300b003f603e47cc9mr4121680wmm.40.1685542604362; Wed, 31 May 2023 07:16:44 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:44 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:30 +0200 Subject: [PATCH mptcp-net v3 10/32] 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-v3-10-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3168; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=TKFUMOATm1EJOX99mWsvUDDcv2YOqsvLTpXOJXpt/gc=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bC0Tr9+nyhJmBnN1NDkHcsct0Fqj0DCwOlc AVtEXVfNGWJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg cwXuD/4nuMwzkqAWyKyYUDr2vI+2NIAjd7LILMCH40BkpTmNIMJdKg0N9zzMZKTI9tkDLU244fo d+FKkzQhSvNKg+A7IPpSjBlVv7HmQq7PdL3uNJRToesMRUXdrmbNcORDkNLpr/N0cXKnd9RYuUG ybGT3j3FkQlYOPYVoQ15v7HKg9sJN7pzesRUtxySrTMD/iTphayeok2a6yIb19wgKAAllspbDwu lDBKHhVSP4n1SkfWlYporpJLUmaO7PAUXKnkj+BttyQq0JJMSBCpNdOxn4c7Q+dX4gWvpsIK40L nlgLvALW7LhfXtwLpekkdwiirGt1IB96w1hfBAJsMbHQD6JziHwdHxie47SIeDuQ31SuxGIQ9el sO482D4HN3BIRBRDlCtfGpspD60ZOWjzXhmJM49qiDqUq4g8OnF4j9KK5S4O0mqh8tk9fEGRWGd yXfVTcWABNqecLiuZj8Z9qYjQcZHaT3cNDiOMZn3UfqmF4bi68+/wP4MgbntVfPXqSouONrWK7z xE0GVu5pr7lfrS/XXp7QFWPJwlIa15uQJmcue7EloaHoPwWigGgJ7o08/LKZ0RFiKliG/Ay/czr lhk7iNSOEk1Tze89UhVkuEW3dck+mV791ULaWfqV1Th90s+/oLjJE2vNpHoprT/KVecKdu46jTa 1yKaAz9uJhQxhlw== 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 --- v3: - size_user: check if it is the min between the user and kernel sizes --- tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 16 ++++++++++------ 1 file changed, 10 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 86a378731e8b..de897f77e174 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c @@ -123,6 +123,8 @@ struct so_state { bool pkt_stats_avail; }; =20 +#define MIN(a, b) (((a) < (b)) ? (a) : (b)) + static void die_perror(const char *msg) { perror(msg); @@ -386,13 +388,14 @@ 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_kernel > 0); + assert(ti.d.size_user =3D=3D + MIN(ti.d.size_kernel, sizeof(struct tcp_info))); 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 s->tcp_info =3D ti.ti[0]; =20 @@ -440,13 +443,14 @@ static void do_getsockopt_subflow_addrs(struct so_sta= te *s, 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_kernel > 0); + assert(addrs.d.size_user =3D=3D + MIN(addrs.d.size_kernel, sizeof(struct mptcp_subflow_addrs))); 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 May 2 09:40:02 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 CAB27154AC for ; Wed, 31 May 2023 14:16:46 +0000 (UTC) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f606a80d34so44190105e9.0 for ; Wed, 31 May 2023 07:16:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542605; x=1688134605; 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=KfcBtDzX2my2L1kti2QToWpmMjRvX8nsUbkLGW78jgO1klOMpCRbVMdbsRPFlIEiSJ 2lWYLF0bqkNNBti9Y74RP4Rl/5j19oJwSIXzspQShtNhuVdt01mqWPWGfAKPmT1yuHrJ /6NPxkW51a8ap/voH8dMGxb896STBGcVcrgt8Ifs10BXEiq07SB3injhAd70B7gbp/bv zi7LIGS5mBoOkw0dI+2WHbISoD7jCDsP8Q9YewELRyPJOAjpjbeaPiQBwQWHCy/5eoRY eXMd4UmL9M1MIta+c1Fs8cS/hg/sKJW2Yq/jdyiEqmLFtxz6qSHFk0kEQKjYS2meso7t tKGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542605; x=1688134605; 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=KSzWLsMAeXTwAWsYDUVeeQzqi//QJJBuZpw9emrRVGKHXASnnV2QFVS3AC+Lxf8JhH 4YSbp/xy2n+CY9rFE/akYMyqU9Ev649KPeeD3jVuJdGoYtv7aNEj/M/DKk8Hk6gJvHTu 3TM2XAxqbumzd7Wmhzc98ISNTXtkeVyHBeZo/rr2FiguUQkLW3L1x3l8NVmpiMfUrZtU hxzJBzqfPPtv43DUy3ysf2QqdiIMDZMfRx5yFDOBNX5VnAfmSGTSRSQAzYCAZSPCI9o3 sSXTIRsb4DyVNpxUYIYhQhltW2+Ap8yf4Sqi2cx1NsoVXELpgp+Ib9M5K/LBDn9goDIP GQTA== X-Gm-Message-State: AC+VfDwbsy4w6Prp1DiQt36r+ebuMBgF1VTCqSRNfUncvxv/T14JdX+3 pamEg096bLms/fmmvl7el+abew== X-Google-Smtp-Source: ACHHUZ5pvT5iWLJoae89RndQzYJ38DV1hCAk4FpGlYq+wACM5C/BEERQSertKEgAbn4WJyVkJLo4VQ== X-Received: by 2002:a1c:7502:0:b0:3f7:470:ec60 with SMTP id o2-20020a1c7502000000b003f70470ec60mr4060216wmc.2.1685542605139; Wed, 31 May 2023 07:16:45 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:44 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:31 +0200 Subject: [PATCH mptcp-net v3 11/32] 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-v3-11-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCRF/B14Ewpg62oCVZHdQw36bF45BDCQEZH qpv0HnCciqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg cxffEADCUIXPQHamKu/ul9ng3Htb20gn1Le1evEq0nEC2rOmby/Lib9/REskemKPwTd9GIsJPGH d4PVeuB4GaiAiW3qYUwYFg98BVeR/+yMrYnkmGbTBN2f8PL65qb/lvPkvCMcXrBw8v5/P5dnBV0 UH6ZTcG4Msrc8m2GkQ3WzzBWZMe5x4i70Zlyik7AeVHOR+ftjRW6nWpa0xofI/1j9oVxIU4ojHh H2MX8H3W23aW0uSewCO4JDCyyH3mJqD8bY5jGfO6hzzaI33Ev7kCQDgqWDZ+LBYTbaK7h+K+OEB FR87U9PFV6bnj3WcGIN+IK8ql2MqIaowLmrH+5/5FtvTwWGd4S/v2qGGLhJc0OGbYEa0A5tWcic BkvsCAir+lvLOed7HiMlizw11/7g8T6mBtCenSWjK4rib/ItxdZdhu0doYjHAhiEYN67aZxs1wb sDqDwlHVNdIXOOlHiQOHpL2V3S1oGgJxNuEDnME2Ea+tPLL+6VRXMigiYg3m+4QLynLAdIGZBvh twoEjbx0ZkUdST2vaDmWFTM8Uk9Lte1ZeCod0dP6zzHvrdmeSEVnF6QIDtNgr9ZnJOLk+NXACGs LOT01AUgtN3W0EFukKl6AAyTOS9Bugo2NBQ6lVPJl3pEMjVdx0nN4Db5DAizRDf5rueM2V22rAt Cx5lDN0pHryE8YA== 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 May 2 09:40:02 2024 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.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 6052F15495 for ; Wed, 31 May 2023 14:16:46 +0000 (UTC) Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-4eed764a10cso6461318e87.0 for ; Wed, 31 May 2023 07:16:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542606; x=1688134606; 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=KKZ2b1fxmlEcK5+a3hD6jwv8xoqIrmyhqvnKJ9+E0XtR9C/nIvXumOU7lq+Ut80Axo c7ZeWJicsFoj/MeK5lXvLXc/S2wMj6+CVGCS9HBNTVI/T3ATIYRDZj1lZS3O3drmIyC3 tYjxmnMvr4s9Ply21fKsKrxrxIwpe+5Ao1XjHBxAed+pFOIx/AC9z2u8B9/o992Ev8s1 ofyD4frGKfbDBugwhfN4RaamrHs+oI2r4mNq4h8GK9ekfAdNyPLpH0g024sBR7rjrdPO NcvTz53nhvd4oMxc8QceJYA7ejY7kIPh8rUmTugyus+SCWETucZrf0FY8SpRk2qQDMIc AVYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542606; x=1688134606; 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=Jh+9NfUgcUqku4EnzLl42WNS0iaLm7QTzTvbVRkHE8cCuAgDiUalST4z1b9pKHHUI+ CQBuIID1KW4t8IZsSH7in63q0TtbukjOSs2R+nFVwBuJmRrkXmYNnN7SfHaAS+6e/QHM ZksD2RtLYWCI1VTuTXVw/l5xQCdf4yhq/kd3NfxMO4sZFzk2jYYUjzmuOestZ4U7kq8w Gw1PYL0LC6YKQxZaJBhtenxgdux5/VYNtDsQwaGNNbe0M1yTe/hy7rqh9P1bum4tQ1Ho GIH3RGZ8idLxGpzBwntdgMEBA8I/iFrMjiI+7lFdHGonKb25btsbp2XWKMW1QXdrkD7s pLPA== X-Gm-Message-State: AC+VfDxGT9Ho11Gp56FvOcKE85/UrBFg9rJrJmyxVbwjrAUwH5LU4eiU 9paFNafowBgk/XcifWzk3oWCftD/jp0pEhKZ4dNRdoHt X-Google-Smtp-Source: ACHHUZ4YYR6Lacn1DLn2HyawIsYYVGvlnALnkHcrxEg5Fk9UhL8d35n6Cc4IKLzYPrPRojCFgV4BNg== X-Received: by 2002:a05:6512:21b:b0:4ed:c639:54cd with SMTP id a27-20020a056512021b00b004edc63954cdmr2875122lfo.35.1685542605852; Wed, 31 May 2023 07:16:45 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:45 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:32 +0200 Subject: [PATCH mptcp-net v3 12/32] 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-v3-12-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCesAI+mOfWA5pHMerQC0Q/3wqcCR13nVEI d7TtktDHSeJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c9RVEADahdLrejTYOixhmcexVER05qnzj6lKROoc7NdHTwWGL1QR+orxOSj+YqWHOd6S55e0zik EhOmlwLZwZveiEuQ3Dguk22DYo75dZ/vPVqm4xKNf5TrmU0Zm8reUYNQ6rYvbwFT47Swn7a/3RO j/+XTkharlycanzBPvbg2Gg09A/PDIdLjxWhUHeH1mEDSWt9Z+VHn+B7lLI6y00MTgyDYc7enPM fscIt3Z/75RQfqWAjrdm+g337Kulaeg9S7QhS2bCi9Gp2Tt2tEyRK9OJnGLqG3cl6FrxsUxmvQc Ozc4Ie8MvhtTmmhXg5RkdzJyAJ+JiuVtrVgjQjaXAp+OHzizrdJvaHvbLx7RuU8hSVNXxdnlSOD lWcG1MG/tx85eeXDC46zrc2xtmyTlzqMhZnssvBi9F3+AdGhjF0d8IRHh7eg7yhY9QbFjGUPmu/ 5cYlzLAWEejqkPHPz+/HnJvGQ2bNARL/kuuo+fBIjNUDMbGxh7nt11va5U8IHr8L8KKiori4oXt JDp7+y8cuYLNE3TKsFgC5lJQ3fJq5bFUtgBWuVysqdoy85jz3JchgGHYssn7xrj7komaSQ+bLN2 bEHiApip+ayCXV4QUmg/RCQ2J7YfAkQXQUOwGUqUAMPhoooCsaXcHznOFn36rV4cM/hgfZ5XujO Egmb2IbIqayv9yw== 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 May 2 09:40:02 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 5EA2515495 for ; Wed, 31 May 2023 14:16:48 +0000 (UTC) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3f611ccd06eso44515345e9.0 for ; Wed, 31 May 2023 07:16:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542606; x=1688134606; 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=MoMvBqS/cCsvvmLyc5XnrExwoAEUoqwRZ9sVbjQjjaApO/Rfxz3DnAsISdLb7Zy64n JXNDOS2pdvTDzf8GDDmeQ3m0Lrorps+b2m5XnMC7Z4YfRyeXfjjUTQYMFDt+x6RkzeoW XzMAAyx2p+RZBN5McepK2KhKNJofHxGCpq08TWYz0c3zz42tqm2ChbSUS40dduAOPvLM PZQBOdKycF98YeQFOt8ncv2W93ZRRqlMALJkYsBLgVg3sunYDx4jft2Q1c2BTf8tAAof czn2blJlTKPu2eS6V54dkLile9WyvCGq8Cs7mBCq9Ojw+QWJdIhBe/G/4zhM/4TK/5Yl 6p9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542606; x=1688134606; 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=ZEkMKWDARPhSN/6c1nTVdGXCHraRBilkNsW+NpvwrK9/L0zW8V6lnvFDbojdVeKeB9 RLGyqWdybD7kQtHLCHMsqmDmeZH25U5T4VFgANg2pQ4KLeMYpEMyqewoXOnAGbRozycj 4oWqJBn/3LTpgN4NT8Oam/eEM44cXZ3UylVDFVBeSC/QK9I1r0YJgiwSQoGR5bVhCAHB YVYhSbAZySXZ809agnpyXJXGSsYIeAoUE56/TDoBVzz76bqPKWjjoU39PnakH1uKRmx9 F96CnWiEZZKZF+p/3KXAx7yzrb0f8eZCIZVhZJp0xMiwXGs5FDm6rWcvVbqOfPabMoeV j4xw== X-Gm-Message-State: AC+VfDwLKdhEElsb3YKmZm4vCHZseWy+AIbKi2VCeVHsdEeaMyQYvj8Y GAp0HSTLc4L/Np+z5OKh7Asp4Q== X-Google-Smtp-Source: ACHHUZ6Z/TyZAHyCy65XYwnhP4u8EM/trVGEDvHZp73YPSlzhJ6VIFl+KUFHiReL+DOCfkCkKmhZCA== X-Received: by 2002:adf:f38f:0:b0:30a:9c8c:161b with SMTP id m15-20020adff38f000000b0030a9c8c161bmr4401546wro.65.1685542606586; Wed, 31 May 2023 07:16:46 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:46 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:33 +0200 Subject: [PATCH mptcp-net v3 13/32] 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-v3-13-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bCQFY2CIynhtbiZ0ijPENKKdCyagxgAkDX0 OhAWsIQP9yJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwgAKCRD2t4JPQmmg c67GD/wIKpns6ELvMNShOks7cmoFSmq1B5d2kUGtVUtshllKxtXAxM3uSgWq1NaAje3TulVftg5 MCdK/LzQX5Vp7JSClYQ0R0/cfD3JV/FHe1lHaJiiLg4vKtVUFKOsQemnYK91PIICC7I5WcKXfja UKIqwIRBWvSssgB0h8oBxSDdkK+kfDvSWVh40nSD8N1+plhcLD5Ojg5VzlL1ghyguxS5tqHgGkk vO/SGkrSqIQF4kt6syEojNOysqyR3tpkKSeU5dwrbdFb/NEPJF4cb1WYiZTmtoVTTuPjvT+AkpD OWV4hW2VaKlG1hu1MFnahQrCrfR+2Qxb/en5OJ1A7EVcWSTpTZTaZnH1mGXYsy+gXr2Dr/qxMZI KzXe781hlg4FbnfJsfoeQ67SoVMWzIpQgq3vAoedmPoimlTck8epPp97fnrS2VpAc+9kVa4b33F 4WLZc2+6cI0pv7j9xqpe9KxRoEoDXWFre2B0NJe+2S/ufeFvGWJ9xudvcGEGqs+k+tM42ia5z76 kw8UszDWU91a7CN509BAaHVjuYoqGMoqn8oOm6wcNtOt7MqaUskDnsyIFQg5xJC5Hwn4UP2rWeU bUDXeFZysHUi7ngcydNvKd4k42C/ExockGa9GtlGhjD1J69f4a1iQtbYeMPRtoXrYnDVtfzddAf c40tJrOImDsuUPQ== 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 May 2 09:40:02 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 D15D815491 for ; Wed, 31 May 2023 14:16:47 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f6a6b9c079so44038375e9.1 for ; Wed, 31 May 2023 07:16:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542607; x=1688134607; 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=oD2EJXvz5VSK6ey/Tp4e2thr1mszBOq0QI5O1kdvCkadUsKzF9R1xD3AyFSGMweo+h qnMO9ElLm3WIWXLVkLanmZsuInwpuCwIOcQ2GtMd+CRr0V9+ga7OmUtuN3nCmosZHjDy jgwJMFT2WfGwFwWk2DAosHc+NWumQnA24Py/2dUmiRnHHdFAtoQjm90KLVJQ3YgRlVSn 89clejzTk5zMIgqZ9kqmwgJNR1DqTQ7xZmB99pt2aOrL8cioYRnMO7TjlZJfHZGWuOeG OZQJ3aDIHMut8DLVg4eRhhwGLrvnVt/J1iygDuB1cL7AIl+Y+UNLLstmzDoMWUY4IPes 0ynw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542607; x=1688134607; 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=SgR8qAS0Y3MIaUREP2Qli6mceLVkz8pVl8j6yHaXBPRjpmIrijIlQw7s9AiIml0jiW EiXZDQ9sP9RUnrZzpNDWDQWtEtLbcqdq7jmQe3gJSdjfmpOPag7gIqW+h09mXBNqRDdO P1fr43FUmaztkGj7qosh39qEmXVytleAR6i75ESXK7/Sxj15TCjwvxKBEcSgM3esGQpm FwPAIrLuom6ehEkX98mS/MooHeDAwy+qbJriuDT3t2Xqh3K/5ZTvyd6ahkMyAMhNWqnR arjAJUStguPBx9ZFQHIewp607zeevEUa+1AyZjA3Vtn+P3gx2/WNaqey21DdzM4HfFZ6 NYbg== X-Gm-Message-State: AC+VfDySVPG7a814uekHHjfg36RW4YSc5SPKw3p8CIOaTdR3gu6mYfJc byqvRP19oP/5vA3nB1YwK28a3dETnnF8I6llhWRlx2HC X-Google-Smtp-Source: ACHHUZ7fqdq6NP7Ogk5FN6j8LlFlmN04w+V0/Ii7Z5PKOPfSetMBShGZD3zgddDb0pQJQHxrA41Kng== X-Received: by 2002:a1c:ed14:0:b0:3f5:aa2:288b with SMTP id l20-20020a1ced14000000b003f50aa2288bmr4250543wmh.0.1685542607363; Wed, 31 May 2023 07:16:47 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:47 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:34 +0200 Subject: [PATCH mptcp-net v3 14/32] 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-v3-14-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDGhgkBQO2/bhE85SFjAc3PXY/bvzjEWNxP U2iXj12E6CJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c9iqD/9p99Q5Sj2KW8tBOK5zTJAJ8XmGS5MLgc8V3BpP7upQ/c1dFyt1IDNa8k3HL/YNimdjDYz KsM+FEq6uRWH33CzJIboVXWFs5eOGBxC1/LJ26Qg/O4hzVcJ/sL0l2a0Wyg0zyv0NkBnBWZkeGO gS0J8epqWcllTbQqjX7VWKAW5ErJ0yMKef4dfV3ezGyYs07tfa2BF5DaXnnvxZjxhbYWhG7VTsk nMuB9SzdApNX3L9BN0go/DfwJBBdiLmZnFLiB5QCgcTscBDXk55uYrr6aK93NscbIGlyHVsFa5c 5tJqUnuXvmth38xGZhtVAZntme0feasliDfeOovOHufm1888AaAy3zhJdQyyyjuHbRRARLPiD/3 dGke+XhM1G0bsuj2xA851gv0OHuKnGx3mJv//DEtUb3FXHCbRWiujAx0eZN39UOG4HhovbYWGWh ID5zEVm2TBgaUKCT6aBtJPnC9gpNyh5AYF+eePNfaXxviewU5vKFAKqVWdVlwrr8oHojvZya9Oa R1s+UyxpqeEDPr6Sn9PKYbGE8xqLK5SwDAgBzTvfMcIa/N0Ca0u6TP/rzLAoEpjdNHIBFsRN/3b /kwHIizNsWiFf1PAvv17tJd5gOfwK9YRHhXVoIvVdaWt07lwNv52S5mPQ5OI+cq/cR4hrLmM14w IftRrkjplyL3hFQ== 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 May 2 09:40:02 2024 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.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 1759A15491 for ; Wed, 31 May 2023 14:16:49 +0000 (UTC) Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-4f3b9755961so6701265e87.0 for ; Wed, 31 May 2023 07:16:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542608; x=1688134608; 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=SKa/J7muI85dCNlJyUwE/pQtRlTwpdXW7EJCpxuJMj6k6yRStt8N4evLrWc9gcHSRg suh4jQiGfPqim0c2aK3ALzdoW+z17b3OVdXkxG/WLf49yVAPgMZrdwqGx91QHwWX5M3F ZVDtPAjhkGnL3i5MGogDexTg9ToLFjQ3Xz7P89IEjteorDhlTz5ALLUHTTrNj3YIoEWQ KWZp0vMxK7VuLwrZq5zxCzXhUOqmRas95FBQu4m9FJOXjs24lBTKsAKglYz5dTndlQQR kXq4Q2z8N18kR3OkI5ysMp7gY0Kbhh2JU/vK8z5v6mLzgc5DGyFazSLZhIaiHScAxzRx LrtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542608; x=1688134608; 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=Wx++oGGLnNKjf+fowKD3GaMsVopM5pei0njuabnCcoIS8P01iJXIdpRYHJvuLLj93o 7E6mJQ5mC6daxO3TLwlWyM2JbwGKIPgAfAob/YOb1iLsaYhOkt5xqWfWy/XKWcnJaH5D sIgq7HHhUrzrcy6YPcXeV9qsYhMYE5SsNBb6WLgB8WE7cjPFgEVT1UVTfVR+e/izuucA mAU8Icq8dr2BWR2L84ehtRo4Ua/CvQPr+dcIJ52JqnakAUAvzok285Y9eKRbo9NcLoF3 +IDXZc6vku0tAUlbNqgXKGWE5wDTMs+dJGM3mcp1cz3ecfmTTMAGqfSotGahF8v72Kmz SpMA== X-Gm-Message-State: AC+VfDwtWWHn+yTY5HIrR3sHVqqL/ohWBBb6BURvPvIIbfLpUAzrndch 93CK748eEUheBk1VBdnhZonxYg== X-Google-Smtp-Source: ACHHUZ5Cl09DQL+WUceqbbgPCvifpCFMzBx2244YAevU43gH0aB2u/B9NIUZ7P6uaQ2xexZNScqU/w== X-Received: by 2002:ac2:485b:0:b0:4f3:b49b:e246 with SMTP id 27-20020ac2485b000000b004f3b49be246mr2901183lfy.5.1685542608108; Wed, 31 May 2023 07:16:48 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:47 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:35 +0200 Subject: [PATCH mptcp-net v3 15/32] 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-v3-15-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDA/0Cu4adZgJ5hYyXB5iEaa4qOaF4z2SC7 YPlTN+sUMGJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg cwMYD/9Z3SkBzLjFOJ8I8qGW5upmgslz3KjMioEL57grWJ3HF0vcbVHrUWblKAITpTt443Y6khB wwIlOFW+CeC7lZnbOBhRRbUh62SPPuY+YCYPU/pTnMjuARPivk64ioBaQwPIrLGMwRoiV4ZEaLf a5CiLQbs1HcyLgX1Td4OhsFGCAs5tnd2DII3qFzfs8l+VugZv1cFwB3VRi1aIW+e5YzvZJusGC+ ziJ4on3BfrNd+eE+oLdB/9YGa8bZk0doYb7wQjtXsIqGpny6YelvvQcyW+t3L17g6/wnWwpHM7B Nnoq+5gOk7b8wKjkuAp/p3D+ioC/w1NVRpwbgwuFpZZyINr2rsj85GIj9MMyaEJN5efAjdF/Y2K q7kuhLsIbhVoz38RpKKiwuipNVSsarEaIvgndeQQeXXY3r/tkkNUOGtDEnu6h48jDlKi1s54Et8 US4Hnjoozun/rq0tTPLlu7/BjNJhXHdlT4XL0qJ97r7XUu4NGlHZQvpQmA2Mt0OuaXVD2uS8uyY KEC1QSdmwdCPeDHFJRyXexVtOqDOhpDnvdBSa3XdaUwsbWdD/F+PNACrggp/HJDc6+Eranzjs1S Clj1VTmakl86vj+UpHRWTpK49eCciKTbbAOHHXbhgMBczEDCMiLj4Goa2Ottd0ICt5aUdXwDWG/ KFLeTET3VAkedvw== 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 May 2 09:40:02 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 810CF15495 for ; Wed, 31 May 2023 14:16:50 +0000 (UTC) Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-3f6d38a140bso8611825e9.1 for ; Wed, 31 May 2023 07:16:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542609; x=1688134609; 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=z0iFvq8h1CJbhRBbrJrXNTZZwEqRe7A4t129kHfJRMY=; b=auJoxzF+WMpZ9qeSxDrnHEOefss/m2E2fvPKPUQqqUL5LCfZOknn+baHPfZmVwYGp7 ceMi4DsUTwVwa1vCR4ajV2KzGw/YV4gW+Viym1kUNzwzWUD/G5Vt8CB8HWQyi2PuN4wr kQTi0P7zPe0kQFJ6U8pcQVOhAYSzUK53md2PxBSLydaCgxWiIZyNuF/t7QFwP4uoW7ej Kj2+PsJNgNpyj2q8Gj1NyUeASxIQDsMfzFcgi0Pp95JO/8lwjjkXFTJYpqbMVGlM2rz5 Ugkl0W4WXWdqwqxYzqyCGCQ+T//r5FUeYMd0Z9q09Z8noCARYF85peqg4kqT2k/ub50U VCeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542609; x=1688134609; 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=z0iFvq8h1CJbhRBbrJrXNTZZwEqRe7A4t129kHfJRMY=; b=LmSrqenHW9Sb8KQuup95Bsg0nj026XDt09XE1xC4Ni4NMNZEZlnFUUVDsfXCu+odp6 XOVamahkmmCcZTZZINPxLhs1AECv2mXaYRfxFST6V2zuADxULncxXKvAvl90w7qenJfx 3ohmGOY5EbJt5FlSdIKnVGPX1kVf/nk3h6e4o/c/29c7o9i8bssY1Vku9p+QUbLT2pZN M8clRobgL96SVpSBM1RxOSB+QgTRvbdt7mWZSGF+XAS5lZbBTjB3bF+HZpsWCQu7tgBi sRF364tw3NyK0Ur5Mfy5AlOj3n2G8KWR2h2UBx/EZioNAv2AHWCF2CokGdhrMUrgu6Oq N8PA== X-Gm-Message-State: AC+VfDyBiw77Cr6wkuvYtrhifL+9MQhmS+JKkEkIIhQvoLRBFjmYqtaf eUt+NWk2Hz5INccrIaZAmTZP0g== X-Google-Smtp-Source: ACHHUZ7ixbwv3Zhk1JL63PdTErVxIm+D5XPNPtcODXag8dwLpcQ9cQAT+YQ3NAIK/TAQMrgQqyFO0A== X-Received: by 2002:a05:600c:4455:b0:3f6:46e:b221 with SMTP id v21-20020a05600c445500b003f6046eb221mr12166441wmn.7.1685542608805; Wed, 31 May 2023 07:16:48 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:48 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:36 +0200 Subject: [PATCH mptcp-net v3 16/32] 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-v3-16-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=agSsWqlwCJ35SHuesHY7WLa2KEf2Ptj9PDK0eZD7X1Q=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDFyplsX0s15FJRO17xTCyD8iu2KPRvaMbY OVZL2W00X+JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg cxEdD/92Xx5qQ7DdGGZTLmNhqokb2Bak6YB/ka+zZI/A6DNzik3AdqDDwrWeGwnw/rhN0ldxgX+ QgkfGPWu8D9N++DdPodEsmr+ccOHrZGiwWu1ZUawIS1qHVB8vecpEgSyiaitbIYxXdp5jPk3KCU /tv89LJEN7L0l7Ehy9dXKJQ1dgCcZk02LTN9hOs633m4cq1X5e8hTu936heqdMRkeUbQlVBh/Sf g3YI43mpkRmKG5JX/TKpeQvNzkPYYudyBK68AT3UgTnSuR66xg6ROABX3uehU9okOP6UhlQ6Q7d wbPMWUgQ5Dqx9/zK5l2KzwEYErsXE0ISszLIgKGwfrVG9iXuyOyiivPkl9aiVZoFGTpV0g9gb1U B5BMpdnfRJ4rUL1J/+B1um2rvIVyg4T54QoXA7pBklFsg+sTKCkAY3hL3ie4czMKyKZOmteZrZ+ 1HMtO4qD7kVP7lEy395AOtunqWJuKTxmb++AwbrnEXYe2J023oQ44pI32Zl2JOrYArMRjN463p+ oAnfQck66/BQ00KzyyaCweCAbCb+1Vo4ihu0vWN7jDxoCml2NT+Cd92/wKwXH7IWrRdHYALAKNT nl4A4xRVEke8fhZ8svKxgBV46ih+7rYr+s5VM5JfJzPMJU5Xct9tfAMsQHFnaj3QX3lIMD+4gZA GcXOnQSd22zMt3A== 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 85474e029784..4dc529d95da4 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 May 2 09:40:02 2024 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.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 6A46C154B1 for ; Wed, 31 May 2023 14:16:51 +0000 (UTC) Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-4f4b256a0c9so6618485e87.2 for ; Wed, 31 May 2023 07:16:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542609; x=1688134609; 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=kULdFKccrcxg2Up3zlHQjPHaJY4LqjHQpCANpqqEXt8=; b=VWz2U9fLjfyFX3+fI/sNNL6U9ZW2w4N7hHJf90DakHdHXt16PtSo325QZ7S+qwpdh1 gp/NdOQHT+YXEgIDyyWKUVO4RN6w/kykJydcqpzJm1CquVtz5iSHEoa2YEZjlnKjTxgU boI3I9ieXtlSHSNfEvReAdUyVbuvZgtoeeKBrCX2bwFgerMGK/jNDguQy57Wy9Nhz0o1 fJrzDbJP8S5m0LVCbIOk5tA1v7AA8/FXPEIc/UKp9R4cYbKINTRgmfUg7BJ/0r98f6qq IuH1Zqx/9n+b/FURXMpZA1i04zXhd8tl89TjGsAPS2UJj4o6ltwrlmjtL29TAUeuddR3 JaDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542609; x=1688134609; 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=kULdFKccrcxg2Up3zlHQjPHaJY4LqjHQpCANpqqEXt8=; b=ln0ht4rgtkDUfHFYaS9K57vaUSgceXYMDASlbUioAGEkSw+dHfbY3YI9iIJBVEvxzU /i5X44arOUeEayMqi+Z0zLwUGGGTYb84ZL+UiaOwt1o5FtoCAq5jEToOY/KjNGCVm/RO JUov+ylNqHW6JuoUhKpA1WKLE4ptOJHNLlEVDeN9XaDmbCDAJTtoNovVDG+shWOyenW0 esHWl167ibXKA4FIwZjDgC6Su7ODku2/KgGUj4lpOKjVH/5ITFkyDBMYC9tbyGGCxOAs YNG76OfVhqygfazmHWBxOh8v+JG3CTswmg6Wj1CErJGAY91va7t7XFMVSrjkOk+2VDSq ibaw== X-Gm-Message-State: AC+VfDze79rzXL/8WTWQZVsmzPOt+iKS3SYSKD1XTeR3weA2v8dNax3u wuy7HTeeJ5q6W0ib28iiS3IlnPOHy9ClQJQwxijyFiH5 X-Google-Smtp-Source: ACHHUZ7Js7bYQv7u7riUHck/WYIwAz9DLkB4d6hh4AGYyrIRjG7OxdSJiPqXmdjms9PsFKe5DJl8+Q== X-Received: by 2002:ac2:5227:0:b0:4f2:5d05:f19d with SMTP id i7-20020ac25227000000b004f25d05f19dmr2725398lfl.69.1685542609542; Wed, 31 May 2023 07:16:49 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:49 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:37 +0200 Subject: [PATCH mptcp-net v3 17/32] 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-v3-17-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=iuZ/OGD4JDky8JWHSfam/s5e2CwCe/F0efZ7+ZyUMfM=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDwOdYObL8yiJoiFkNeuXRHE5J8nbEQ71Ka z59e4vMGrqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c6lZEACYtzlGp9wpOtAtg79Pj29mhgh3nZx1XQrIa9KsMMXsinF0NXtANGFDrS8Mg9M/OUM9zFP cn+i6lcfHf/iEqlJ+L6NaR6eFZZPQ8qMBRXnaOTOSsg8hn7qwi61TlvqkyGlN0OGX9+yjkWBdVt x9QeUjLdrJzyzV6XKaXDnktGPz4/TYY3+H6Xn0M0rkvkSDWo6lXkf86fUt+uyeBm6N6HQYZhBz1 85ZKttwzXPfLbK3bWvyXvF1NEiAPwrpZmO8NLi3vavHYYBGipGJTec6tlrcCY3rySbvJVQBYEgh U4yXmtglZh0DMx3VwdsSnTiSud1HU7qNAtZfjAgxrXyUI61TFgrJJhnWreFw1tOZfJ1kaeVxyyp IVy5OPKFSnKnE6Kamd6uaYcADIpi0LtRsKmu5LooidlWx232ycUvg7gPpawgP0PomMMuvMT3Pio QnCF89eCq+IgozGS2HhTsgIqGV7QBVTBr8tBan/ANChDW1uBiCyg67K1dcmcBq6NfY/csk+RvS5 Yv1R6STaVDQb2vP+5+2DC0jVFeacYMmAAhzvITH2l7c9ymjU1lcDaVvQwlEcehI07wJL9+Tydmv 1uNQicOEhKjjfLQNxZyy5/V+diBj0+FwIj6yIDopZRd3v+CljnZ/klzl0Ud7AIYFSylX3On/Z90 Iiwy5WXfWJPjKrQ== 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 4dc529d95da4..72bc6769c184 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 May 2 09:40:02 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 6003715495 for ; Wed, 31 May 2023 14:16:52 +0000 (UTC) Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f6dbe3c230so60025535e9.3 for ; Wed, 31 May 2023 07:16:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542610; x=1688134610; 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=nY/6Cm6VYEhZNs/KG+ur9NGwB6YMPKdYIkUsFrWe1KM=; b=BVrqaCnAVB+M+SGCzzilq9AhboG9LMkO+06KkYSPYiHw5WciRAWGygsj5hhifSFPCc O0+VJvavNqJ/pRj34SbG97lx8fn1DmOmTu6/5MhuVMrdAqEkBvqZwwPIbYFM2G9hh9eD efZXdwYd/a+rBiYTwErz1x9a/hocGhT783/QcFBzsYDPW67oXigBPIKGi6cPPnNh/vGJ daAsBWDvkHwSmVUkX29cGr4CoZmKcnkn3Tp4f4t79nnAoWH0no4nZiWMvpTFouhJYu6Q PL7EB7kE0X15j3aDrSGznotHWZYQo8UdX3J4baRmKcMVEMdZitxx3B2RlSWpkVYElxKZ 0HYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542610; x=1688134610; 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=nY/6Cm6VYEhZNs/KG+ur9NGwB6YMPKdYIkUsFrWe1KM=; b=Lmu2ANJNZ8MOTF2xoXI/ivjyJoJvTIhReDg/wrSj7lzTOgK514zgmM+1hfAb3Qljj9 9R4xgulf+j6LZylFqxDobu/Ge8JhAwx6W1e+dppgsW0brYhU+gHmfbeKFxnAD2O1NUPU my3MIEMg+aZGJvDAOF3SYNLnhLMVOAyxafm/C+sb/cTWLNmEB59UVZaK12QFkBOPsIEE lCfonYIva2WcCxzD0h7DXHT6oZ/09+KPf5JlNM4mKeGFpivOx5Kd7IZUf4dIX4j7khaF gf3j2cvRr6PGpFS2TCicWdq5xDPjy1tnqUA1Y5OF2BoNwFqDaltxYrdioBMX6ztvG6Ru TSVQ== X-Gm-Message-State: AC+VfDyXleYBurzY0Fdm1RUXBCDJlor+T2tKu9VfcHbEDWl8URd/nZTq wi5omZZzWQkPSUXxf8AijEooyQ== X-Google-Smtp-Source: ACHHUZ75KfSPpdACLH+JLyaJQ0puXHAQ/F6vRhGaclsb4aCsIfZmwVqlABSJvPBa1afUMIC88zjr4g== X-Received: by 2002:a05:600c:b44:b0:3f6:984:4e43 with SMTP id k4-20020a05600c0b4400b003f609844e43mr4818378wmr.21.1685542610415; Wed, 31 May 2023 07:16:50 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:50 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:38 +0200 Subject: [PATCH mptcp-net v3 18/32] 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-v3-18-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=20182; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=pXJ6jXdlO8mkCIqzu4bhxN9uXNboJ7Ycyr/zC9NCUbw=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDL597tys3oe9JPogm7EcQnCL0qAATiwVzb tEyWUgngLGJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c2yLD/43A25DpIQlRkcO9FUuuRF8JniqD2C/OkqR8+g7z151IiRbTp57T9R6kNqKw84OiDmdXbw aysFiJRblRIuhHtdrIFGDwuigahpm/RbKfnX2BCAFPYOVZgqc0hDweSgl1YQXGkwsdHZqNU9f1i j9/NRFu1lWKp3GZ6kM1uUbhkF1SKs2puFnut1teNMqRmZEW2r4/lgK/wXBsuT1ek3XzkHyPdK6M SXz/s19IOm4dL5V/s/cqHaQcUUIrCEaCc2dZ856ihhLVHmla46yMAICxvPLBAEp9ziS9Z4l3KX0 g99S0QYtZPB7mFHN2V0fLML3K6wlbpHERkbMjDWerUg+pvw+xApkxkLGewbTFCBt0795AMoJCTu lvP/4xP2NenfB8j435Xk6qQLX5Cv2isop/O5pmldNGEYAeXZGRcLO6zlPp7L6T3Sv3WYtv5anai oZ5xP/SbRO1Al+svBcWpImsr+4hdwnkDwONZVXPv2Z94J2eM9mkZ+g1mt2WAmDhjm6whX1HW4tg 0DsznPYhZxP590vsx9PqxJnRfY2YOH/NEEM8lOOXryXWOLUvf2MJDI3kGzdpjtXwqXJXn8r6n2m sKka8ktvw/ChutXH1XSvHwV+kmmwZXGYTd+E1HNlyeFnURNil7itHMCRhdFm6p7tYISvhqTet4o LkMjWbe9mAh6LCw== 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. This new helper also makes sure we get the exact counter we want to avoid issues we had in the past, e.g. with MPTcpExtRmAddr and MPTcpExtRmAddrDrop sharing the same prefix. While at it, we uniform the way we fetch a MIB counter. Note for the backports: we rarely change these modified blocks so if there is are conflicts, it is very likely because a counter is not used in the older kernels and we don't need that chunk. 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 --- v3: - Add more info about what the new helper does + backports note --- 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 72bc6769c184..53178ef00b50 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 @@ -1194,12 +1208,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 @@ -1207,12 +1222,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 @@ -1251,12 +1267,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 @@ -1265,12 +1282,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 @@ -1298,10 +1316,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 @@ -1309,10 +1328,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 @@ -1339,9 +1359,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 @@ -1349,9 +1370,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 @@ -1368,9 +1390,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 @@ -1378,9 +1401,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 @@ -1408,9 +1432,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 @@ -1419,9 +1444,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 @@ -1436,9 +1462,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 @@ -1468,12 +1495,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], " \ @@ -1508,12 +1535,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 @@ -1521,9 +1548,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 @@ -1532,9 +1560,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 @@ -1542,10 +1571,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 @@ -1554,10 +1583,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 @@ -1566,10 +1595,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 @@ -1578,10 +1607,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 @@ -1590,10 +1619,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 @@ -1615,12 +1644,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 @@ -1628,9 +1657,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 @@ -1666,9 +1696,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 @@ -1676,12 +1707,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 @@ -1690,14 +1722,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 @@ -1712,9 +1742,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 @@ -1731,9 +1762,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 @@ -1741,9 +1773,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 @@ -1854,7 +1887,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 May 2 09:40:02 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 B159E154A5 for ; Wed, 31 May 2023 14:16:52 +0000 (UTC) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3f70fc4682aso18144085e9.1 for ; Wed, 31 May 2023 07:16:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542611; x=1688134611; 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=sopwhu15R4s2fvPKK7V68/k5cDpXpBpTE0VDhniZm6A=; b=n4Qgl/EpF6KbaCAJAD1UcHgudqXi7v5jVi3KyaMKPIYPJGpj+MRinzAbNrDm8S3Z0R dsfaqvGmmcxODmNAt/Von3GG95sN3UE/ALZCw9varnff6m5OA7qfrc2iBxdHeg9h6W8G mc6R8fGqsVCafgkDZmnOdXFst9hkAIlSH6pTtZV4iaXLCALEZrjNi9zAkh9zTSpbbvj0 k7NE7OKKFIe5TlKpu3v75ZmxyF8Fgmk3VrzBLVluDFg48TUdB0arEUovyHcH7/X5pNYB IqEVotb3xXL7OaWlFETwBTvvhJW2CqaoJOZsoMDD0zEhkCrwHjAJNzPkdeB9kWAsig0u I2FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542611; x=1688134611; 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=sopwhu15R4s2fvPKK7V68/k5cDpXpBpTE0VDhniZm6A=; b=Ad9Z7Ct1m9D7IVH+hkMNs+lP/fRJbsLJ1e5QWAYI5V2iVVA2GtnZFm/CbFP1wSxQHe CZgn7s5fC3FcipMtP+JzSnQgtKOhOYzHPa9q1wGiNxgTvHSfrrlZoC4YnlG7bbxIzVSV wZ+/VdqSo5XDomRvi8+u264ENHsHac4haX2/xm9WbdooGQZqsa24Hz4vnfrLM5ptUOJb +5RgkD+2vk08cx9TbE7EcLJ3CRZrlqeMon6UVK5t5Am+VgjgKN4fXolK3ZSTEg/sGW79 5BjTLSvBDi4v4sIuhwS98VDS1Tu8y5tpbgvyfgxTQS2WVQJmlSU05ed2tB+odNhbUYeG /Zlg== X-Gm-Message-State: AC+VfDzEj95YxyE0HxV7EbFwy1Ow9ciuCbZQiZv2gj1eO0jiktcuFgtt vZYLyuBnWAGFliGK5bcGGauj2w== X-Google-Smtp-Source: ACHHUZ7hKTcSGkr/2u/9gQo3+mFkzt2Oqj69Uh83gYiQgpSQUKtP4+qq7hzFg65Nd5Q7WQqxh5NvsQ== X-Received: by 2002:a05:600c:283:b0:3f4:fffc:add with SMTP id 3-20020a05600c028300b003f4fffc0addmr4228487wmk.27.1685542610991; Wed, 31 May 2023 07:16:50 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:50 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:39 +0200 Subject: [PATCH mptcp-net v3 19/32] 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-v3-19-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5979; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=kNzCzurBO1+KOIvY3lYxQJ3TnLg66+nqCJXxQdDx7Ec=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDfOpTpiAQO+daOPG3wB/jooDH8fUeVj8fq 0249//fKQyJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c6VhEAC9PZA2Bgu1QhCtty92KKJreFb0iKMpLVC5oBGRWqw/Zh2VMpyz1vP4LctJJGYYRi15KNw AIY3X8TSOiSpD36viBGKM1N7FdYnEBUn1TykDGEPad0rJKGXvutYz6Mu04o4KocV1fs0HoiVj6i okhLpPOBwWCuAwosYCJwXz0ZSg5SdL0GGkk71ivCKRQtmrFPBk6sobuzqq80Oam/W+rdnXBN2Xt myP9cJkEtLI/6qOU6vX6w+ZWaPbF7xsJHvJlt1WOUx2oCLr+3sxROyXj0H+ErSzRerrsyr2PdCo VgYZl+zeLeaQlPzGAuL7M2Y8BTJnch3RnYo/lxVkmsI9K4nE7VDhGWyvWe7Me4obGIK/ggtjO4e weU0nwAgWs5kvNBn79UizuTAyWVWZZgZV0qHDpQ9/CjK7HaInSPs77Z2Ft34tIC+wyeIcfhS6sM Xwk98ALelUDltyW8AhBFLXemB6sN2HA+hs8PwnAfrpoBx1zQtYcSnDTADoq/7X3t205lvsXYtHr A+EjGsilUl5yJ7qC5lGtDNxQsgvElMpRrunpn4ILIgtnQ8sJMUPCshaTt1PKqdwuTu9S1M/i6PW qa//kw4QkXl0IQOJQvi37v1IdkEQf0vgkxM+i5B9gT2o8gZKDjDhJLOaWtXBFy5uxn5WWARZhK/ vMWSF4UAq4NEu3Q== 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 due to missing kernel config -- 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. This patch also replaces the 'exit 1' by 'return 1' not to stop the selftest in the middle without the conclusion if there is an issue with NF or TC. 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 --- v3: - add a note about the missing kconfig and the exit --- 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 53178ef00b50..31b7d04a4e1e 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" @@ -1980,23 +2006,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 @@ -2004,11 +2030,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 May 2 09:40:02 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 7E2D2154B9 for ; Wed, 31 May 2023 14:16:53 +0000 (UTC) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3f6e72a1464so44057775e9.1 for ; Wed, 31 May 2023 07:16:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542611; x=1688134611; 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=l8twWBmnba30a2pixgXyNg6a89JuPR9fBcpRZn4FktQ=; b=429TAcEGtuc9HqQTCtXk1sYcWqKKU41B2I7atqgVpBsSvGnoIpX5ifHb1K91+06ygB 5j5In80TBekIE+J+AQ1/muJ1cGaxA88qgu6iDbHqmLpsKwo73gHYdmGXd4VBV+u4K/sX iwxVCeNO4h8N1GDObRfGZcwur7ilS9bTELmM8P0L/uxchfYCl6eHl2nLVfxuVOLqHDMC 2W+TFR9r8UZMQXjK95uZOEsw6lYrlrG5o1A4hmErbuIqmxYibATY65QnmN5nMMZtI0tx lHOFf9Or/KeYSkyuEbeJViwy9Gb78ahlDArOeiQfxeWxi8Z2ekWkcsJf3bOREWLDV2Gl SN5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542611; x=1688134611; 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=l8twWBmnba30a2pixgXyNg6a89JuPR9fBcpRZn4FktQ=; b=ZWpuvzqA9qA3HTAqfBKeP6ThhVlzkURpjPI3zjDrIuolL+uzmMOwLNzgtRTESsFNDX bhO11xioTo4muz8ONWn8GZIiiiDKfn64vAzuSn42S+AQKFYG0wt5Mh0YMPqHwAbpEwRF RmHO1loBjV1Y8TiLnSVblHV6LGtTk4DIqoxMeITyaMJ6IJ7FBFtJxTtxlGN+dOvt1zss 7TcPkGwx7hoSAVVtduFKYmrAWe3OsArqWCbnkfij19fbhe0yrBvOGSUAaUxhN1msqp0A Dg7vP7xDEqfGtC0eyFtVPoPPbi1zWkH3JpEJ4tO2vP5g6k5Pfirycaj3P/znOsmwYVNX SMfg== X-Gm-Message-State: AC+VfDxE/DHQj1jqWSl6ZivOgPB0SqtNEg9fo4IPP/jPJbcQwvNxM2qu YYSIx4oUDpOJVK0VyC0Ql7Evc5GTRLPvhgVkYaGd+fZZ X-Google-Smtp-Source: ACHHUZ4PG00PobVq+Us6du9r7SoYxLtW1EsAKQPO65CM70iIma3rOvPOgDpe7ZfqLO4yq7TMoId+qg== X-Received: by 2002:a05:600c:228c:b0:3f4:2365:e5ac with SMTP id 12-20020a05600c228c00b003f42365e5acmr4032888wmf.13.1685542611721; Wed, 31 May 2023 07:16:51 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:51 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:40 +0200 Subject: [PATCH mptcp-net v3 20/32] 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-v3-20-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=KNqNpKTYPCpOEXPv8p7U9KkBXS3V6gWg+apQ6WCXEM0=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bD16IlWN8PKrAUKtUmwaq3dCdKLelg6inCP 6CVSlrqImWJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c6lFEACjX4AF9gFotMC6fBLt1EMsBouMiCZnGn2pcnpmMIi+/M0FuOnQqDJ85p5qXzI6/0b55Qj BwXlJhpcUdos3q8Agu2LfZDHvpIZ3qz1X7OTPfOrXQICVorVvK2rg63Vbvx7Nu9ldJaMpYVAYvE C1sIk+KoaMC6ObxVUhxRhL5lYXs8StrnInBPoQ9xXqiVopIZ/6MLNTZ4m2hvXFugg29HA5DaGk2 v2xVQj4GsBqV0djUcSPoIwH49sAeygrNYQTnAbRC9ULhrjSiq0yc9qwZ+KXt6ilrIduolF+JakX QpFjWEoL/AF9OsOqCHJp4kZZb79N26FyDVjJ10PlLsvv+C8hpd1usIt4lNOpnv0DBFnE19rTrc3 mrCqj4XUmIOraSVIt02dtcNRrY/ogzSiuU0NEEeTw+gUEN8aONUnzrXH7bjtdhrRckRk9sFyD2D 1tG5j8QJMkcZS4A4VGa67wNvNe29+C3SoCVu1JazkJ0enIBvu7sAeKgJaV9RDG+EhGQ8S+aYAC1 vcVU+M0Keh5czOaq5lglw9+sDjegzK3qUwjTFOCNyLXZ3fjCBBwVbu8Uov5X+SW6yprVYsmhUXP 0ew79wGyTVkDtFxyZrgUzXY5UAXPpCq8vM9wWxNq3iWmiAOlC23lzihg3nNvKp+LEkcD3RpH3Sa lxuCY/YRSXjvfHg== 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 31b7d04a4e1e..443a186e536a 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2135,11 +2135,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 May 2 09:40:02 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 368A3154B1 for ; Wed, 31 May 2023 14:16:54 +0000 (UTC) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3f60804faf4so43298575e9.3 for ; Wed, 31 May 2023 07:16:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542612; x=1688134612; 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=rDRrmhl3LUqtgzY9FZl0YYoNHglP6z9UU++uOVVlMp0=; b=3rRXYe9V99LKQeGqY0qdcv0+I6ou+qhwPhhRNWg/0TWqx+v7jzw3fQX6Eo8txXmeha Z+cMKQcFzA3AABEIbWd9yETc+6P4Q4SFiid7vJrCZNx3+Qo1Xvw/gA1qj7+2Dz/W7H8r 4tL5fJ+9djJq7+5cX+iAw41AKyxGSNcvbKVQ/Tp0l9xuarWEvIRrRl6f1ugvs8XzCNg6 H5ZxWOZFzbuaC3DVLvq6rfdz223iFvIaqkBQrhpCgqmnQUmcJ2N9/Fi2CyskqHqMxJWj ymcm7SX6gbKueZFIsdiRhlrRP/zfeF4Ogr/F27p6GuU97VKxJD8Y8N1Mm81zmBzx0Kvu TtlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542612; x=1688134612; 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=rDRrmhl3LUqtgzY9FZl0YYoNHglP6z9UU++uOVVlMp0=; b=bi6EwV+qMu+YJCyvzYVfHpPatDVKNQ7Z4TdH25xd0Mn/nBw5hCDDxUJEgwQVJZcHdW hEHs86qYirkbfX3XlI6JVMv3+j+zYDrCzqPHnmNBysoz1Mpzf8GYeyxCdaNkZIAgAwoe Tb+ZTiApwL2ORjUGNwQ+r/O9kGnguN2PHhFykKIxQyC65pSnT8Vo0lEo8FKa2WEicrr3 1M8K/7QgotuGqcOapsunaIUvIkzE2qxINjmcdKmcFlQerMiZcFeLHtmLZe8UirCBmccV LgKqt3iWtqDNFsYDdHWxbpUM7MktN2qVHLURdVS13NhReCa4MLryo2eP3uFrCTSde6HN zFpw== X-Gm-Message-State: AC+VfDwClETBgBdjTNEbtWl9l+8vM8+jdCGK2GneJdC31JCYzoPjHGPP JVPZGLUUTCKbdJi6XPckk4H36Apg+/Z2mt21eYNEaKY+ X-Google-Smtp-Source: ACHHUZ7yVuj3UzRwtNUhTQJZpaUUuc/tnQuW45J2pP0YBbDMbR6cttCDCCyzUZxAcTtyef7HEvDdOw== X-Received: by 2002:a1c:f710:0:b0:3f6:d2f:27f7 with SMTP id v16-20020a1cf710000000b003f60d2f27f7mr4392208wmh.17.1685542612463; Wed, 31 May 2023 07:16:52 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:52 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:41 +0200 Subject: [PATCH mptcp-net v3 21/32] 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-v3-21-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=O2FQn4sQ+mT5J3YqyH6jh80X2sVp+Q+KIMHsdQuRbnU=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDDiGyjHdJTV99Rn4DqqciYKHFzhxW514uy CRD0KZaA7CJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg czmED/9ecppqnn1ETjT4Y9Rw3+ENfVIORX00le/RwIBioaLup1eWEmmP+MlRUeG8a5io6HnGcnO nR4Qn0rTB9dfQ2+vrTpc1bnajg5T65slOD9dQ19wMwyabuHCFdU0w3ond73GgyvhIwulrGRANSp hX2yy9QrN/Xk8+jX/rbWA14P0hjWMWHyg4EXgZWaYmYqftwTgdcYIeFoPSUvBGI3eCCnpB3rPdy mpJgwTzipxEzX3p/flpPMXXQBpmAasHdHD3Cov8ptGCf2SwufEnCLwLVC8G3xmQWQRfgYAvLNdy ISNcTiitpovof6+7ldplW5ieEATUoc0xiUuM/RYF1Tk1T4rO3zn1p7VN19BuxGoLN/4ZqNb18aZ hVmluL7pRC8o8b9smE5wm2IQHNN8+BQysjM1ke49rDLjZDqcFovnd2jkV1zmwfYyoRYA3YrsH7E 7p1y/F6R1jkH5LOONpZ2207SYg+mVFPDOh0Wbt8chUz2eFalGgl7OHYdSithRH4bno9kfNKI/AV EJnWcewuplKUCLqFQ+zUPdPxHczirDkJ2Hn+9ggB8nx2B+pjikYS+fYMjc7XnSEZkx2O5RN89KK vQkqTjictgqjokwnoev3iWfSJdNIcEI6SiQDwrv6EooI9UCzngTdOZqE2rlYONORbqc1mZy9jHd +l2O1xWD+/c+iRw== 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 443a186e536a..a2455d0e2abe 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() { @@ -3130,14 +3143,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 May 2 09:40:02 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 9C30E16401 for ; Wed, 31 May 2023 14:16:53 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f6a6b9c079so44039415e9.1 for ; Wed, 31 May 2023 07:16:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542613; x=1688134613; 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=KFwYsdoD5+/SQpHVu2Ji6zWlQ91oPWysx8gRnT+beOo=; b=yLyR+Nmd2WPF4e+tVoIG+8TVkm6+p8Cxpqy3a5dvgk9I2D+CvD27SKoZfIKBAtEKqn TAx02ITbPKwf4otCisLu6AQkEXh+ADahy1DEQLfO7LDtO9gQrgBykvDW6UV9d447kN32 MwgCIJojW/JPszLIKlpAouQzvGa4XuSbubpC9sj+eEB4KlLy7AbyNBXfx5DsuSyY7Q7m HiWpsNb+rtKeJHjj1KLL+ALvT92h3el6E7epxZDKY4wYmKotQu+1bOYBQCkGpILBdWVq ZL17QdeDjBU+JAZ2iOP9FfKBMDAW2NIKd8VObSdE13oluDqoEc0vJhr3ToIiHbpouPbk Z3qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542613; x=1688134613; 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=KFwYsdoD5+/SQpHVu2Ji6zWlQ91oPWysx8gRnT+beOo=; b=Hdc1uJ6CQ+FSMQJcfW+AqIry4UHfkgFUx7T7NlZ+eq8ZSRPN9Xr0MjYpN2o8vc58O7 kcXh6U5S26xIZ1hxQuazTMv88/G773iIFgVUkppHtoNMqBfmfjjlOehrSpqu00RNFboI BaTJjp457jrO4TeIqaGU5pjItGX62jRtm1clFWUeDsB7LopiniRUY2lP/2qNQ4BUFcGg 6/H2vOiwWD0wazdJJHlfstUgSZj/QLiSIDGKCXvUEjWKFtlnWAXWzaagQ35ef1Ss58UO A7eTNDjxheranQFIb94BU9Q5Xzri+DPnWM3tCr0/GZtRngfcLA0OAr9WiT8XL6lFPd5R zCfg== X-Gm-Message-State: AC+VfDxvI5FhqbV92XReNJQGw1ph12BO5D4ETuRZtFNOY7obB2Gq7z1N /4ZiDhGOYAKmHkoblkmXG2/7zw== X-Google-Smtp-Source: ACHHUZ4i5pqR7fl6J9qG7dfk8DuEwrDK/ntkTK/TQp7dNl0TfvtqL/eO6hu/97To6EZYLg4O4OT/mg== X-Received: by 2002:a7b:c7d7:0:b0:3f1:74bd:bc22 with SMTP id z23-20020a7bc7d7000000b003f174bdbc22mr3728365wmk.6.1685542613139; Wed, 31 May 2023 07:16:53 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:52 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:42 +0200 Subject: [PATCH mptcp-net v3 22/32] 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-v3-22-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=TA6WaRxn9RvOnzpUboyxJQQt7PSwNLMC958ZXKBfqN4=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDNn1I12oNITAoj9AjYFKGvDWZh6cJw+lDK yGk5W4EOB6JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c6PvD/9JcVWzBg378JYDWw4znRqa6CKfxpH+NjbYI8Djzk+1fhciUiJUJViaDTxn8wnaccczCnM /LYG7rcBg4NGHR8nXIrZZNOvg7PLnyXz5GMMbEftVN+uCOAwlxkSY9ZERpCOokB4EJ9xo52EYoZ 5A/Hiha5xceoZvi4ORfapwSvc9BMdGSCbqCviFoQDIUM1/ByxxYo0SLbIWZ4DrBbyPVYErDW8+P 1dYmEh0WX5Q8g1kzYfSo4C8MN7cFJh0AtQRCAh/K7U6L1n1YXqwfSfYGf+vt4a7J5fWJ/S0YTsq R4wMWjMsDWgw3qLp/DV2UuZnYTgivld04os5kHd7f9AhTX2Rh0Un6d/LMp/wdin7uhbvNuKURuN LRDRh9BZ5VLiOJk3vBDwLnXLwF5rfC1lIbWYhOpKj/sr5z07GTbkHv8nNtgAPDaA6MOj+imfWp0 DFvaDoni1PYF1IFp9CvQlMtZy9vNO9Ihs1dT6ApsYcmZyoxB4lJCAkSqlNuG9eRzG21bvRR2j+V Mv7MoRv7ki9GPHAL/tgcmV9gV1Rcu6uuH3FHI2P+Zc+VAf2yFlfISrpI0Z4P/QwOk1JAFXIKqp7 iuuG/sN9vEcFZ/PyBZKpoOAWtpZxSzIbbVqcm8dqnhI4fSE5ULPSYGwgXfZfACKoBxSe8ErTUgU pqGEKIgou7TMHkA== 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 a2455d0e2abe..d07d448059b8 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2402,8 +2402,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 May 2 09:40:02 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 90D19154A5 for ; Wed, 31 May 2023 14:16:55 +0000 (UTC) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-3f603d4bc5bso59922465e9.3 for ; Wed, 31 May 2023 07:16:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542614; x=1688134614; 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=Q34ylY7RyZGWOPFI8ZS/rIN5/CmnfZRachx6yao2tGY=; b=Bh0HPteoisBq4kANGFl6Lm8Z3vPpEuTDS/zUKyCWOjcFnfwWPKgZvkEq7D32DN+oeu 3KavlLU9RP58Jj2QgGNG/MHV7Qjg4FkCjS+drx7UZTGaDVj+I6ePBhengFq8qvVovuGd EKcN7lPy6LB8qmetk8Ots+0ZDzxLejQj1P4ngxJIsFmm0israqJsGdulesk68KzqCSXV V1p17UX0aHzaMXLAVlQDUtvLsbzdKg/fGDhPE+VHvSeZK8VLh0SYeMFSdfktBArUpmj6 1bjY1pWYhR25uB+Rn03GC8zO1ppl7Fo9BnSSKjnfh1t2hnlYdsMYExgWpQdGMvL1DCvH h+xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542614; x=1688134614; 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=Q34ylY7RyZGWOPFI8ZS/rIN5/CmnfZRachx6yao2tGY=; b=AB96UjdkdhKmmG53q1eaZhee4uDEnOdvx76HJFCFN2qp/qvRIQbDl8xCMA9t1+SGWn ZUifKGARtdrA3aYq666TC1cBgMoNzva+mFBuaSxEJFAOhmrmkHL3PmrJph5aodDeaMcj ajb1PdmdJFRoeTB3imgwXC9+Wa/E+zzplmTXk2udCRNC51mQQUgU3qxt7yj4NUx4G1Tk +DHbCQyzQSxWMmM8m9dThk/jAbtVu+TkcWdHgqMq/I63CGQ7rmsr0SETp4Dsr9ds/q7t InFtrCFOf0CemoynB4t7+bXtXeZT6oF5S/4isx1wewzDT7bfIE8nNTcAJmfG3IPsWU+P cVCw== X-Gm-Message-State: AC+VfDxfIB/YN9CeBR8luvadKpCG/7B8LzMKs2cZzHFpsP/E2649IByF hggqtPbj5IU7q3IWZZ03hSNhIVEjZcNybbW/Jz5ex7d8 X-Google-Smtp-Source: ACHHUZ6CUnIuTQ1cLiwH5H9s+NSk9LMSiqZgxKH+XAaph8KuqmBA1crJLEMJg3CIOLBY6D8NL/SkGA== X-Received: by 2002:a7b:c5c7:0:b0:3f4:2bb3:a5bb with SMTP id n7-20020a7bc5c7000000b003f42bb3a5bbmr4671381wmk.9.1685542613872; Wed, 31 May 2023 07:16:53 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:53 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:43 +0200 Subject: [PATCH mptcp-net v3 23/32] 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-v3-23-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2507; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=qnQZ8QuapALu2QazVTTWFcJXlz1v7ovVGGnwntO2FWQ=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDQMXxEizv2gsh1UeVZFTdohokAcvskVovz MYSG6kf+I+JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg czT9EADZxqjAv63UFKma7dyux914zeLeqUkhA0Zke/eE1cPtRwXkSe+TBuwT1Z9xWseuEy/jmuT 11un8gV3VNd4MMmtO0eHRw/YCYjlgMkH7wr7faWl6onh+lmlN3/rp9M451U1lp6iG5n4CtUgb/8 ZTV0Wc+M+f3GmdWWyw91luoh+jjxTBkA3pcJHJRqdPlUeExw+sSKRdjGuTrZ+lTXpt8XO3IxuZO yY+o7nVW82uqst1HzSEXO9qDQ2fCuUZEefI8wzUUY6k0f4tjyWMQIeWv310fwldciDmrzUI1VFo 1ZuZzk+pW9zuSXGiC1w7kZ9EOPqk8s+u/9hyag+//uql0keMJhnZFNOsStZXPhASH95ooJGk14a +46RySXNzTCc1lCxET3J5y8YlGDg4Y57X408E6tmjW2TQp2tCHiDVhhQdIvNjEogiXuPMfMQ9gs NonBOov6Gs14+r3QP1KTuMf+jfatDkqdwIUSkazYIpMcrb5H7iTvGpw+qhXGmSE44JzUmgySPlS IkC8ZEKd8M/avtFV5B5yMyhB94dpCH2SSDrES+TzkI1r+NKcjP+kYp8PvzPjpwVobNXVRlzo2c3 J4/U66LxJ0CLQkRlCFRxb/x7S+o+8PrhgWHhVwPCvXBG0NqLkRbsRkTmfp7BOuObR2mN3w0NR0b 8+I5TYYbHHxzgyQ== 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. Note that here and in the following commits, we re-do the same check for each sub-test of the same function for a few reasons. The main one is not to break the ID assign to each test in order to be able to easily compare results between different kernel versions. Also, we can still run a specific test even if it is skipped. Another reason is that it makes it clear during the review that a specific subtest will be skipped or not under certain conditions. At the end, it looks OK to call the exact same helper multiple times: it is not a critical path and it is the same code that is executed, not really more cases to maintain. 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 --- v3: - Note about not skipping the whole function --- 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 d07d448059b8..d02f715feb62 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3281,8 +3281,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 @@ -3302,7 +3304,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 May 2 09:40:02 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 5B1EC15495 for ; Wed, 31 May 2023 14:16:56 +0000 (UTC) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-3f6d3f83d0cso61761525e9.2 for ; Wed, 31 May 2023 07:16:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542614; x=1688134614; 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=t5ArPrF/2OcorDXlvKGbULMOHntlWsP6axbs/XoR+uw=; b=YHVSG2wpaqGbfErvwVFZcRk+EijWTRQQ6ofz0ZmXTxEEITRqFfH8nXTSyqtawmX8sB LPC5IVoQMkgCvX8Sil6N6lfMmZgTQavKk6c4bKRllsgYfRU6rq4XqJ/EPedJiVzCgqc5 K86EA7YZOvf1bk+zDSqYXaMCsvCWrgPbw4VTbXSR0B2bgMJWVbD7Szg5/7Ntq7DO0/3w gPR5CqKE4oh1qkgMoRXRpoVMy23cVEeVAHmBKBhM+57SCR5bDS77TW9c4Q9+103ViyJE eAup32rUjI7rbsTeWUT63dQSz6KUVDshvXWBLo77nEqPkbTwxYZn/kSJ/+JjQGNFgCvW W9aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542614; x=1688134614; 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=t5ArPrF/2OcorDXlvKGbULMOHntlWsP6axbs/XoR+uw=; b=Fhylrak0Bg7zV8DX4tJj2zPN2Sv/h5DRhoNlv0ZxHZzzRYful454gyk3yG7sFTccBu 3G9diyRoaXVqx/E1+wqGg8N/CfwsNmzrp0WOoAt70UtE789xwSlUkbqyQwMgUwyFm4Jg rlEaz7faL8Ik31js5sZPqe2ijW4W8gXR9/cuuW8bfNn2ih79yjfQw302f0kiI/6PLKVK TE3sb24al2ZoeYZIOB6zrW4jfxYIORWLmPA4n9b6IBWdps6f8d3y6t03DOs/zX4crVA8 H72kFO0lRqLYWExeWiDpXy9G/KIrgEk3PCf1/nQyXJfKI3aJqVANv/LVR7lGRvjC8gq1 5R6Q== X-Gm-Message-State: AC+VfDxpo2sax6w8PBt8ZjdSfMmMwcSjYe/ZebHlRPvi9Jnm4qJoUxlk uDgMqPvXbBeuEw9qNDhUtL0dkeLRYHWJv+oHRcsQEody X-Google-Smtp-Source: ACHHUZ4HIN53wMIDQsvzX+YsbKGV1BERYW8Oi2dfVVr8DGv1IaqqH00YnFwcbd710VbapNXkhsu2hg== X-Received: by 2002:a1c:7218:0:b0:3f5:db0f:4a74 with SMTP id n24-20020a1c7218000000b003f5db0f4a74mr4128778wmc.21.1685542614630; Wed, 31 May 2023 07:16:54 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:54 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:44 +0200 Subject: [PATCH mptcp-net v3 24/32] 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-v3-24-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=9ZN9eWqd8DvYUaw9pLNVjAxVwXL6RIt87Dm8RHf/cGI=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDh98UASFq/qr2wRO9iiqfsrP8x3h6o1lJ+ 1o3cqyxDdyJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c6VaD/9Wy3sddMsiT3vpvmSUPJ9h2WaBxHK8sLpP90OvAXifmmCUdHVkUvJepxaEWtHGmZCS5jF ckE73hvX8yipWcngP/wCj3PsrxEDNshJ9meHcN4CPp7oNJKLIgOJVSFJX2ahg3i6wmVG+JhnD7h 9twI7qPDT6R0abklPqvLzi2iqK76FIQlM25ZVgN5ESDmDFnKyhGSceFYgx9M0LM0Mi1QdxVTAkt XHl3nVFl+CqW3HqDneETI2THwHIJN2pyc4B1vL/REha9LmY3FNkmQTtkXnigmNRKRCzHGUDuPpr rvNthXDbCFZT1TNRQMjYWNdJv/JFqnuSfKfyiPQ6Df952Ig5QQDIvon0VL4OPx9CRjd5kp606iw tjccyjKgwFY3atXcsA3xH+YBjF8ecwd4jxGA8VsL+oIqruS+ZMExZf1mkfFQQrqMcVuSU6hKuCf af/Zg3VxttUmGSKpLDQZ2SeT7AQNGIJcKw7g9CZsP/Pvrys7slIeM2WPBYd/PQ8mgfZX2OUno3i VoFlUKl6L/3A7EVVDESUF+8XoodlvVG5D3hQ58kelHLiQm4XUceQ9MUKCWT5VPQGhpA7CdvIz8Y 21SpKlCG9sRXlR07vul9s8PhVyHABAgcxDnu7rt9J6eppYbjOFb7aFCWPxCMNmzUdGsEU14OPZQ d40755uhh/NnuwA== 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 d02f715feb62..529c95cf7fd3 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2688,7 +2688,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 @@ -2698,7 +2699,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 @@ -2709,7 +2711,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 May 2 09:40:02 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 DADDF154AD for ; Wed, 31 May 2023 14:16:55 +0000 (UTC) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3f601c57d8dso8799655e9.0 for ; Wed, 31 May 2023 07:16:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542615; x=1688134615; 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=5QFPITsENx/eoz/6pobnboWXG8zBgLu/ap7jQUpWeH8=; b=ewxvilg2o6q2e/KwmzkPOXqLbotxVbY6mUUZtO5qTYKLgEcWKR66k73TMs38BMeO8N 3uoTJD+3ijPlXTqo91oR8dW9Oi5TeWtXIC7vArXJhYZpO56YyoNHVGBeRSCs43gymRuQ TUrfvGBpyadZnR4dgz35g+bBrVh73rnn5q7cbWmonM/hYmJvJJoZE0oOqiYZUmh+jqzs hnF8MOAPjBk6qiZtc9VmdISxkGxd6cSTXOOhS6S5LuGqv6PwFra6a/Fg0VhSPxVhkjFE N91s9kSaxJDfOwc6mrsWCWbqWnV9diTAEXNLI7W0sF8YOwd3pni3Bt4Rc4uRiVFy/+F6 Pa1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542615; x=1688134615; 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=5QFPITsENx/eoz/6pobnboWXG8zBgLu/ap7jQUpWeH8=; b=L8rwKz9r+sgukVR7SnF69W9PuwUkzPvzMh1+u7wGJt0Q7alLYkm1R3bnXFSqlPw9Gg hZ7ifg/7Zf9kzIl19mq0lBaqB+K+yX9CFouguS431fNnvfCZ8ghPx1sqNGomKBRSearc QNm78B6EmfUMkOTPoKnLL7w5mYgA84IjNXqVWNfb74naH76IysC8RILJPhMEmlQG2cgr mrBkjABkRCGVncdd/iC9vDr9XaPFkckI/K6t+nXmkfj5+gWFT1vBaHi8QL/sBgQbO1uW Znnvb8AKbi80pvdoaIaIm+hZzHXCWlWNBKFv6wEM3L7OFr4X4NfnkpPBIt9fZRUQ3QkS vDew== X-Gm-Message-State: AC+VfDzUh+RRfuk1ie6BLRm6RhOTJYh0I17kHb6LqBZLELlXQlNKuy2i fEout2VGG8y0BytE1NRxXieEIg== X-Google-Smtp-Source: ACHHUZ6UnJ1JxTtEE5duEbnA55df3oTb7cQZKXAbIrLHUf3vybrdCrSrHQprchsdVKNL3GqUl2rPkQ== X-Received: by 2002:a05:600c:4744:b0:3f5:867:1aba with SMTP id w4-20020a05600c474400b003f508671abamr11875632wmo.15.1685542615437; Wed, 31 May 2023 07:16:55 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:55 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:45 +0200 Subject: [PATCH mptcp-net v3 25/32] 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-v3-25-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=3SVRVcRLC0aGl0j/LEEx0eEQeofMyc/Rs6WIN02uSHs=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDs18KdSJVSDBX2z9y/lYNyzzv52B8zP2fR 1xonCH6WfmJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c5RDEADUKNNuBF/2SFqbVTGHs10Z/opqzb2oZF0Xuu+NnZj5T86Znx7GDxCnIJRymCU3FJI6hiv LHwW7bckzi1DRGbIl5ezxrnITwC/JUgRwuTFYLd2wOLR03twAhQLaZD7XqOgBS/NrPQeXjYinUg kDwak6ML5Eri1zFpJipG8y/cdK/s83whl2A6mVU8c9/ARjeQxLLDQp5aMgDYElx7mMF2+0bN3UC gv3eSupgYutDivMAG1RuRk5vnAc9tmrWvWU1psoMEmugKxhwkc8eezorMsGl8ffdbaX98C8Frt/ mo4ZPYtuYMzQuSBq4NkVHSF3M20qzaIRy9lMMNiIibpQHV6tJEYBbU9HHwR8DHm+oK8ffqA2jQ1 rDLn+byjNK2SuUt0Heaev/zcdJ65oZriQCapsT+Gzipy9GSINsVkFAa8F+miOCGLClq5sMypd9I EDyWOGu3WGRk7LFa4YxwpcpXBQVkS3FOufUCWRs5RXf6PEYyIQGmauS8T0feQxWi61ERWOpxztK b5cnHfqiNSfx+NY+Jb9MEO3ppbNKsC3+51MPbESs7AJUjhBOc01JJyyqsUAkGgjrugbPx8r5NQY sAhXTR+9gjMnUzJAOr/PIb/nFUcatNaT07bAcJGjG2nOSyIi3aiWzQ77orXgZVetYbxOSa3QIgm YTTatI4HzDioG4A== 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 529c95cf7fd3..04464a73ac9d 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3107,7 +3107,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 @@ -3117,7 +3118,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 @@ -3127,7 +3129,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 @@ -3138,7 +3141,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 May 2 09:40:02 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 B778F154A5 for ; Wed, 31 May 2023 14:16:57 +0000 (UTC) Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-3f6d7abe9a4so44082495e9.2 for ; Wed, 31 May 2023 07:16:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542616; x=1688134616; 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=D3f7UDmmuoBaH9t0yOlkN9qHZafnxnE2RtXb6dMS1k0=; b=UgP3qzqa9lFUUfQDfe3ybldEDQJ2qQT86i57mfMMIyxZAlE7F+YMiiIhR5al2IH3gO +fpe46VhwDAeQ1cLGIGhstLyUlfVYquAHOWDhmooUCGk9n2LAOYGhrHL7z+2y1JqNhxn XYa/5oEZNHOeD72Ko0HzSGyRkouiRXTOVwnvPqzjdOdIOHgSFbj9va3BMPM8UOSFXkWa jOZO3NPkqGNCawNtp88EsEF2zESXZ8UupZ+nv5t8kB7kLQke6IXijCgON42kwr+q5gvC 01tmZ7PKX124V2jwwHb5HpndMTlQZaXC5+c1kLLx6Fyx1sALzlz54QHuXwxSg6FhOZam cmqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542616; x=1688134616; 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=D3f7UDmmuoBaH9t0yOlkN9qHZafnxnE2RtXb6dMS1k0=; b=JkWn0e8LmM4E37/d9o9ous4EKzUjEmJnk1cMuRvUdvdW5/gTzU2bURzZ1ntjgZRBeA olIoNEoGoNivmF8LxNHUZYEoamWsSkUljYeNp0XLh/DT4TAbqwR0ojFGb55U1j4xAbgu C3G3EFVxjQ5a6X+smX4m8pHfu7AA40HoVY0lE42XLwVplrJubaYIseUlVwqo82CMxN7r AO8qAbXvf0PgERLw0zcX/cJNISJUIKbB40vQCEFn3iYlnsXJPawI7zAmhObuK02E+vlf ID4wL+eSxm/2bHbAqwwLy5oWygNkzSY24SVNxx8p4jPS9U+OiU7x54EU6IJ/OIJeWL+3 XQdw== X-Gm-Message-State: AC+VfDwCeys43Y5EqG58z98+oe+9bNvZOKZwr+o3K737neZBwBs6piBQ lLOWTQJfuj0mvJCGTM2JOf3J/A== X-Google-Smtp-Source: ACHHUZ5yI123kA/irv573hLjsyiL09sGqiOEc0lHqA1RSMLRjO95/FUHAI2vFuzXVMsj54hMCAzu0A== X-Received: by 2002:a1c:cc05:0:b0:3f6:3e9:e2dd with SMTP id h5-20020a1ccc05000000b003f603e9e2ddmr4105954wmb.3.1685542616084; Wed, 31 May 2023 07:16:56 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:55 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:46 +0200 Subject: [PATCH mptcp-net v3 26/32] 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-v3-26-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=SIFAr20EwibwlqqPS+4DexfX7ft9PnoRMYbVkNDIedM=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bDFV1ICYzeZtSDmWvqxZ5wkgN8Fc23fSgXD JSlRf1tP+2JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWwwAKCRD2t4JPQmmg c0beD/9M36CYEGBXw+w0MYCS2eeQBvPG+ckJ/iRNcN2HdZfuQwxhUbSFl2lnbf9adYC5ED74pLZ d6Lg7OCfWxbQz2HTBF5jXjaQ1CIwotJWRd7oSq66sGR3vBIFcTt3d0QejLdpNK6lLVRFosuQO9s Ye8vBNB/Efl37QtWwecs+etGip+WN4mdqneOgXP+FDeFOFUKoVdW2tgqRry5dTXXM97JH8xcLlA yfnK6FVr6Y/haBenrgfN3LBqwRit0KnFpWIlTaPfoKcbPINSUgJ0a6ovxBWxFYaUoht1f9zHq42 0tHwNwyJC9vBhBbL9+UBqNn/penOwaFcEfC6YgMSItD8I08exQyJQgHvvV224rEWc3rGlyVsE23 qBvIA33ZBwhBd9XlyZ0nvuNSXD7uOUgs9zcOrzfDd2Td/Uvq++0gIa/OySqjOygR57uToYipiXP 301ShZJaXQ0rI52iQ/z8zXtSgOP+LAZhfY0t5f7SKyekY1BGKik4AZtbPgH3Vne0+OC/g3BZc6f NknA92H7+eT8Iz54b434tZHvbiiIIkh0iuUyxjsU+9287fJxAsMQ9S298KKHJDnoJpYK15tdWVn OvQJs7mIIrsNenZl7GfLC+xPogH7T580jqs+qSfOOfcJmOVevPC0p88moSS8z3QWSe0pdBa+gUA JgvxjBccusn3yCg== 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 04464a73ac9d..9c7b620a5c12 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 @@ -3200,7 +3200,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 @@ -3211,7 +3212,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 @@ -3222,7 +3224,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 @@ -3232,7 +3235,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 @@ -3242,7 +3246,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 @@ -3253,7 +3258,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 @@ -3265,7 +3271,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 @@ -3276,7 +3283,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 May 2 09:40:02 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 7C84C15495 for ; Wed, 31 May 2023 14:16:58 +0000 (UTC) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-3f60804faf4so43299785e9.3 for ; Wed, 31 May 2023 07:16:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542616; x=1688134616; 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=FL8W8z9o/ipYuFx+8LfLlRAHUbvdR6biAlqyuRduKrE=; b=mqQ5X8FM9H55C5acDkFX40vGJvGk97ah90KvKuEARxpw535u8D+10CgIx+unXxdHl1 BtY5r1//Xv0CRfdQ7HrLj+633FgX5uz2Xo2e5lKRsc+mbXEocLlsMzAL2JwHEj+O/nks tVK7jIXjtJcR1idfKeTKPfr9Au5/VU5QC3i6REvKxgTRNmhIbdAwy74HmhI9TvlhUSuR +Rz+soxRoxqtVRFcdNcWVzIqT5RRapkQNTQTb/gKazLHMH4sgLiFGAPEE4C4Yq5TpSnT vpHL9kZsuuxDT8lyWXz5AW+7wQeZHeqd5cJhrhLfQC/L0KSFTN9eACqWIbUkYsYDOjzz b73Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542616; x=1688134616; 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=FL8W8z9o/ipYuFx+8LfLlRAHUbvdR6biAlqyuRduKrE=; b=BlWEJujMufkVq7cffNZLgB+zOTe9GHKfkHnmkg3D9vxw2WQwXwQKEeEUv44prmCoXn u94eMXCsqSoSRoKK8EkNw+GsSdsHPMey0OzsCqTqiFPbvLydAnIN3rBhBDvaUVFTatq8 UhaGRYWqn9NPKLT1OAX/KoX/cGVUGZYkpnr6Yc8ed5YT4q6G+JqUmFqHgs8+KePQDC/e u+Smld6ObIvHl6iopY/kfjGHGcB1bGb/WgHMiIs2+StRxfvL0hk+nTDTDjkTSevpBdBh f21wKaKSiHDTWl+5Rokhvm1mjrmb1NpXmSV1ljJPhHqeZltDR1uVDxwH1lPV7SnvLSM0 RUpw== X-Gm-Message-State: AC+VfDxcNZv7WLUqfn9WDPZcxMxSOwqR+y+1ukpeolQfyrvymrce51a+ 3vrFKBgkUOtsUhREaxJkq40ls0UEwqrgRNEXP5uOE1XF X-Google-Smtp-Source: ACHHUZ4AEGN+wo5M6sIMp0mRCAGxAgFdOxR+IV2XNHs9Z339AfxFz9IEgsGfSk3kWNaoXmGkFtgi1A== X-Received: by 2002:a7b:c4d7:0:b0:3f5:ffe7:bf11 with SMTP id g23-20020a7bc4d7000000b003f5ffe7bf11mr4586760wmk.36.1685542616794; Wed, 31 May 2023 07:16:56 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:56 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:47 +0200 Subject: [PATCH mptcp-net v3 27/32] 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-v3-27-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=1uPa5TCKXv9ShFyUOEwMWeSkBp6bH1KV+L8Me7r22BY=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bEIasR/IG9jT8c652dGPQ8vw41wfn00Rj+W VoVebcMPLWJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWxAAKCRD2t4JPQmmg c0e5D/9ja0Mmy4isDRSeaax7nwHX/0785Ac3ZzTF5uo1Lgucb+ZkE1bAMoDAQyxmYqCSe89jvfP uWDzDJ3R1at1F0dxykCnDaZ8RkO0kWKEyFKrSj47mTBfa8vXTEf1Yo+tMHIo0R8GFRRGQvybLaK mwMSiC7VnR+xfOLxNL6mJJB2LO52N/3DLm3ifK9iyULSDEncqRcdgx+q0mmioI5TTE8/L6px7Bc pr1SvZjJ2MEmdjKu2k7eVjWhd/s6ZV3PsYS/MvhuuQwatB5qKsfY1M1jkMFegVN238/sIEGC7Y7 h/aEDp9Yr2H3AXnVEmzNdzhOOngUqcnOoy0eE+UNJwYc8VzPVS10012912NPmVzrL6Ni1yLWSw0 DQHR8bdVk0fg3RRw60ehqSMrgDxZulJOMU7nU3lkOEJy4t2RrxAK5K3gei1as1khDUxK8bR9l+V Uzdy796ac1lrqzG/t/x6+UqfD/d+GdxHsG5XEnpaqNeEglprT6GfFkuzEzqmyjVh3egWLjI8vyz 4a5XQEN1dVXqaBXow+Ob5MT/mE6wm8FfBptbp5iYGfb66CDcBKypGIGbryqidLYqerAKu/EQ6ch bj2+JllhXKqazfe5593RHU7ivPLwrw1v/piMhX1vGClj4ocSVRbLAmmAoJOa6wSN2mvJyHL8VGX BrXmfLO4e1gOoyA== 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 9c7b620a5c12..0ad8cce088d8 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 May 2 09:40:02 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 7FB9116405 for ; Wed, 31 May 2023 14:16:58 +0000 (UTC) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f606a80d34so44192075e9.0 for ; Wed, 31 May 2023 07:16:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542618; x=1688134618; 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=nkliXrGlEkbd2nGEs0WX0uf3NskNxDlMByWx5UCB1xI=; b=zYy/NsGFRsrkc+IG8ZETLrtf8sJwyIqJjMRdDjB4noqXDdnfRfFfiOipHqG8XbOb4s VUq2D/9AgQjoZ53NHO7J714dEhexE1wS8Gm25RlOT5Qfe2e3RVC5vgpWpPyGvRNv3DhN BLLua1gnZuLiJAedSyC+3DybX8MTqFmh40FxRE++g2/CNikzYG5r7WcrUm9OywhY/XXr ejl1xeVd/+uFSytsi8YitjL+epNiMcA8Ig7bYlxQ7uWKbrc558dj5DJ9t9qYQ4JkIj+g EkeJ7Tpdxk8LAPxb+G9zW982UqzK0yn2TLx6pexb274D+vSlrM0zjlhafY14AaKgoaFb Hw1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542618; x=1688134618; 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=nkliXrGlEkbd2nGEs0WX0uf3NskNxDlMByWx5UCB1xI=; b=Ph7xgQu3X/xfCoSeCz8Ay6FyhRlAHmv5rFPUAEb6/dyhMEJA9RAE+ITFYy51mvQyvn ng6IOwgWM0j0mHK5JHvq8p9niRZJidBuOgdP+YiKycKx4sNvBfAwzeZ/P9dH/wrnD2xo Y1l6SvLHp54YkDsFHlkyafGXn6Bc83ypTO01Re7cQCE2BzsNZgS/SqtzMDh0wSXq94Fh QxH/hDCUHh3AHDyXpkDSfsXlreAcKNcgVHdFKS+AWhWnloMEyT+2GOam5Yg+wUAX89rD g+EOIo9e2+KNrxmNAhfe2WbaBFp/3RgTIR6p1N3DM4OaQrIXUO4gHYzKCLrmVm4egsfJ cJKw== X-Gm-Message-State: AC+VfDy8TLaY1GgyBE8xi7/Tto+2hSOnIBZtgSo9RjwbfobyUM0yAf2H NJua/yYAPy0Orzkx0Cgz7b4qIhPiWYtov3++OCvrERZZ X-Google-Smtp-Source: ACHHUZ74yhbQDmv/od6TPW97n79akbpcc1wAnR8xyiqHKG4C0uASfpRD3hOf92P9RpZDsyXuCD85Ug== X-Received: by 2002:a7b:c408:0:b0:3f6:536:a4b2 with SMTP id k8-20020a7bc408000000b003f60536a4b2mr3883707wmi.27.1685542617995; Wed, 31 May 2023 07:16:57 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:57 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:48 +0200 Subject: [PATCH mptcp-net v3 28/32] 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-v3-28-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=60UlleYz4v0Cs/djZJRZxyieRd3RMczJUatQ4PGz/pM=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bErluC+9+nZtf/1BFXo9Re7sVyX9JHvachp Y2IyJBsmaGJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWxAAKCRD2t4JPQmmg c4ovEACL3kVR4wOG0szF674MxEUxKxGoy9oACwTL+tMBlot1RY7FiECmLlWKdKKFRfWVaQRG3UZ utqyOp7YPQ43HAXw9/eyjklMk0ls9lV66J/emzADA0UUKtLEoWGkVaxAYQhD+H++ybWj6eymnTF S7HG3I8o/NG6JEVMUmc5lCjx6oGzQdxzAqddfcIQKWMZK0lhXdk2oXCRzV3LnZ7+FI6NtQcdIlW WYw8tKia9e7EYrfGOeEoUpCJ5sOnvvCNLiReECPPtkMqO0e+892qorLKgmflSuV5jQfRbJIcVGy hKUEmfUhi6UIB2ZwHs7x/GImbXvc78gFJhU+drzvdvkFytT0uDU6qMOp3c0gwip9iHwZ7Al+/ra SkPpl3y/kvCei4tStzWhTI+w4fQrDVlITbQhJ7VxWrqIhlSyY0Afr0yeAugdG8Z643qkhZFBDFt W3jYhP2Eltk0vtOF+XtNXpp70bm2AhMy+BOQpCKXlYpZ9Ci74WijDk3gtJWen0dKT6v9Y7mccKA s8HZWXaGSNqyYOiQ4PmfpuryD19lAzNczFwUlNoqxP2cg6yGDgnx+FID609L2lY13g1NuS9xlTN Rsg4of1xBQkeXetwgt3xtEIf0LgCwMpcM23oVoh5NFvOxYRM7gLS0ym1AELJ9UPBVO1gN4hUEoh GnKM+fJQ1DqWtPA== 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 0ad8cce088d8..82281d59ac10 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2722,14 +2722,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 @@ -2737,14 +2739,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 May 2 09:40:02 2024 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.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 744BD15495 for ; Wed, 31 May 2023 14:17:00 +0000 (UTC) Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-30ae5f2ac94so4252450f8f.1 for ; Wed, 31 May 2023 07:17:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542618; x=1688134618; 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=FosYugMc1vHCoZRWt/IlbtAVQADqr7cjqn4iBHt+GUs=; b=TQD8NpRGa+mm27D6kV84P0jhXrf5jUurB40TVU5QdfFHaVoCeAB0xaYRgWl7y4cxnq MTILLpx4J4FZfWyLDhu36Ill3QiYL7YmTFI1/Of+mczqTvnkeYP1j92mK+PE7qiMhcPG +TWHWLP1C8EdXaXOOXEk4aStunLhkXCtoH3dPb5JaX1ehN+R0UgyPTegLF1/7AMkO4CG L3UxTrufyav0heOVCO9r2q/8KI3CtW/lmVWmkG2tWhXcc0Rh2y1vECAy8csplZjIyVmD D/kgk1r4/ZKrEvkK/Rx1bl2MUWexQpPMNndq6s0Akczxnbd9tGmGnAK8dOEbn81LpFyn cM0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542618; x=1688134618; 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=FosYugMc1vHCoZRWt/IlbtAVQADqr7cjqn4iBHt+GUs=; b=S28u23XK2u/KUsNyurKPHNT0b+6xa6wSmMdISiGyiYxpZ/oJvq6fdyJyN9r764ov+7 bJoyI7vaZyVQ6yChs3zq7o9PD9/qlfSObOfA50v/Gn+EVwP731h6E37ftChUnNfweOzh 8ZXE9LW/amqPXaOw4u1E3FqoBTd2laygXEp00d69sFNsFRGq0/Fu/lp5c3svltuqvr+3 hDylHVAksDdRWiQMIFVS6acIYRuXWWONVEaQW/22JLfN5gBmJNNJH25aimOjTRC23UTZ mx+iwBUTtLL2c8mX0vxoq35bYy2BnmEje5cTQ0GBR1YfJi0UDUyuUxnQMbfd/Uy0/cRV 344g== X-Gm-Message-State: AC+VfDy3PFCBx051or1nMcXeNfEvChG4lQbcm58MNpiDbLY7IVhBm/oH rRigpvoNBTZGSXAC8YtNJkVBPw== X-Google-Smtp-Source: ACHHUZ6MqlBbxPUg3wR+b7gTMYzphb0OFBH3ZorZXXjony8VgP41iHHPXcAYMewgZaaUnPGy7IcaCA== X-Received: by 2002:a5d:510b:0:b0:30a:e589:689a with SMTP id s11-20020a5d510b000000b0030ae589689amr4307853wrt.18.1685542618777; Wed, 31 May 2023 07:16:58 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:58 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:49 +0200 Subject: [PATCH mptcp-net v3 29/32] 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-v3-29-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=SRpEfaXAZT5at9Jost+GuTwzhMqHEhirGcMcsnW5Uvc=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bEENSoGFK4m4SGkP4UD9SVUMt+5ls2Y4Hsd 3jp8YG0aTqJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWxAAKCRD2t4JPQmmg c98KD/oCGLdPJfSHxa6WmlN4528PE87ylnWxIyt4xWjUZQ2sOli1dDdPGKUWFMUOBQfFG49/7qg oEi8+Ad9rmkJ0yo7C8BuXF85JD7+ko1raQzScqdDGWmmL8dg0PDBAsfkJMZSdB8VGvvf+oxvcsE YrQSjNSN5JpnE2vBvFu9gME/pL4Yh0PksHJsRLmUKjkCftZhXMH4qOScvAqGWqvvmtS90/k42ys kEKmwV6/CEoDH+Do82E+YY9VSg2kEln9TeYtJpV8uQ1zEY/gZ8AvnV/QOsofkUcD2dWFJXOVOl9 dkfZc5i67u9FyMsz+b7tkozStieTrGcwMz+jWkqF6A46jLTsjSsy41gisVDL2fRRCJXGE69GZCp 7hMp07SkU2/uH3Rm8+SX7XuZbsmG4sYRCH3iYGhveLh+XZdX9v1xkwk+oVVcz6ykCdYUs2sszWZ R/eGdHqxZRUiixYhjUQT/i7Yr+9JwZAJKMSZU+7eq9Ca/5YMXni9a4qNVM32MhTwJCsgeaEfskf boj1RiF4R0iCbFwjyD2egrIY0ByQOAxFZWe6te+PL5AIkUWDkn8jlvbFOQrzMmyaQ2FZPqfvSp6 eZIuIEzrYF6rTU814tCKsq3mNo6ZZlP3g48bvRi10g3p51QK0q4n0w2y0AZrK9eLFZ6QVJSyWWS Ry6Sh3AdGbqCRPw== 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 82281d59ac10..9d6c4c1ecff1 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2783,6 +2783,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 May 2 09:40:02 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 1A6B5154AC for ; Wed, 31 May 2023 14:17:01 +0000 (UTC) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f6dfc4e01fso60169315e9.0 for ; Wed, 31 May 2023 07:17:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542619; x=1688134619; 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=BzOqcrpp1aBwEdVLatY2wRCqPf2hNfs2AEQzf9ECYWE=; b=UuwKxaKY4ZxxrjNdPGKduu2Y609ParjA0TMpgk3I7emPnJk1Tf9ds5K/ieDJdFOkUE NnSUoZ/fHKodZXOGExthp7G4iMPbOMMDcclY1rrK7IQNbWD/eKmQzb3UhuqhYb9uB3zJ 3AJeM8wchWO2zPLMm9IkTcShSPTvoRXm8r1ZMCmhizyLsARxzRe2oifV2FI8/UGvES51 l/A/Z/T5Z+6soBUG2kM/Fwitman4632ovwWmXhhKzE+I3edWduRZ/cPXjQEUYEOONSQz dry/ds1jM5MUvuYSIaICia2e7iPmbGB/piW5OGB2kOKpUJZWoMhZUa2NW2ytb+zk3v61 v+Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542619; x=1688134619; 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=BzOqcrpp1aBwEdVLatY2wRCqPf2hNfs2AEQzf9ECYWE=; b=dFa4yCVltEZwDiTieOQr19aAaobtpHkFs3y2ja/Kyu0DUUeW+DOVL9z9/HNigMHfQU EofALZXWNMv3KUu/VHSBx+Piuu0jWrX21AweJ7XRO1Q2t1TwwL9maxIsCNhDz7p7JNLj xG/t7sujzCEIyhFKTKgasPhlDn6dIggUFb9+eLI4j2+1Q/8KV+dv0bS03G8iKPvdk/8C DMz9wxbz5G+DyF8rStV4gTXdfA9umeqh1VLoX4PHJjzCB8l4yDS40VJ0oCauhE4EAW1k jF2S1vGEq42ILo9ihrj8sVyibhVP1M5nKCkV0Zz6p0uQ22vvVnTXfZNo1pzvLfMQAqPN bTTQ== X-Gm-Message-State: AC+VfDwd+a1GS5xvVxAJ5dWbYjVZNSJpUxDq4b03hoOO1U0FJl0w2unD hhXJ3tL2FvH4jS+G8uITj+xyzg== X-Google-Smtp-Source: ACHHUZ5f/SFg4NHoy3oHdd/sxh6fAwVaUXPddpdPuEDGcGJx82pCcV9+199g29FB41DzMS/a5TP6aA== X-Received: by 2002:a7b:c5c1:0:b0:3f6:2ae:230e with SMTP id n1-20020a7bc5c1000000b003f602ae230emr5249953wmk.3.1685542619463; Wed, 31 May 2023 07:16:59 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:59 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:50 +0200 Subject: [PATCH mptcp-net v3 30/32] selftests: mptcp: join: uniform listener 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-v3-30-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3211; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=YeEsUgrX8hLox1KFJNTucCReLP+W1L9fRF0FBuTfe0Q=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bELCDAB5kZtMmoGr2VSKMKmREONwG3TCXoN M5Dc7tqZjCJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWxAAKCRD2t4JPQmmg c5n1EAC7W5C1wphqEDJR7HjFGfA7ieVUIH+oS/lzD5JQEkKI66j5AsZ0195AOXW0xzYhdsL43wf dI/W2Gq3uyArVzc2dNdV2KRmuybZEDVio9KBpLwk7Zi36cd7caR5bD53gszsdlMHgj15dlID46V vU5qcGK/oKemubAZq2bZneeTbrzJB0wFqRGsnz7BX4sUuYvwdjzii5T5zUIh1XSUodVvz/DWiek aEeOHigIFiTpVrKgHWywe4OkipI82cSPM2Yk1+Njjyo4Cr+hBOnWTbl+22pgSmBPCi98lgJz/p+ ON8Ig4vJufw7l4tlXbeLzgxS2cEPiaceAKgIAfCB/OmioJ3iULE0rp0M9k4YNgSInwP5PQOUJ72 IHFEwdi4y6MMd5rP73fNEjjKhCyfMfmDM2Naxmu+Dk0bhCGe1vyvllF6TGLz0REWumnYK4i94zq bKN7lWaJVTXT2oxcPO7jxTMXWoR3WwEtRPJYDyDYxaXNqdJtwOIzCY9jKfMXXAZYsCRe07sCq9i Ku5CTbZvxRYCnXtr2z7QD4MUNV6GOld0qM3G6mWe4QD0Qwy+F0g/ECUdjvTCe0r3NjvrHgnKdnU BPGMTbfDRp2BH7wTumOEhik7JfuB8vQwPWSTB6DNdOMAmrdYt/pK1+PwEGLnMed5kVZGhlbH8I/ oEALsuOGh9oa+bw== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 The alignment was different from the other tests because tabs were used instead of spaces. While at it, also use 'echo' instead of 'printf' to print the result to keep the same style as done in the other sub-tests. And, even if it should be better with, also remove 'stdbuf' and sed's '--unbuffered' option because they are not used in the other subtests and they are not available when using a minimal environment with busybox. 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 --- v3: - new patch, initially to fix the alignment but while at it --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 30 ++++++++++++---------= ---- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 9d6c4c1ecff1..26721ed7b797 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2774,43 +2774,41 @@ verify_listener_events() local family local saddr local sport + local name =20 if [ $e_type =3D $LISTENER_CREATED ]; then - stdbuf -o0 -e0 printf "\t\t\t\t\t CREATE_LISTENER %s:%s"\ - $e_saddr $e_sport + name=3D"LISTENER_CREATED" elif [ $e_type =3D $LISTENER_CLOSED ]; then - stdbuf -o0 -e0 printf "\t\t\t\t\t CLOSE_LISTENER %s:%s "\ - $e_saddr $e_sport + name=3D"LISTENER_CLOSED" + else + name=3D"$e_type" fi =20 + printf "%-${nr_blank}s %s %s:%s " " " "$name" "$e_saddr" "$e_sport" + if ! mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then printf "[skip]: event not supported\n" return fi =20 - type=3D$(grep "type:$e_type," $evt | - sed --unbuffered -n 's/.*\(type:\)\([[:digit:]]*\).*$/\2/p;q') - family=3D$(grep "type:$e_type," $evt | - sed --unbuffered -n 's/.*\(family:\)\([[:digit:]]*\).*$/\2/p;q') - sport=3D$(grep "type:$e_type," $evt | - sed --unbuffered -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') + type=3D$(grep "type:$e_type," $evt | sed -n 's/.*\(type:\)\([[:digit:]]*\= ).*$/\2/p;q') + family=3D$(grep "type:$e_type," $evt | sed -n 's/.*\(family:\)\([[:digit:= ]]*\).*$/\2/p;q') + sport=3D$(grep "type:$e_type," $evt | sed -n 's/.*\(sport:\)\([[:digit:]]= *\).*$/\2/p;q') if [ $family ] && [ $family =3D $AF_INET6 ]; then - saddr=3D$(grep "type:$e_type," $evt | - sed --unbuffered -n 's/.*\(saddr6:\)\([0-9a-f:.]*\).*$/\2/p;q') + saddr=3D$(grep "type:$e_type," $evt | sed -n 's/.*\(saddr6:\)\([0-9a-f:.= ]*\).*$/\2/p;q') else - saddr=3D$(grep "type:$e_type," $evt | - sed --unbuffered -n 's/.*\(saddr4:\)\([0-9.]*\).*$/\2/p;q') + saddr=3D$(grep "type:$e_type," $evt | sed -n 's/.*\(saddr4:\)\([0-9.]*\)= .*$/\2/p;q') fi =20 if [ $type ] && [ $type =3D $e_type ] && [ $family ] && [ $family =3D $e_family ] && [ $saddr ] && [ $saddr =3D $e_saddr ] && [ $sport ] && [ $sport =3D $e_sport ]; then - stdbuf -o0 -e0 printf "[ ok ]\n" + echo "[ ok ]" return 0 fi fail_test - stdbuf -o0 -e0 printf "[fail]\n" + echo "[fail]" } =20 add_addr_ports_tests() --=20 2.39.2 From nobody Thu May 2 09:40:02 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 AD09616405 for ; Wed, 31 May 2023 14:17:00 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-3f6a6b9c079so44040995e9.1 for ; Wed, 31 May 2023 07:17:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542620; x=1688134620; 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=k2PWnAIyHsMeh+ChzPcXB68Xq0rUI72tzvmqD5rZYmc=; b=vvYP3YbIvo5S3onPZUVqbuc20dXnSxQXXqZCk6BIta9Q0wRIGP23PzX9oAiPt83szE TqN3l36pxrCCcNhE3/B3tImELgOGds+kgJCScUiCcnTgBovsLuZczEg6kC3K0IjRuXt6 5Kkn8ELA1EkKbpC/mjHTVlPHyZRZG6AHmabIQF4wLeuuv/axGKcHAO+Pf53XfrXdPU3W t94j3LZSrqZSktSteN68CCUsrKs89fBPSzoYUZc+tCnW8sJp8i4966q8h0RKy7k48WAa U1HznrcpWRvW22bSyx9ml73nn3qvwLopMtjyNHL80ussJfOWKef1HjPe5jr6/SxJDsQv vZWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542620; x=1688134620; 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=k2PWnAIyHsMeh+ChzPcXB68Xq0rUI72tzvmqD5rZYmc=; b=ltpcZvwTbbhOui+GB0Iju3SiVQ6Mvxm0uqQZjX82YcrDbV5PbhB6I+/youZEadr2jW b8CrrlC86U0MEhizTzMk4VmSOZ25HpIKd1oWJYyNagwFLbXvBUFyhgBOEyRqhc1YBGGr xVNL6hOTonEqOeQig7YtF8aNdTqYmY3swbxSdzyeM2tZ9jIPCxZbLJVLYqCoiqipLlGm OI42o18sNNQZXfMXtD2b5Ih9p28Kvu0qjVpQlL4dG6swFsOgjFrfa4R6dn+YeAlmwxZx Na92bLvxyI9n5L4VvBWmD+IRMSTCSnfjujjQc4QQXQ4iUALrlJg3Uq56t8/FJeklsGCb nEng== X-Gm-Message-State: AC+VfDzlTTQuyWVmacNOBJMki0luKcbn+a4q+3J/34/WBnFKvmc0ehT/ FL2Ch0yZBEcEASLrjbA6YiExew== X-Google-Smtp-Source: ACHHUZ7ERgysvzfrcD6qLIwk5aUhuxqgdAP3AE+kZ2ziYAX21E3TC/kiEWmuYVASlXiasDl1qeSpwQ== X-Received: by 2002:a7b:c407:0:b0:3f6:1063:e4fc with SMTP id k7-20020a7bc407000000b003f61063e4fcmr3977203wmi.40.1685542620157; Wed, 31 May 2023 07:17:00 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.16.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:16:59 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:51 +0200 Subject: [PATCH mptcp-net v3 31/32] 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-v3-31-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , 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=QTGaNrAHWHang0LfRbw2N0hG9ZY7rFkfMzpAgTQlCqw=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bEjT+jcBd4ihPD0yOPEw6+o1GDVyqnYeNNx X3EWOEnl0uJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWxAAKCRD2t4JPQmmg c7E9D/9xS9pLR6e7cgR8k2/PvQeBOb97LUPP0KXEyjI4rOw7WDpYqo+EsOl3Vnr45o7HIR9fEfj SdJyPB7+VUGqLrziPICDg7qzpIkTB+Af0xet47yvlySjEmFDXUMpHe+HYKs7fiD8w5wzvrn/idc MqIa7AM8wPdNJ1cgmvbgGA2pNTIAchNvjNJdj0CxeW3f/TFY8LbQ69tPtwqhU+3wSUQJvlMBWgC VviGi9ALsezi8c671C2aR/qaoeqOP5c25dksgHzi2i8nUicR3BlJclKb+IAF4/WjYHyNReMX5Hk d5jozDqcnNir3OP/dwU8RyMuQucN9b3AOioWzcpyVjBtWbbG8nGEd+koDYDfDYT25CoHYKVoxFu 8+8WuY/r2wks4DVCIizTxR4jZ5XEfUylXljbsrG4TOC4km/tDgAkiYyirm62Fbp8CpgehH/FaoP hB9gOf/7FnloyfGdO1PzAo9SyJFmagd5Lb7WrG88S41/JooQz5rR0vrXMoWM0eMbYzbnD4mKVlj 0i4snCP1ERpJrx/FfVZdWviQBz//JqRspA5PKdw63ieSdgL2l0tRHna+3rpHZv2y/1qC0MXZxqt buHR/jLW5PXPRhUarj2fEQFSDU38ydAr7Xf7pUNbjwlzA8vDUdWqgm7Pgzrnuw9KrfBSQDP7oj8 kFuxFFgufz1qLSA== 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 26721ed7b797..2652640be323 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2646,7 +2646,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 @@ -2655,7 +2656,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 @@ -2664,7 +2666,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 @@ -2675,7 +2678,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 From nobody Thu May 2 09:40:02 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 9E11315495 for ; Wed, 31 May 2023 14:17:02 +0000 (UTC) Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f68fc6b479so59938215e9.2 for ; Wed, 31 May 2023 07:17:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares.net; s=google; t=1685542621; x=1688134621; 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=3GTuUi9gxRLsh8kswWgOW9PlaqkRS5+59fPDJtvK0qU=; b=OlvNJc3hPKuTBzDvnX3O6lDm/1VenlEdz9kIY43t2JjboeIGmtvSzJ0TMUhcMtkujS GRxklB1c6NfcLxxyAAoBCK3UMSfoXU3rlAOSwp9wGnZy/TlRDnFyp6ES0yd13M/i/kmO 7HTTjUHHjM8AoFrmBWnAYDiWmg1sABhEhFlbbQiKtAwKj5tdjGKyHUOPPZpVIBcNPmX0 E6Tsts8eymvsb8F9D4SZ0oX25Bu88RMpmtbmvesfy733aQGXu2ql5WTKPU84gBCpxFas LHtBVx1t3Mrn5/yOUYdPGShO0QzJOyqHOUCN+fyXj79qeqfuxYnsqDgety8ZO0e23bnL s7ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685542621; x=1688134621; 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=3GTuUi9gxRLsh8kswWgOW9PlaqkRS5+59fPDJtvK0qU=; b=QsjmGJ0j2NiYvQmvDe5oAcHnMREDB5n4rLh3REwLjIUNrMMluFtrP/9HyU3KGIs3vI kttHOzKUWSGl/p7+iGSZqEfmRjOrEWUN7YxEouBlmSssbaEeCbRmb+ClFi8FONpYr9XC mzFVCqU+d2WZiLzurXA+6bhFaWjZ8UJ1IF0b62iydgN5b4H5bVcGe6uZUCoqRvKDD860 G7AtS4q6qa+MA7/8xqySDamlEKfF1a5j0nPkcksT3EralCmCuZ1laGjWzLECQHN+BYRa X4/Cwjloi7Gq/jtm7z+kkL7Caje6QuJDWmyqxYoRqOZrzCtlcwHKD3jxYevYDjwSZ6+E 65LQ== X-Gm-Message-State: AC+VfDyKmXM5IJcix5PvAne9KZjjomYI3tftXiefnRYPd8zfXkaYy+qV 0X4L+VawEy8317Qv1HU3xa8LxU4S9UjG0my2c53Aj/5+ X-Google-Smtp-Source: ACHHUZ4ADGN8xIwtJeZP9Du/huVvJ90Dc1n86HejLGussR4hPZLRoN3U607u9nxgpdAAXvg6fxR8KQ== X-Received: by 2002:a05:600c:2283:b0:3f6:1317:ca71 with SMTP id 3-20020a05600c228300b003f61317ca71mr4259681wmf.14.1685542620905; Wed, 31 May 2023 07:17:00 -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 bg22-20020a05600c3c9600b003f4283f5c1bsm4242215wmb.2.2023.05.31.07.17.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 07:17:00 -0700 (PDT) From: Matthieu Baerts Date: Wed, 31 May 2023 16:16:52 +0200 Subject: [PATCH mptcp-net v3 32/32] Squash to "selftests: mptcp: add MPTCP_FULL_INFO testcase" 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-v3-32-a1f05258292b@tessares.net> References: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> In-Reply-To: <20230406-mptcp-issue-368-selftests-old-kernels-v3-0-a1f05258292b@tessares.net> To: mptcp@lists.linux.dev Cc: Paolo Abeni , Matthieu Baerts X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1666; i=matthieu.baerts@tessares.net; h=from:subject:message-id; bh=ziktV6RHZdI6610ED5mMHdiYrmlClKYN622Wg6NS3Y0=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBkd1bEZN+BUesbfqmbSduBjn1P2B5NCTvimJ0Tw DBmqikTb8mJAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZHdWxAAKCRD2t4JPQmmg cw+jD/90FNy45uyS1z/v+xhgWZw4J+KYXU/a0ca9RaiMeYvdN7xb6A43w9tlwxfbscsmVqngJKv vvlDYY/Ko8HPJxEUarYK2edo9Tl+E8vPS5rHkSVdCQD5Ro5oq/T428+ilPpV41O/0ONiUrQni2I OftOd3TKiZc9q2YV7CMDtHLEQEqb/MyrxebWe0rYHE/ogT1DuLxHyqytZcDMh6EfdItKFVv0QFn JN1OaVHbJs/rRroyFZim/m++fKem2G9jMPT5drJmwHeZwQHUfMd4boZuwdIT17qmRqIdtaSjG5B 7uNaq789iHv2s1CC4rtpxOmb8g46vkR9rywd42aSO2pygZOtzDSeqdjEYEApOZiYC5tW27y7yhP /Wuo+2LZG4i4oc5z6U2SHqTTJn5bp0rjo+enQeYTdgUz0lFyj9GBlCP8TF3Ve9Emd9ZOMCUu/mn tHspx6dp5XMAngVr3i0OiCgnvKJmbV+Uo/V8SBLQ6YwGfhc17eDuBt5Bo3s3yI6jsRWQFkhmTKk Yt+mv6PivmDzIJFB1yofVv1OvsR4VwEEy8S5eVGo4FV82ydiSNlaSMQVcu2EvMjWr8JeST+auek oFVGjZYXHHw16fygqicsBFuxGLaYtKtcR9cEMDRgIaTTeB88kLADcOCNN0NsqfuXgpgHsfphbZy 3ldPp9WSyXaYXWg== X-Developer-Key: i=matthieu.baerts@tessares.net; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Relax the expected returned sizes from a getsockopt(MPTCP_FULL_INFO): the sizes should be positive and the user one should be the min between the one given by the userspace and the one from the kernelspace. By doing that, we support new fields added on the userspace or the kernelspace sides. Signed-off-by: Matthieu Baerts --- v3: - new patch (the mentioned patch has been sent and applied while the v2 was still in review) --- tools/testing/selftests/net/mptcp/mptcp_sockopt.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c b/tools/test= ing/selftests/net/mptcp/mptcp_sockopt.c index de897f77e174..5994a078a65d 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.c +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.c @@ -519,10 +519,12 @@ static void do_getsockopt_mptcp_full_info(struct so_s= tate *s, int fd) } =20 assert(olen <=3D data_size); - assert(mfi.size_tcpinfo_user =3D=3D mfi.size_tcpinfo_kernel); - assert(mfi.size_tcpinfo_user =3D=3D sizeof(struct tcp_info)); - assert(mfi.size_sfinfo_user =3D=3D mfi.size_sfinfo_kernel); - assert(mfi.size_sfinfo_user =3D=3D sizeof(struct mptcp_subflow_info)); + assert(mfi.size_tcpinfo_kernel > 0); + assert(mfi.size_tcpinfo_user =3D=3D + MIN(mfi.size_tcpinfo_kernel, sizeof(struct tcp_info))); + assert(mfi.size_sfinfo_kernel > 0); + assert(mfi.size_sfinfo_user =3D=3D + MIN(mfi.size_sfinfo_kernel, sizeof(struct mptcp_subflow_info))); assert(mfi.num_subflows =3D=3D 1); =20 /* Tolerate future extension to mptcp_info struct and running newer --=20 2.39.2