Received: by 2002:a05:7412:8598:b0:f9:33c2:5753 with SMTP id n24csp415875rdh; Tue, 19 Dec 2023 02:59:01 -0800 (PST) X-Google-Smtp-Source: AGHT+IHuGbGn+ezQiN8txaLEVagMdzfycz9ZyV3yGAwb3w4U+7XlsesAG9Jl9qMGCMVyLudLj+JX X-Received: by 2002:a17:902:8301:b0:1d0:bcb2:4b8a with SMTP id bd1-20020a170902830100b001d0bcb24b8amr8689113plb.131.1702983540669; Tue, 19 Dec 2023 02:59:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702983540; cv=none; d=google.com; s=arc-20160816; b=ApxI4ddCIWgEoXRBkeyDEjKhLGp+h0FPZV0ZXa9ETg56uxc7yaucfmKWOJwiybw6KP WcIWocukK35kE4Y92TLGogoXFM6ZEc/syzq5himB4UGHHMWytIAAIsD9Y/4FZ83tmyf4 mhma4fLYibdRUP8uL/mWxSX7nogdyvKwlJ8k27iHIu/WCuKpre2pCeIv1KjX5nOdMGkE YqwWkl7EaEqT/qLnA5U8C1Cp4J8RVvyccYuIIUF8M/d+VBTjxc0JqHYcHNz3peNUU4tI 4cE8Esi3He+F9ZSPdMnxYXk2uZe4XLmttZ395Sl1faDQcEXtGF/Tq1GAcN6uEW8H+S6u Q0aQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=/c7OILjvdRz1PM1lNH8m/ie2whQ8id4zinwvl+ONMFM=; fh=atN1XXIEfyrYF91vXjukw10btm2OohYym78OPztZ9zU=; b=NdXpqiY9+YRbjEJ4QhI/qlvoT7GcbUDcvsP+CEghLQDRFxvnkwXjyHDxpBy3d4scf3 npfGkXckYvm8+2LArZW0bThZWWq59KT3mJC1IlukPgBbvdrMAGLPd4DtU1+jJ4HYKqt9 y8uUBjLCKOLZnEaS8UhEB2NMRN2HW/XaZ6SS1kK7L6ynAI2JLIyjcFGpdB8wJBNS/yUu DgLDhqXXZPDZthn0U5LYcIDKXL6CRAImJXifgDUFhOhP/ejMc1rky2ASQUykGAMXPcbP YcQjKXt0CAlZZ3sHxrRr+K4KqSUqL0xRRXn17DWLbAkef//FB6uCAIwj0RDAChCYFqVT Hjcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WLtfXYLG; spf=pass (google.com: domain of linux-kernel+bounces-5042-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-5042-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id j15-20020a170903024f00b001d2e6ed9349si19563394plh.479.2023.12.19.02.59.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Dec 2023 02:59:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-5042-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WLtfXYLG; spf=pass (google.com: domain of linux-kernel+bounces-5042-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-5042-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 0EE7FB21BFC for ; Tue, 19 Dec 2023 10:58:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 08DDB15AEE; Tue, 19 Dec 2023 10:58:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WLtfXYLG" X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 37C5B15484; Tue, 19 Dec 2023 10:58:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FA7FC433CD; Tue, 19 Dec 2023 10:58:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702983496; bh=LwE/zCQspof3hzs385Wn2K0uSLjNcANdEfz0jpywhOk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WLtfXYLGJ0nhk11riQDUR+mcoL59/3XX7jnbeUvaSCOmkt3xcc/ohnDjKL2dmWH9H p9M3M65vBaVWNByWml88IlfwrI7xyRovh9XRkxBr0sTFUJKkuH8v1tSvOD0nFTQDI4 qyALWMu30QrQdJG9wwZvPNai01J0zdPAMT/hbVHRembXWmDda+4sUTBjJKSSHN46R0 mGjoh8MODmyabDJ5VMfdqZN+uB63aKomKYbof6nHOMx5TfWVuU8/Pm2MNXl7+4El3p 6L96heVSKVyjXxDYmsIaMK0OhQ8v8n9p2jtCjjtqn0LbCVINGBYbm4Yivlnsyb6bjx l76th9WU9seAQ== From: Roger Quadros To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, shuah@kernel.org, vladimir.oltean@nxp.com Cc: s-vadapalli@ti.com, r-gunasekaran@ti.com, vigneshr@ti.com, srk@ti.com, horms@kernel.org, p-varis@ti.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, rogerq@kernel.org Subject: [PATCH net-next v11 01/10] selftests: forwarding: ethtool_mm: support devices with higher rx-min-frag-size Date: Tue, 19 Dec 2023 12:57:56 +0200 Message-Id: <20231219105805.80617-2-rogerq@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231219105805.80617-1-rogerq@kernel.org> References: <20231219105805.80617-1-rogerq@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Vladimir Oltean Some devices have errata due to which they cannot report ETH_ZLEN (60) in the rx-min-frag-size. This was foreseen of course, and lldpad has logic that when we request it to advertise addFragSize 0, it will round it up to the lowest value that is _actually_ supported by the hardware. The problem is that the selftest expects lldpad to report back to us the same value as we requested. Make the selftest smarter by figuring out on its own what is a reasonable value to expect. Cc: Shuah Khan Signed-off-by: Vladimir Oltean Tested-by: Roger Quadros Signed-off-by: Roger Quadros --- .../selftests/net/forwarding/ethtool_mm.sh | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) Changelog: v11: no change v10: no change v9: no code change. Added Kselftest maintainer in Cc. v8: no change. Moved to the beginning of series. v7: initial commit diff --git a/tools/testing/selftests/net/forwarding/ethtool_mm.sh b/tools/testing/selftests/net/forwarding/ethtool_mm.sh index 39e736f30322..6212913f4ad1 100755 --- a/tools/testing/selftests/net/forwarding/ethtool_mm.sh +++ b/tools/testing/selftests/net/forwarding/ethtool_mm.sh @@ -155,15 +155,48 @@ manual_failed_verification_h2_to_h1() manual_failed_verification $h2 $h1 } +smallest_supported_add_frag_size() +{ + local iface=$1 + local rx_min_frag_size= + + rx_min_frag_size=$(ethtool --json --show-mm $iface | \ + jq '.[]."rx-min-frag-size"') + + if [ $rx_min_frag_size -le 60 ]; then + echo 0 + elif [ $rx_min_frag_size -le 124 ]; then + echo 1 + elif [ $rx_min_frag_size -le 188 ]; then + echo 2 + elif [ $rx_min_frag_size -le 252 ]; then + echo 3 + else + echo "$iface: RX min frag size $rx_min_frag_size cannot be advertised over LLDP" + exit 1 + fi +} + +expected_add_frag_size() +{ + local iface=$1 + local requested=$2 + local min=$(smallest_supported_add_frag_size $iface) + + [ $requested -le $min ] && echo $min || echo $requested +} + lldp_change_add_frag_size() { local add_frag_size=$1 + local pattern= lldptool -T -i $h1 -V addEthCaps addFragSize=$add_frag_size >/dev/null # Wait for TLVs to be received sleep 2 - lldptool -i $h2 -t -n -V addEthCaps | \ - grep -q "Additional fragment size: $add_frag_size" + pattern=$(printf "Additional fragment size: %d" \ + $(expected_add_frag_size $h1 $add_frag_size)) + lldptool -i $h2 -t -n -V addEthCaps | grep -q "$pattern" } lldp() -- 2.34.1