From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id BF33E8015B for ; Tue, 22 Sep 2026 15:02:15 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 68MF0wr6019489; Tue, 22 Sep 2026 18:00:59 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68MF0wr6019489 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="d7aTgq1b" Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 68MF0pb4019460 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 22 Sep 2026 18:00:51 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68MF0pb4019460 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-49e6c17ec1dso54947855e9.2 for ; Tue, 22 Sep 2026 08:00:51 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBxd4LcrfEnPHZk379J5jlQ6HDsA01/rHWkrGbAx3Y31u3LXxBizXMYKLKcrOB7go2GicBv+4g==@openvz.org X-Gm-Message-State: AFuF++miHv6inaCMWiERe5mxqniE+KGHIgQmshyh2ZsTa6zS6bew7Q1K WYhw6bFi88p9c8tDP3hviT/ykfbYHCfJ+CELTPFPe4PutypRfF4/s1CmInkvgVDT8K1dOFD/3AD CDBYiQjNVyuvnPEMQyQnsPZHGnx3BXRvp9ZILv/odm/Q4oQiHXftoRQ== X-Gm-Gg: AYBFou1chSrS6Rx8OINIVpU4sZffWBslY3JwxUtxtAOi8HGpQaH3rLvOiU5j0w+TF6s NECvWhP9QQYfOwv8QGdtVxYOvrIa+YG5pK+HSCJetOIbk9PjEyxh4EcErlv8WD5Vz2T9gwUfar0 diAI6DsJ+fNAENHerM1DjQqXvzBWLHVTN9VEhSwpedeyo6yeoESwN8QA0WMT9fc5Y/2vx50ngqH 8rl/wbRzrVM4ANujhRiYuVmxAsDKZWz6ZpPFZ7pwNv5Ybnr0zKXb4PkP3RmhlZjT9pFX+zaf/To a/3Nsq0xUkqepZTZUnK8MrtEuwRiCWhzu8RU0RQ4+wYKw2ExhuvqblTACtTdokKho7VT80yE9WN fRIiwPU6UI8tLcLNfFQ== X-Received: by 2002:a05:600c:3492:b0:49c:cee0:e7c1 with SMTP id 5b1f17b1804b1-49fc572f645mr180498075e9.16.1790089251271; Tue, 22 Sep 2026 08:00:51 -0700 (PDT) X-Received: by 2002:a05:600c:3492:b0:49c:cee0:e7c1 with SMTP id 5b1f17b1804b1-49fc572f645mr180497265e9.16.1790089250454; Tue, 22 Sep 2026 08:00:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1790089250; cv=none; d=google.com; s=arc-20260327; b=ixcuzYqUOMSMjOlk3VgAEa+z15P2Y69IrMlWeWQnRStnuFUFnxBR+fHVjkKb9kq8Sv TeJDHv5FsLrE+4QDBBeboi9b/PoZSU60zf3YTN3K2eosbI9eta7xeb3Bz+kAQZEN2WYs 899AHaYjWns86XqGer/qipeac3ldldSmxCzQlRL+aGyAAL+9eqx3Oeb9EmyCZjL1RH60 NxDfqMBUmvwh993PI7uyk55sYe8vxl6cZWoq9pZIhZjSmPnbSvqFEmixslxCMwcCXORV tBTBfmzxlimbovEK01VbPw/x8oTLVFeITZBjCclaKQab3/9C3ai2Cq7IFDd67i/dJ2oq sR7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=H612pW+gMSO81i5Kce+EA0wAay4CGPSW06c/QkexrWU=; fh=RDs/3FkPwJ7DtDY3v0qOo3CaTMcY6h5syx0Vq9PC0Z0=; b=HsCI76nATIm5wFxDzxoAu8NFiN2emOhO97ncyYxkT3jRiMSJ09U6GIJYxFIjwuacaH 2vcXx7yLrBcMfbzOQh86twbsetd7zquxow1WxhvvYqRDBTYOtcxt9wZaf/qDctHGpTK2 KbOmP6/7FRFkXc3cl1xB5NNbIUmZdnVtAC/Y4V4auA8TUio5thklPI6uIt7fkTxNnSne Ujdufawx06maY82vC9LnsUe13brSdGn17QdfFr5yBPYZLhPVu1rWyfR91Fghjujpb+Gz 8dpUSeoyBSDLh2Er+rEcVU4U94Hpj1ZLhgHX+MwkaU619tsY9SAIvyrg897XKWJbpdlf xeZA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=d7aTgq1b; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id 5b1f17b1804b1-49fddfc909bsi352785e9.23.2026.09.22.08.00.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 08:00:50 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=d7aTgq1b; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Content-Type:MIME-Version:Subject:Date :From; bh=H612pW+gMSO81i5Kce+EA0wAay4CGPSW06c/QkexrWU=; b=d7aTgq1btOK52U39v1i aMiMC/8W9IAnG0+INHGu99eN2JlE2BFeTvYyQEYGEhSecjdRwQJxjyqn2nYvbqwXmZJBvGAnoXrzJ P5sYViGr/fxlJlvBVXj3Ql+3qnH0hFhFsmweqLuaXmtgvcbmPLsThBVmnI93ORwNu+Fsh/T4fL3YP 46Nop6A7N1tsqrYBj3CBmYE5zGFnhKpvZKIPh852P2hhZuF+1uvYwEzDc9q7Td4iTvd8hsM5vcXR4 Qysn4u1nETLSUlKwN9cf3lbJtdFK9AkWACEt4XJuB91aYlCkFEFrYLV7bJqF7m0v0HhW0z2UOi/me UV5bx5Jm6DYWoKg==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=f0.sw.ru) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1x91wM-00DCaA-1R; Tue, 22 Sep 2026 17:00:40 +0200 From: Konstantin Khorenko Date: Tue, 22 Sep 2026 17:00:45 +0200 MIME-Version: 1.0 Message-Id: <20260922-b4-kh-self1-v3-2-4548b8d45755@virtuozzo.com> References: <20260922-b4-kh-self1-v3-0-4548b8d45755@virtuozzo.com> In-Reply-To: <20260922-b4-kh-self1-v3-0-4548b8d45755@virtuozzo.com> To: Eva Kurchatova X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=5841; i=khorenko@virtuozzo.com; h=from:subject:message-id; bh=bPG2TbAinuyhRSUnlwB9S7xbGlCR9zFkrk/xZj92J+M=; b=owEBbQKS/ZANAwAKAVGWCkf5YVwqAcsmYgBqspgf+qtXYx1Gpwp0HAUU2yLMbuwCFtups9Tew xKGLS949byJAjMEAAEKAB0WIQRWD23IPcXT0GO9CCxRlgpH+WFcKgUCarKYHwAKCRBRlgpH+WFc KiX+EACloBwPt+YcbIICl/AUo+DOzLIBUO4bFWBd29EMvI55fsoBmtSdHjvscvG2WfLagl9WiG2 7S575VNUg130QGc/jPN45ygT3zrcsINRNxSpexoWlgMWozkE9/HJYKPsz7e3/uWkwJ5amZc+0sB uksCIwV+c/s8EMqs1rSLOi98RtBh4wibxd6SvpIy3gVTrKYZKtCCqI3ouZsuEfX2jTR65hrKRNm ScVfndIRmS75VAyIRJNHqTWWgJa1X4zYuV5Ed/xLKTxIBPzmPXcw7ALHgPa1ZnzIe4jQAOM8ygE +ud33r0nYSsIiHIN7uK9vxPghMnc1HDKomsJHgW6PaxOz7FEiuT1EgkisHQQ2PIMgnA9HrgL+Tp oZ7KYvcF61K2Fd6AJJWnYKaQCjeiYtOkKdA7HCkXsdAdmoyWEc7I0/sUCgQt11nMdq1ArWi9TOh JDkyQka7oaD2za6n6EKEY3410fP7uyoEsQLBbHJia6BYT/5FGD/gT8Xe1pZjdgeXs5DeB4epTwt 1mAJUeMs47h9BmXUiOXtV60rP+fFDaejCTjm4BtiiNJHs6DueVeaGY/KNxIv+7cAng3eb3x5dnr rkElmvi7U8O1XlbaBcWgEOAA+W3VEsaXty2Dc9IQsdj/QAuyX4VvEL0qGZ5EEWvM2JfX1OMhpWb Scu2pONkvOWg1QQ== X-Developer-Key: i=khorenko@virtuozzo.com; a=openpgp; fpr=560F6DC83DC5D3D063BD082C51960A47F9615C2A X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v3 2/5] selftests: net: skip what this kernel and iproute2 do not have X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org From: Eva Kurchatova Five cases report a failure where a feature is simply not there. tls asks for every cipher it knows and fails on the ones the kernel does not implement, SM4 and ARIA, which answer ENOENT at setsockopt time. Skip a cipher the kernel refuses that way; the run then reports 632 passed, 264 skipped and none failed. rtnetlink.sh sets up an erspan tunnel, which this kernel does not have and which fails with "Unknown device type", and checks a netconf dump whose exit status iproute2 gets wrong: 6.11 exits 2 on a dump that worked, 6.17 exits 0. Probe for both and skip when unusable. rtnetlink.py asks for an IPv4 multicast address dump the kernel answers with EOPNOTSUPP, and ip_local_port_range asks for protocols it does not have. Skip those too. https: //virtuozzo.atlassian.net/browse/VSTOR-139651 Feature: fix selftests Signed-off-by: Eva Kurchatova Reviewed-by: Vladimir Riabchun --- tools/testing/selftests/net/ip_local_port_range.c | 17 ++++++++++--- tools/testing/selftests/net/rtnetlink.py | 11 ++++++-- tools/testing/selftests/net/rtnetlink.sh | 31 +++++++++++++++++++++++ tools/testing/selftests/net/tls.c | 2 ++ 4 files changed, 55 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/ip_local_port_range.c b/tools/testing/selftests/net/ip_local_port_range.c index 29451d2244b75..2d7b9c852b2b1 100644 --- a/tools/testing/selftests/net/ip_local_port_range.c +++ b/tools/testing/selftests/net/ip_local_port_range.c @@ -118,10 +118,6 @@ static int get_ip_local_port_range(int fd, __u32 *range) FIXTURE(ip_local_port_range) {}; -FIXTURE_SETUP(ip_local_port_range) -{ -} - FIXTURE_TEARDOWN(ip_local_port_range) { } @@ -180,6 +176,19 @@ FIXTURE_VARIANT_ADD(ip_local_port_range, ip6_mptcp) { .so_protocol = IPPROTO_MPTCP, }; +FIXTURE_SETUP(ip_local_port_range) +{ + int fd; + + /* Not every protocol under test is built into every kernel. */ + fd = socket(variant->so_domain, variant->so_type, variant->so_protocol); + if (fd < 0 && (errno == EPROTONOSUPPORT || errno == ESOCKTNOSUPPORT || + errno == EAFNOSUPPORT)) + SKIP(return, "%s", strerror(errno)); + ASSERT_GE(fd, 0) TH_LOG("socket failed"); + close(fd); +} + TEST_F(ip_local_port_range, invalid_option_value) { __u16 val16; diff --git a/tools/testing/selftests/net/rtnetlink.py b/tools/testing/selftests/net/rtnetlink.py index e9ad5e88da97f..e0b44902c602d 100755 --- a/tools/testing/selftests/net/rtnetlink.py +++ b/tools/testing/selftests/net/rtnetlink.py @@ -1,7 +1,9 @@ #!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0 -from lib.py import ksft_exit, ksft_run, ksft_ge, RtnlAddrFamily +from lib.py import ksft_exit, ksft_run, ksft_ge, KsftSkipEx +from lib.py import NlError, RtnlAddrFamily +import errno import socket IPV4_ALL_HOSTS_MULTICAST = b'\xe0\x00\x00\x01' @@ -12,7 +14,12 @@ IPV4_ALL_HOSTS_MULTICAST = b'\xe0\x00\x00\x01' At least the loopback interface should have this address. """ - addresses = rtnl.getmulticast({"ifa-family": socket.AF_INET}, dump=True) + try: + addresses = rtnl.getmulticast({"ifa-family": socket.AF_INET}, dump=True) + except NlError as e: + if e.nl_msg.error == -errno.EOPNOTSUPP: + raise KsftSkipEx("IPv4 multicast address dump is not supported") + raise all_host_multicasts = [ addr for addr in addresses if addr['multicast'] == IPV4_ALL_HOSTS_MULTICAST diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh index 5f72b447e9400..cc4e94b90002b 100755 --- a/tools/testing/selftests/net/rtnetlink.sh +++ b/tools/testing/selftests/net/rtnetlink.sh @@ -142,10 +142,30 @@ kci_del_dummy() run_cmd ip link del dev "$devdummy" } +# Some iproute2 versions exit non-zero from a netconf dump that worked, +# printing the devconf and then failing anyway. Nothing about the kernel +# can be learned from the exit status of such an ip, so find out once. +netconf_exit_status_usable() +{ + local out + + out=$(ip -4 netconf show dev lo 2>/dev/null) + if [ $? -ne 0 ] && [ -n "$out" ]; then + return 1 + fi + return 0 +} + kci_test_netconf() { dev="$1" r=$ret + + if ! netconf_exit_status_usable; then + end_test "SKIP: ip netconf $dev: iproute2 fails a dump that worked" + return $ksft_skip + fi + run_cmd ip netconf show dev "$dev" for f in 4 6; do run_cmd ip -$f netconf show dev "$dev" @@ -920,6 +940,17 @@ kci_test_erspan() return $ksft_skip fi + # the kernel can be built without erspan, rtnetlink then has no ops + # for the type and says so. A kernel that has it gets past this and + # fails on the attributes the probe leaves out. + if ip -netns "$testns" link add dev "$DEV_NS" type erspan 2>&1 | \ + grep -q "Unknown device type"; then + end_test "SKIP: erspan: not supported by the kernel" + ip netns del "$testns" + return $ksft_skip + fi + ip -netns "$testns" link del dev "$DEV_NS" 2>/dev/null + # test native tunnel erspan v1 run_cmd ip -netns "$testns" link add dev "$DEV_NS" type erspan seq \ key 102 local 172.16.1.100 remote 172.16.1.200 \ diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c index c9b0b4337e127..07f2b454d755b 100644 --- a/tools/testing/selftests/net/tls.c +++ b/tools/testing/selftests/net/tls.c @@ -413,6 +413,8 @@ FIXTURE_SETUP(tls) return; ret = setsockopt(self->fd, SOL_TLS, TLS_TX, &tls12, tls12.len); + if (ret < 0 && errno == ENOENT) + SKIP(return, "Cipher not built into the kernel"); ASSERT_EQ(ret, 0); ret = setsockopt(self->cfd, SOL_TLS, TLS_RX, &tls12, tls12.len); -- 2.43.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel