Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp6667412rdb; Fri, 15 Dec 2023 05:21:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IHsjNf67W4VxUYT6bZaXIKy5EJVu/rVj5trvu2huLVIjedrC74j3Ih/UfOmu2EvW3F3bGOB X-Received: by 2002:a05:6102:5122:b0:464:9934:bac8 with SMTP id bm34-20020a056102512200b004649934bac8mr9182125vsb.58.1702646487231; Fri, 15 Dec 2023 05:21:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702646487; cv=none; d=google.com; s=arc-20160816; b=UzpBPmd/xT6Ro4nuA1sKkCFAKNtCTlc4O+TzaVq8EbWRJdy3JxDGtTkMp+fGpb+CIf +kWJ3wfKKGsR/4LS010NoV97h3ZdoReMQAD2d/AIV/2zGP4idQtL3IyNwlcIwgzNGwqL +gwRZQWU6f6DeLlcDmdPUmxOQucS0O0Lea+XJm2q+srEZEe6dB/OWzsKFzo00DjvcgZv fp4vMqVYYMwakU/KByKXKkyM8hLBJtvUhp4IdO+V6zyUCSkznXTvMvTsPH9G/hYbjNgo xnnSMvbGG7U8XnJvampTGAUtmGvs2/KwbQpEExLjcPNVru8OLv2/ZvQBftbPptFqIIt5 +udA== 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=epg6pZde2c0ITuCzOcao0D8DCZtFwlyx2p49WK55raQ=; fh=atN1XXIEfyrYF91vXjukw10btm2OohYym78OPztZ9zU=; b=LH7TEd4JlftKhmrQQv2LKRdztjzbkm+M1r2kB1AckO8wpVCflnglwTJkwNuvapuvct 8ybrshdCMLndtAYPF3lMeouZulHXnviZwK9eca2iH2bF/T9rCqxnlur1ClRZU+1qmtep xgu50yAzuiq2ZsqdQjcaoNznnyE/DnFW9NS/XJYDjxguEWnKDAd56oDZ7mby+yVZXOzN 5tqIv8umuxBBH4MgJL7iOmn2tbhf/S0SemkhygHimTTp1XJZKlNV26Uw7Cq3t6jd3l76 6ffp3JtDi8jIr2vVOAs9YDDI3ChDKFtz1CbCmuuHJe5ADRI22iRGpN/k642GC7UHkaF7 RtIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gSUxJ2J7; spf=pass (google.com: domain of linux-kernel+bounces-995-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-995-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id d24-20020a67c498000000b004648bee4876si3163307vsk.521.2023.12.15.05.21.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Dec 2023 05:21:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-995-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gSUxJ2J7; spf=pass (google.com: domain of linux-kernel+bounces-995-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-995-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 ny.mirrors.kernel.org (Postfix) with ESMTPS id EB13A1C22936 for ; Fri, 15 Dec 2023 13:21:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0FA7F2DF72; Fri, 15 Dec 2023 13:21:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gSUxJ2J7" 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 3B8602DB92; Fri, 15 Dec 2023 13:20:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1AF12C433CD; Fri, 15 Dec 2023 13:20:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702646458; bh=6hII7Re0HVmoOSvj4a3MTp36DaERjeVsACnNLxoOxKM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gSUxJ2J7smMCx34RHtAiC26Hhyb3sHpRiEsswZ4c8gIL50soACYGtxhfOuq36wC0+ tDH0m/KfaGLCon5/unmtFJy9QneuMuEKNW83JbRhbzQ1R71qjGziNIbtz4It8af/QY dHrwB74Ya/sW76NjiLqN0hm1ei9fzyYVQkC0JsNre864Ze6GDaGn5l+iX4nXzblXe5 lP9E1VWlHdsFWOgkQgvn+ZrE3Tt71WOGCrF0EmLdR1aYh8SuL4wdliqiyp9aTS2h7a LIZ1OTE0xAe/nazEni+v07XYcEMhCVpJOfEgYM7DdAQL6FOZABZ/nLiWkTBGnGeSr4 gllFhBH6IhsGA== 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 v9 01/10] selftests: forwarding: ethtool_mm: support devices with higher rx-min-frag-size Date: Fri, 15 Dec 2023 15:20:39 +0200 Message-Id: <20231215132048.43727-2-rogerq@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231215132048.43727-1-rogerq@kernel.org> References: <20231215132048.43727-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: 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