From nobody Wed Apr 1 09:52:15 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012018.outbound.protection.outlook.com [52.101.66.18]) (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 C968F345CA5; Mon, 30 Mar 2026 15:30:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884642; cv=fail; b=hcnmsGc6cO8rkJyxQnGtz6speTWWkS+pDT/3qsLJuA2qJr8Cz8BBHNoE/yjoFNi2jRd725iwkOQdu16KlfztWirGYXQ0llLOdH3Xx879AFM+t9BX/1VA8/A/JvOg0rf7nJVg7wgQ9hsVEzNwCjnA6Uzk7I8aKa+rfzZSql0re4o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884642; c=relaxed/simple; bh=36llxT0ME6Tuimk9mzAam1o7/6/ylKePcgofsiSSgWc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=nqq0nPfSUoKIiAylQ3PCTIZ+CRze6gDOYeK9hkCThvtHHpx64B1ei1tUDdF4y/rpX3yXF+9RSqNO+61Hg1nWEewr0gxYbDRiwS2MUb5rlpF/ZmBgxqegz3dRd5rE55XgDtRZ2n3xJYxYzfQrIHDpUQXxepYXgYLlUWcCxDRZUKE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=Y00KCAXX; arc=fail smtp.client-ip=52.101.66.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="Y00KCAXX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g3JZQVXzdf1Ga8a8wI5o5lg03jrBdbtR6QUe03OEGmVtG/sZg74izSMuIYsRt14W27aNLI+ywbmbuwr+ADJpWtVJgNpyTA+SoMH0js6WhMWHscohQY7S6YHo5MNFdWwflg4i2ErSes5y5bMASK/m1bu1/brUKvUfzVNh1zT045hxpnPhyV1nYZ8iPbN1VrIVZLKbtMrU7ri+LlXs+huNjuqsARcWTkB3xem3XIM2Y6pomxnXUfZjhoEIhafGT3w9vh5X2uAihjhVn2+dk8SdlklNIOD9VJ+X7E8kWWjb8B6aYQQqmrPH/RI1C0CBOLww3NgdGFgdo+hQCgAg551nBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QttF5WFPizd+76WEx0REijRGMrvgIV/t5QQvRatZ7Qo=; b=JsmJnZw964axXZFmdnQS+4B84+U6NvW9oeHGDx0EmdtZ46j7B2K92r3O6pN8b0cVU0Gip2oG/L4KVQ02hefykC0LhUfFL4LGV2n/+Wpw2fSOsx2zOLFLoKA7pZEVYEzEptpwv0C2AsfzgoaYcFnJSrTr6weJfX7cYpVpuqxzYS2rHRG9cNyqiLq7+dt/4ogrct1lYPXloR283ASpuhE+FX+X3rOGFp18AcOSOzPUOW05kMV/1whFMTEUPdu1bC7NUVhuH+anKYPxI6mlk3lYsZCp5eDMG9GjQM/2Wziyv1pbQNJoqnEtSuWYZHZPvwr4TyZ2AZi/ssRmES8IxU6VLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QttF5WFPizd+76WEx0REijRGMrvgIV/t5QQvRatZ7Qo=; b=Y00KCAXXpzHnk4kotkcIb65y+8hyEFLh3QjPP021V+pHufexHUeXVW8vGt9vWIq38cVhLxPucAtH4YgEXo3ahhkh7jz8hYChlIvvJ6rlAG9gljhPq0LqiVxQJaXU4UMCMOqLxZ+osUzDHmkZX1nDempHG7oSV5WR3tm9kTUDWWXz+WGOv6yDWz9x6H5UFWUMxMRinmH6W7/QdwRGwAwasHzsSjpRoKmvauYdPb3U2tGZyx98gEF/NDDDkcLUz+4VAnGuGCLA7vVi/03MdtlrMOxtpPRLt+JDVzNvrxTSFa2PSCmScVpuOCOd7daC401BaqYj9TLR83ZryBIT6DJ+Dw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:36 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:36 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 1/9] selftests: forwarding: extend ethtool_std_stats_get with pause statistics Date: Mon, 30 Mar 2026 18:29:25 +0300 Message-Id: <20260330152933.2195885-2-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0141.eurprd02.prod.outlook.com (2603:10a6:20b:28d::8) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 1c2cfa2c-3d17-4cde-aa32-08de8e714a33 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|7416014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: zmy9VrgCG37GqUWV+0ZM98QsyA8F+4JFqtO4GW5/rfp+BnOQIfPzAwdVoLqSG0Ni5jugxlklhmHtnzcXCidCCIF1DR3CmfDHZgceqaetXwk89wfvEwSkwyUiLZQkLJBtNfmgTfFErpKTnkopEYez20LWNH0nm2pRe3RC9k3X+S/GPQ/Qlq9raS0hyjMGs/AR7fD91s/jws9iGHHc2XvJcKSI1uqBFxA+0IKCC1OOiY+VDhYt9Ci/JCiCOkyvbz6tWr4Sf2FzHsMZRJXdFMlbtGDgAOlCaxWG9QIC7WYpztwrHc65eBL1JyEyyLwAo7UZ80xoHytmeKAG/bGBCxZGP4iIWaKxRa3AE6L/isQvA1J/8pc3zZNmJFUGcMiZsc6wA8mrlQewLe06p5MI9GGw4soyEC1suWJs7VwgnXE4nOe4WWSfrpjszD4YRqZFwcJm7sFV84ER9WN/QHUL+YvcExznRPS40KoMjiKMXuJGZ/d7Lq60dWmIfEl737DLh6ReM/bFmrpg/WqwwnxirGZqdymH0FIppot5xi4f6WkgATDSqLFKcfSWMVyznDoW1st+Ty8H5js1hm6ktcCtXbSWCxr/p7OK4ELhLaQ2NI55LSdjJ7mdHv46cRrMSt/5WzjtYHvLfFyXAwSlBq7r17ot+SOG64AF6XhQz64VmXTdEGi7qxuYPFj2GzZFOXdC8wRuLo+oUXStGd+SsYqyFdvI/HeW38PZmlyzUJ5c7vBRvR4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(7416014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LBvOmwVAe2DxaH3nqgIMjvUkfnm3FXxIhKe6yMNnh0AFG6EJxkfLsGaTt8hF?= =?us-ascii?Q?RTCinZtrGIoqE3v0K5Tql9sISVrt5S3o0j37zjCROs4XQhDcA+aLCYDlzqLQ?= =?us-ascii?Q?kv0sNH757A2JrpGE2aHiPx9lGbj1cA7BwD6ddzm/KFc0Wta+EAN5HFBMLmKY?= =?us-ascii?Q?K3E00SJJGePpdEJ9nU1LcJ/vgkYs7L3QVnsD5L855ftLL31zBZpVbiSe8a0/?= =?us-ascii?Q?igAqN/VzAXGkWoQODcSgNMxQg8hhEGRiCFN1nLGU7okoyikEzsXTfdgHUBra?= =?us-ascii?Q?1F8tewzdkfrswR4iSbQQeAbL4naVwJQbxIMwG8nrmun6cM2R8aeAHeOT+3oj?= =?us-ascii?Q?C+ev3/Sn+SYrBg9siwelTnTffUSAn9w7GfCIJ3v/bkbFoDIDI7EpEAzvDJGq?= =?us-ascii?Q?K6SNv6/EGdUk8Vtj0l2W4qDWFvHWQWDQY/H8ndJKHYzu2nnyj67sFcZZr410?= =?us-ascii?Q?7ex37AgkEhgY+ay6+wAFtLFQDWCpVyjiE90vC3nfa7fxTrjZZ9utry6OIErX?= =?us-ascii?Q?Cm15zMEmsTq7ITlaU6NgORdd9XupQYHMEKqmG40EgaNYZlHktLBHNODuQ2lp?= =?us-ascii?Q?gcjvs4LrcraEaEMf5XsaBaR468oGCYiXFQGuA7iu+weoj2ZBeaiePryTF4TM?= =?us-ascii?Q?RNQYTTgo5UOs7tt86xjOMw6bZGnjqLOE23xym5vXHAAuzUZnG289MsoCya69?= =?us-ascii?Q?QjQY4PAYivei8SF5MlBuTyGJjc+lV8T3f3cESOdA9go+S1AGp9tq4vgD01Lz?= =?us-ascii?Q?gFcpNXLvOpVxVflKvUpclDMczc7ng/QFtI6fOOqAUwJKxu13Ro7JhEMVQxD3?= =?us-ascii?Q?AuZiudtleVmHLlwQhp0XKsO+K1DU5+VhboEu02dg5P54j/30CTrOT4Np9dvF?= =?us-ascii?Q?8D0DRmgfZmXUeQLA2tv6Yd4K0lCEDp0A3OPWxF62JU6cdrMd8YSnAvFd+v5u?= =?us-ascii?Q?8BaNII5+gzwJHWZNSGsxzUW6zEQjTjFMjhmOkCF903Fizgpld1FHk9ZEhWdT?= =?us-ascii?Q?I993rEbWqmBcr0OQnD5rbWikl/qB+F0JCSrgVXD/GK2u3gVMXTsMdB4C/Nem?= =?us-ascii?Q?gWRai4jcDtAwIk5/Ix1ww3YMHUS6EhoNYPX3nvertxhH11Nits1YV2FzoNPJ?= =?us-ascii?Q?uaOTa9Ho7BrN2TiT7Z3biSEUmjAtIW/ke9zxIMsRAiayobtoYfpCrCkjYe3A?= =?us-ascii?Q?aGogUUiBQ0sa2pXgLM/MKxdx5hOxEVldsevzaHZ2l0AeOtPD5Vzk8FzPv0k7?= =?us-ascii?Q?H3vo1butdCUxmwwqlLMfX3OsrLLoOhzgJLOxG2WlMY6hadRAnIkUSAUBYjmB?= =?us-ascii?Q?pnAcg4dxhvkGc3eTISJs+kISSV7S8EFcqS8FTgCcJg71QR0+hojPXMnhZ83I?= =?us-ascii?Q?dOIxmAQ/IGLv4SR+QvuxV1SowRI2UbeWYq1Rb4q3Mbi9MVMDOz5hVsdYV+dT?= =?us-ascii?Q?EvK+U3sm/PZHLpL70DbHRaZH2UZ2IsVOXijQOQRS8hDLrpEi5bJBntpsjDx1?= =?us-ascii?Q?t5mXzLH9mP8ixjErfTWX11Sk8IVpwPUECyRp5FLE/v7xq7rHdWifybDI4wjM?= =?us-ascii?Q?9UGtpUvq1bW30xSoSKQpjmskyPNxnuYHeenlegxsL8dpNGntCBUdhjJVlLPG?= =?us-ascii?Q?bHGBCbpfE5ArFwm0NdAv259ffQKPVlwA6pEuykmxq48TAuYhM5yAXIUcmckT?= =?us-ascii?Q?pzSz3e+p+yC7uBb9aTrYMNeuZ9kOznTFdzTD6Q1tfX79jSKliyMN2kA9x4Yz?= =?us-ascii?Q?2GmBIvCBrA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c2cfa2c-3d17-4cde-aa32-08de8e714a33 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:36.5143 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8ua8AzTeCMOHGA6GeKBmu2+lRTxbCEFRZFWguEOAPDSRe06RR8orVC9YjX5KfILtiqf7OzjBS/qx6FrfThn0oA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" Even though pause frame statistics are not exported through the same ethtool command, there is no point in adding another helper just for them. Extent the ethtool_std_stats_get() function so that we are able to interrogate using the same helper all the standard statistics. And since we are touching the function, convert the initial ethtool call as well to the jq --arg form in order to be easier to read. Signed-off-by: Ioana Ciornei Reviewed-by: Petr Machata --- Changes in v5: - none Changes in v4: - wrap the lines to max 80 chars - replace the if-else with a simple if and return in order to be easier to maintain the 80 chars limit. Changes in v3: - none Changes in v2: - convert jq to the --arg usage form tools/testing/selftests/net/forwarding/lib.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/= selftests/net/forwarding/lib.sh index a9034f0bb58b..3009ce00c5dc 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -831,8 +831,14 @@ ethtool_std_stats_get() local name=3D$1; shift local src=3D$1; shift =20 - ethtool --json -S $dev --groups $grp -- --src $src | \ - jq '.[]."'"$grp"'"."'$name'"' + if [[ "$grp" =3D=3D "pause" ]]; then + ethtool -I --json -a "$dev" --src "$src" | \ + jq --arg name "$name" '.[].statistics[$name]' + return + fi + + ethtool --json -S "$dev" --groups "$grp" -- --src "$src" | \ + jq --arg grp "$grp" --arg name "$name" '.[][$grp][$name]' } =20 qdisc_stats_get() --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012018.outbound.protection.outlook.com [52.101.66.18]) (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 61C3D363C43; Mon, 30 Mar 2026 15:30:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884644; cv=fail; b=M5IzYksbQp3IMK85GERZmiupaSjAf/prM253wc8nw3shd9COLblg0UcijddSmSr4+EbRt2YdgFqq2fbymW/Hl/oXLcPdDhpz7QfIYbFfKQbYhEDKDYzMTp6AYsJPIxvcrp5GLg32jompoUGJRczed0WeYjwsCwfNldnf43kn5u4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884644; c=relaxed/simple; bh=VGQbCJ57/hYuXiwU9RCA9Jpdfm2HoQtQwOpC2g3KWSw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Pk5CsLAZtS4uvyV9eZMBlqdtGOrhX2Zs2anTqCPTihJF+O1u9ifyxlNNLmOhlywcaIro5a1K81NXzlUgfu6DjFSqSDUh0aWthIwrZRlgIkGnTKbnfoVy1i+yMZZKIPHW+X9Yk1nYlJlhT6c+X3CKeQrBEulD89jSVM1zdT+ax3g= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=mZbp1mcR; arc=fail smtp.client-ip=52.101.66.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="mZbp1mcR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=emLLPieG+DZ6lGubBHLaIBc+CfHlOoxdkAV9ef5ed5k98lxedpzSlX7ysDlQX5RFOU6l6u4lGBohUuH94Iu4pMi35oVj8F0D02d0tb9XaM2oBojiEkZtj9TzrG/7HwUJIDN8X/QwkYej3JdKOHy0rH5AJjM3NWPKMsw9z4XEF+VqJT89eO73h8aGqz15kQfLna0hHTuvoDzY3GudMUxly1KEWKLeuus0/J69lTEupudhJeusVzah8ftJNyNDgrIw32ve0cXuSPnecAhA3o8yq35IPrvHKfnKWhUxvwhWnNGTnSg/BnVPS6rjbkYWJ4MxYKrGn0PmgVjXTohaVq0L+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zx6rR1Gs31zVWfRdPNW430J7cJVx3au2LCqmo/M1fIw=; b=CThIyeZqjM65cM0/dhFEtxBpUeffb8cz8NejBHMrTu6ehQID76rabH2or00BKw3qPG8h7apcoh+Qe51S5l6hugjNasq6YFjBWI3FRATtQij6f1DliEwz3+ZJcDRsnsVg6OxOmWI0/mbkikYGUtU0XpAlgAHtb1R+K8YPwYQzCgo5Tk0YmLEpb0wxLVdWFIHA3qoEi4BK4uJeTWhEGuKWQZ4Ko3fqNsA9FpnakoSBTdRwjNGbZlylPGAF8O7fW5lHJ4ywFpX8nYVHrQfOjZJQeRN9wCKR6Y8I9mYctftTePri1B6KlaieK5iyWfwXeBkMRYwqkYllbGMDarVN9T0lJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zx6rR1Gs31zVWfRdPNW430J7cJVx3au2LCqmo/M1fIw=; b=mZbp1mcRsJdpoDtCoLDcrbHnkrglkwz6GzRFq7dZUOdwpN5GYqIc111FeRpJbhiccKhCX+92rSOk4ynMtVRKA0JZoBioYLILYjWTGJ7F5bXe03Xj3YSq98haEMK/jvd+/tEzPQOG6f4SmUa4gcICjncG9B/AfwVqM3e1bpTx6jdEp1RCqiJky32a3h//fFnUeNLOVhwfTEbLsomBk+qDh8l9ZVCaCBnXd1ts9FC71xpWW58ohu7nCNxwF6+YSzA3I9NB4FBLviC17qgtH77YDg/bs77QWXR56qL0wze3dBWpyE8as9UxGNjqjrFNlOjzdAY/lux6wbXXhhIfvuvlzw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:38 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:38 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 2/9] selftests: net: extend lib.sh to parse drivers/net/net.config Date: Mon, 30 Mar 2026 18:29:26 +0300 Message-Id: <20260330152933.2195885-3-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0144.eurprd02.prod.outlook.com (2603:10a6:20b:28d::11) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 99b56391-be83-477e-72da-08de8e714bc7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|7416014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: hSV/9b6zRDEwDHB/i+/xyTcOs5/5ceWuysYk2MmnaDuufYBbD/ymS0obanv+rEhDaYjCdTT/UALvfSL6xEyPRRzzaT2mC7qa8z/SQ9Q2b4owo4SwJhxOQFlglTMP2n9B61I/QCeVIPj35naNb9iZzf+/NqelIbNlnaU+fLiUTRvcRp6EuxTF3lOCAsirPto1GGf6bA5djG4Yty/g22fLb4ONX/etv8Gb13/zCTyCTXeUKdMfuMR73R8oB74uChW2IG9g32oSrG1xUZwUeWnZz+KJ6l5FN2wqFkUe9LFJIsUkfW8QqM8KJ7rvFQwDGsLU5sLYDGZ4vnsY09cplIp3/zh/Ms0151znjHCtSaEFPdKb2DquQBUNrzctIM0kxWzDBWFpOnZ4vTlZNelL7RRhHzXoc6KppIdf5p11l2K74tgWO+GOQ1X6BW/ngZukFCmY7aplB8N6nlwal2W1AaKoYqMyJWDObCza8NIzkZnzRNewzSGk+mTyWRM7z0UxSCOmoNLR8af8Uj1foiwqnS7az4lcLh/4ZA81JpSVN0XEvYWI5zWZfI9cNB1ibHt9nxikSv9lToGz4evAe1e5+5LS3A4ap2h86Y5V0daZiTUP81lJsKsbRFrtLMzTo20sTtFeUntbqz3Owa1m75srpRFNA4sfzj50WrS1t4VSB6FTkJ1Qn30E0yavwJrkePtIRD1Rty5sR1BnW/ZIWpLgycnum2kfjMZoi83qKEd+NQhUHts= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(7416014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?E0dmJz1pHJPIzjkhKJN342/lXfM9WAxPOczDZUjDJdzODSH+QG4FHTUhIaT/?= =?us-ascii?Q?4y91y/6Hn3rFEEGNRPk5+JmrzopYyCr2l0lnse5YRY5XMC76kmo9UXeAaQpm?= =?us-ascii?Q?NzrpQjondSMiooZCjL+RxSBv132wujwWlK9NqE5TcrHIv1559ZtXCj5vwHy/?= =?us-ascii?Q?A81sdv2MrESY8vPn34LhlppF4U4nyFWgOBbojhhWRgfcuQ9xLXlEzRWVS8g+?= =?us-ascii?Q?wT+ecTlGw4VRuulKrOA+04DSOMvXeJINVcxx8bwRl7yeoiuG43QGXZYqJcyz?= =?us-ascii?Q?lSjdEcfutONEWvdrOLts0RW2CTOBCa/YPVQ5//pe3Vf32EEviWStPb5WfTkw?= =?us-ascii?Q?J+RzBJIYBNYuR6nNHuWV01zhyWkNuJHhODkSDiMAUJ9x5CpkDYcE5kH/7nJv?= =?us-ascii?Q?0WDL/Mc3Pfgov3stFGKOx15Uadf7ES4kfuleYPEDfxW43dFf2VxluxoAC5wj?= =?us-ascii?Q?ylCoTmOBGnvyHulChdFGCis8zqSNEuiVXWBTQco0JLc6ZxkqwnlwPRT0P6MW?= =?us-ascii?Q?9ABI0BMOYN5q0rF8iVoAalNN/Fl6nHV/MeeW8XPoI6ySN8sgdvVwAazNu517?= =?us-ascii?Q?lByh46tDiNxtDnIaiSkkB1u/KhR2YpHKcphaH4mu/J5HP5KlcWZkU4DXWv0j?= =?us-ascii?Q?Z0FsjMaSr338xRrpG/lpSjbY2DiHnwCE/SlR7s72Ax83m+CnhkCHh7G644H9?= =?us-ascii?Q?RjLkrIQLaDFYp6W0rL75KrwtvBTferUfJIm2Dcla28jEJb4XNACjPJsgnRb6?= =?us-ascii?Q?LRVHHzwZBpk4g3YK+fW8kZFZOTzpr9N0ogIapv6ZW10yDsQEKhRxIbfco+Ul?= =?us-ascii?Q?lMR2MQ41/GleIEObtVA4y0TwSjBSDXREAl9Ng6Ql+HfZIz0r4ORkguXNcr3U?= =?us-ascii?Q?EJmvc6KSZ2Qr2N6XRg7yvI1Ukrp+SPhyRU23ICs7+HRmlJZtRXtTgEUXXbZo?= =?us-ascii?Q?v5OXpR2RwgnVML0tCv4VKzlclaNUYrMIt8L3dPdfwrjIiCcNgraZ5ripSbII?= =?us-ascii?Q?Hea9KFuZ1+eA0whFIglUzwd+x4vCogI7h8ZH6VhDF+aTw/Wp/Cs/XAGEojp5?= =?us-ascii?Q?2ou9ydkdAudg2lbzbGhnqEChCGn9jroYZnf5c8nR5kfDAKh11XjcaRp7mfxt?= =?us-ascii?Q?id93FGUXX0dpEiSmGZKVYgQVpTIfhgNkExc+HZhPV96RH1zVcZ1HnPZ0gpGf?= =?us-ascii?Q?R0jDNuFXet3FMjv0kk4YGAk3ZmkjqTvKp8SkoNeuk6IxPrphr0x3KbBcEZl3?= =?us-ascii?Q?pRmuPZWYsm7YCAtr17c1wayWFx1VSjcKTr4HIxO0gSbKw3Ew2AK4zOiiYs+8?= =?us-ascii?Q?P4Z9/H1mAZpnl3gguoOX3kCWqnqxLoPmpRBhoemmATn5tNNn8HcANA2ggcrd?= =?us-ascii?Q?Aw2MJZDFDuSx3Lhbdz91gBQNz0ZEn7BholDg+Jo4Og/5nG6rLf6MZgoHWaOv?= =?us-ascii?Q?nbwvYt3Dc8rQPXPKx1ij4GNZ5xbtK1ZIi/OonuWcuaKQL5CiLCuh839l0ktW?= =?us-ascii?Q?ZxFYR+5wmwmuq0zDrEclseNXUpGXx3G/PMNW47vDqNfNixz7yJtXM9Jt287f?= =?us-ascii?Q?lDGe+YTdAystvLlq4cQWgZXrtn8pB8tTRDHBjb6jVJ1KfGFqurRbQg88LRhE?= =?us-ascii?Q?j0zt4tqC3YbYCEgRE8FJIoZQnwxvs26eb3PNSk1iggid4F69RD2BQij4mLSF?= =?us-ascii?Q?btrwL+LPV9utXw93om7NU9t84mjsgPzKGRdiiGgP4eYiZp1z+yKiLBBteInd?= =?us-ascii?Q?L685oUopXQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99b56391-be83-477e-72da-08de8e714bc7 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:38.8000 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uFMUkUwi9Z0TGGrX+aStLUnUVE/B3UHku7FKuiO8D22MNhsQZRe59OZakey8ej1GEQZ7A6cEWRfzlpx6pgdlyw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" Extend lib.sh so that it's able to parse driver/net/net.config and environment variables such as NETIF, REMOTE_TYPE, LOCAL_V4 etc described in drivers/net/README.rst. In order to make the transition towards running with a single local interface smoother for the bash networking driver tests, beside sourcing the net.config file also translate the new env variables into the old style based on the NETIFS array. Since the NETIFS array only holds the network interface names, also add a new array - TARGETS - which keeps track of the target on which a specific interfaces resides - local, netns or accesible through an ssh command. For example, a net.config which looks like below: NETIF=3Deth0 LOCAL_V4=3D192.168.1.1 REMOTE_V4=3D192.168.1.2 REMOTE_TYPE=3Dssh REMOTE_ARGS=3Droot@192.168.1.2 will generate the NETIFS and TARGETS arrays with the following data. NETIFS[p1]=3D"eth0" NETIFS[p2]=3D"eth2" TARGETS[eth0]=3D"local:" TARGETS[eth2]=3D"ssh:root@192.168.1.2" The above will be true if on the remote target, the interface which has the 192.168.1.2 address is named eth2. Since the TARGETS array is indexed by the network interface name, document a new restriction README.rst which states that the remote interface cannot have the same name as the local one. Keep the old way of populating the NETIFS variable based on the command line arguments. This will be invoked in case DRIVER_TEST_CONFORMANT =3D "no". Also add a couple of helpers which can be used by tests which need to run a specific bash command on a different target than the local system, be it either another netns or a remote system accessible through ssh. The __run_on() function is passed through $1 the target on which the command should be executed while run_on() is passed the name of the interface that is then used to retrieve the target from the TARGETS array. Also add a stub run_on() function in net/lib.sh so that users of the net/lib.sh are going through the stub only since neither NETIFS nor TARGETS are valid in that circumstance. Signed-off-by: Ioana Ciornei Reviewed-by: Petr Machata --- Changes in v5: - move 'shellcheck disable' at start of the script - move 'declare -A TARGETS' before the if statement - move the DRIVER_TEST_CONFORMANT declaration before the if statement - move the __run_on() and run_on() helpers in net/forwarding/lib.sh - add a stub run_on() in net/lib.sh - check for DRIVER_TEST_CONFORMANT =3D yes in run_on() - squash patches 2 and 3 since with the change above each patch depends on the other one. There is no point keeping them separate. Changes in v4: - reworked the helpers so that no global variable is used and information is passed only through parameters - reword the entry in README.rst to mention that the different interface names is only a bash restriction and the python infrastructure does not have the same problem. - only declare the TARGETS array at the point where it's necessary, instead of it being an user API. - add a new flags - DRIVER_TEST_CONFORMANT - that needs to be set by the test - rework the check_env() function so that its logic is simpler - source drivers/net/net.config only if DRIVER_TEST_CONFORMANT =3D=3D yes - check that NETIF and the remote netif have different names and abort test is not Changes in v3: - s/TARGET/CUR_TARGET - always fallback on running a command locally when either TARGETS is not declared or there is no entry for a specific interface Changes in v2: - patch is new .../testing/selftests/drivers/net/README.rst | 4 + tools/testing/selftests/net/forwarding/lib.sh | 146 ++++++++++++++++-- tools/testing/selftests/net/lib.sh | 5 + 3 files changed, 146 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/drivers/net/README.rst b/tools/testing= /selftests/drivers/net/README.rst index c94992acf10b..1897aa1583ec 100644 --- a/tools/testing/selftests/drivers/net/README.rst +++ b/tools/testing/selftests/drivers/net/README.rst @@ -26,6 +26,10 @@ The netdevice against which tests will be run must exist= , be running Refer to list of :ref:`Variables` later in this file to set up running the tests against a real device. =20 +The current support for bash tests restricts the use of the same interface= name +on the local system and the remote one and will bail if this case is +encountered. + Both modes required ~~~~~~~~~~~~~~~~~~~ =20 diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/= selftests/net/forwarding/lib.sh index 3009ce00c5dc..83249aafa669 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -1,5 +1,6 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 +#shellcheck disable=3DSC2034 # SC doesn't see our uses of global variables =20 ##########################################################################= #### # Topology description. p1 looped back to p2, p3 to p4 and so on. @@ -340,17 +341,144 @@ fi ##########################################################################= #### # Command line options handling =20 -count=3D0 +check_env() { + if [[ ! (( -n "$LOCAL_V4" && -n "$REMOTE_V4") || + ( -n "$LOCAL_V6" && -n "$REMOTE_V6" )) ]]; then + echo "SKIP: Invalid environment, missing or inconsistent LOCAL_V4/REMOTE= _V4/LOCAL_V6/REMOTE_V6" + echo "Please see tools/testing/selftests/drivers/net/README.rst" + exit "$ksft_skip" + fi =20 -while [[ $# -gt 0 ]]; do - if [[ "$count" -eq "0" ]]; then - unset NETIFS - declare -A NETIFS + if [[ -z "$REMOTE_TYPE" ]]; then + echo "SKIP: Invalid environment, missing REMOTE_TYPE" + exit "$ksft_skip" fi - count=3D$((count + 1)) - NETIFS[p$count]=3D"$1" - shift -done + + if [[ -z "$REMOTE_ARGS" ]]; then + echo "SKIP: Invalid environment, missing REMOTE_ARGS" + exit "$ksft_skip" + fi +} + +__run_on() +{ + local target=3D$1; shift + local type args + + IFS=3D':' read -r type args <<< "$target" + + case "$type" in + netns) + # Execute command in network namespace + # args contains the namespace name + ip netns exec "$args" "$@" + ;; + ssh) + # Execute command via SSH args contains user@host + ssh -n "$args" "$@" + ;; + local|*) + # Execute command locally. This is also the fallback + # case for when the interface's target is not found in + # the TARGETS array. + "$@" + ;; + esac +} + +run_on() +{ + local iface=3D$1; shift + local target=3D"local:" + + if [ "${DRIVER_TEST_CONFORMANT}" =3D "yes" ]; then + target=3D"${TARGETS[$iface]}" + fi + + __run_on "$target" "$@" +} + +get_ifname_by_ip() +{ + local target=3D$1; shift + local ip_addr=3D$1; shift + + __run_on "$target" ip -j addr show to "$ip_addr" | jq -r '.[].ifname' +} + +# Whether the test is conforming to the requirements and usage described in +# drivers/net/README.rst. +: "${DRIVER_TEST_CONFORMANT:=3Dno}" + +declare -A TARGETS + +# Based on DRIVER_TEST_CONFORMANT, decide if to source drivers/net/net.con= fig +# or not. In the "yes" case, the test expects to pass the arguments throug= h the +# variables specified in drivers/net/README.rst file. If not, fallback on +# parsing the script arguments for interface names. +if [ "${DRIVER_TEST_CONFORMANT}" =3D "yes" ]; then + if [[ -f $net_forwarding_dir/../../drivers/net/net.config ]]; then + source "$net_forwarding_dir/../../drivers/net/net.config" + fi + + if (( NUM_NETIFS > 2)); then + echo "SKIP: DRIVER_TEST_CONFORMANT=3Dyes and NUM_NETIFS is bigger than 2" + exit "$ksft_skip" + fi + + check_env + + # Populate the NETIFS and TARGETS arrays automatically based on the + # environment variables. The TARGETS array is indexed by the network + # interface name keeping track of the target on which the interface + # resides. Values will be strings of the following format - + # :. + # + # TARGETS[eth0]=3D"local:" - meaning that the eth0 interface is + # accessible locally + # TARGETS[eth1]=3D"netns:foo" - eth1 is in the foo netns + # TARGETS[eth2]=3D"ssh:root@10.0.0.2" - eth2 is accessible through + # running the 'ssh root@10.0.0.2' command. + + unset NETIFS + declare -A NETIFS + + NETIFS[p1]=3D"$NETIF" + TARGETS[$NETIF]=3D"local:" + + # Locate the name of the remote interface + remote_target=3D"$REMOTE_TYPE:$REMOTE_ARGS" + if [[ -v REMOTE_V4 ]]; then + remote_netif=3D$(get_ifname_by_ip "$remote_target" "$REMOTE_V4") + else + remote_netif=3D$(get_ifname_by_ip "$remote_target" "$REMOTE_V6") + fi + if [[ ! -n "$remote_netif" ]]; then + echo "SKIP: cannot find remote interface" + exit "$ksft_skip" + fi + + if [[ "$NETIF" =3D=3D "$remote_netif" ]]; then + echo "SKIP: local and remote interfaces cannot have the same name" + exit "$ksft_skip" + fi + + NETIFS[p2]=3D"$remote_netif" + TARGETS[$remote_netif]=3D"$REMOTE_TYPE:$REMOTE_ARGS" +else + count=3D0 + + while [[ $# -gt 0 ]]; do + if [[ "$count" -eq "0" ]]; then + unset NETIFS + declare -A NETIFS + fi + count=3D$((count + 1)) + NETIFS[p$count]=3D"$1" + TARGETS[$1]=3D"local:" + shift + done +fi =20 ##########################################################################= #### # Network interfaces configuration diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/n= et/lib.sh index b40694573f4c..3f79bf1ec977 100644 --- a/tools/testing/selftests/net/lib.sh +++ b/tools/testing/selftests/net/lib.sh @@ -670,3 +670,8 @@ cmd_jq() # return success only in case of non-empty output [ ! -z "$output" ] } + +run_on() +{ + shift; "$@" +} --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012018.outbound.protection.outlook.com [52.101.66.18]) (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 B8A733644D3; Mon, 30 Mar 2026 15:30:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884646; cv=fail; b=VomyJkLG+IeCcR6ATYXcjUA+sJfhKzeORqCOsF834x23IXA+PZVyVx3G0mmD5OVY0dS11MTvXpHnF4b9qpVQc6ycCbLjtzyJi9DTCaSzFwOwtU/eHuDD/vCk9Nv+OwPpkHu2ujp7k+dwzG30oIxe+S1rhBart/ynueQtcX/HDoo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884646; c=relaxed/simple; bh=0GoGHrQ2fKuGNupQK3SQDNqgN7RkwmmGDqwvu82bw8I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=YTBNJ4o0GcAJnOW2Z/PGq+AJPLLG6H69r7EujVtV/J4b/4eBr/hl94G+TW1DGlGVUIDyZc4b4c+hS+seXHnV+preIs6eKkynSCYSGqp4DYDpQfMZamFpAT3QxWErJ35hFhY1NrANq54p+z8Mp7ZVo5SguiRLQUxO/KwEVVpM9MM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=OgfI3Sy4; arc=fail smtp.client-ip=52.101.66.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="OgfI3Sy4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xNnmBd80voag+Q/haaGAGS4R/1OmYLjLmnEwZMXcY2/oi+1kpIkmjXD/eEqo6/zIQzsUK0bpB/5LL1mT4aPRhDMf8gLsFGwFQEIjnbO4qUlJYO2C0gF4Inhmxq7sbjofu5uFcrIopwqGXwJ2UV0epfXGqaVGwIa+P7tRFvWEb8MBk3UDTSnM58oeCOmXvwP+SHMkF6XFyw7wFYyO6tDwps/ct5Le7a8fmUL1L7sNi7DusIm5ycT7t//Bz449xVMn71b66/B6LTZK4PNje7FkMg3egBNXazdC4fxsOMWMGl9vQYyY2xb2jjgpd1gQS+cXVFmIX5H/0RZ20NJWNB1nVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7DDOyoPDu7wrm11eQwfPQNk5hzbb42X/z2/A8xSoOiQ=; b=FJUZLbykZfZ+dAy/Zkc/mcdL81PtZYgesoqZEMWsBx7PxLhueEBmn5YuagerYfH9ax+uen/awvYzdWdbxdnTTVj99yzYGGvTo0lWvGkQuH741VNJtV2L4wiRs8soYptZohpzZnPsatGRIrODF4bMniySQclf/nCfGQrFxeubogptClpa1CmlqlaQcGX0zYVBRqzpR7BkFUsRF478xH8fq856Jkm4WZfY4KZixiuzdLf4XtvBbuarWjahbTg1DwUZshh4qdoGsF42UPvLmv+WyyyPtSqvr2546w2OZWWUlF/WBM8F233fBSw0Lhol+p03Ut7ktuiWP4bv5PFoSLndGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7DDOyoPDu7wrm11eQwfPQNk5hzbb42X/z2/A8xSoOiQ=; b=OgfI3Sy4pyWUSCneTerXZVhVGXcXyQoxPBZbA+l/mXv4PNSD22XqqNzW3ou20Ye7lvhZS8iJ6eg7f/1NnqXzV/+K8rCi+jmedvbSTxAzFK2WqzpzFB8A/zp3wQzoJdlZ0i22Fa/ewo5gCD5In4AOZD/NWmpMechfx5dl4AbCTDso3xve5nqm0EYDct5NDGYWJF/m/fBAv42WsSN77VqF2q0zKGT4xMu9rNldc0G8GJSDFKF2dNAJqHKLBVXkR3DJFYK5U/ga9Ln2WKBhXIod4WO0iKw7Ezq1cw+5+03aKxpmGDASrCcRSQNgE+dCpWOafvgBTDeRsd4CEv7Nb9UtOw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:41 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:41 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 3/9] selftests: net: update some helpers to use run_on Date: Mon, 30 Mar 2026 18:29:27 +0300 Message-Id: <20260330152933.2195885-4-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0160.eurprd02.prod.outlook.com (2603:10a6:20b:28d::27) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 31bc26ea-6f81-41b6-abb2-08de8e714d37 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|7416014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: YKepR0nmyXCVB/nY/1g9MU9Z2gEMExpY3FdajZCZquVHbdZ+5IIlwjvNnMtKbnnhnquai3avq15LcnQcAiXgbEmc4qaRyPUq6MkeY4U9f29+0Pqr9YpSwgISuc1t35PlXH5/z4aAn6mIg2X3/EkqU3rOGTFP+TaMMy1yEirhsMI8w9080t1S59WlgsDeMLKIl84Kubzjgsv0juOMtdarj1TsUBvYRE3Z3wsxU9mn4suLvJTsjjnZ62ZveNX2YQZhmTlsh2kccfCNxzeA+IzUDBm3cW7WwLnXgE0PVkZ8kv9jqECoE7kk4rdSiOq8FR9MZU99tDtA7qY/ytaNqXGqhM9aeZ4HLSt9Pl8gDLdUUsV9K+HhuQHlJUQLNTdRZMisLv/Clfe4VyIGWoxxWMtgMVHx1+y7H/LqhWJ9N4xvT4THPaYj5mKv+Y4Vn7GItNHkMV48acnJLe/Vzis8LRm2dQxmaVYIOuIvAwdTOLkSzAUHIwM9hB3YpFpgsqxxPZtgsl1yw1lxVzNh7DgN00CA8Ce0bUVisfHZt8l/A5KgO8kLJIhChOXm7iOPpvSule08W4gO7GXctO9VZrbfh0+dyiKEgwTab3lTb3l6G/0N5sESfYX0u2iqaxzUDBYj/TCCvjh/mYSfMJJCyqlD09Ujvz2KGqxluO0N4hlajFXVAusMWzzaTXVZzC9daJ63hNp1/cpuPl1zcoDBAmfcy0gEVsO1nqUmGbjxC1S1NPwlILw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(7416014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?A2K27dqdtes/jYrkDlt6CieRum8iLjECci59UQdiqNj0kmgv2TZ/BGEB1Ns8?= =?us-ascii?Q?J+savKg/zV1nIIudk7ayJ4HT/L4HfY5v+/xtTgY0FIXAfcq5VfC5YHQs57TS?= =?us-ascii?Q?/mHoI+1XwfvvLaaDuXN4g6C680G4N+D/PPvqYr+waMypMl86BDt3rXFDH3Wm?= =?us-ascii?Q?m1Ypv9uq04UmtpJsT3wfaHD8cCpOhx+UqL60fLr32atayFHRD9nZSj0UYf4v?= =?us-ascii?Q?ArQ5uj9z01Zs8wu0mrQq3sGw61yKrQpnLeWVK+EQ+peS2+1rzYSkX0haUG00?= =?us-ascii?Q?GvtBhBcHAiYs2deAPmM0RemCoNAiCSFoqer0cCtSRW8G6qgu/iyaxNjDMznU?= =?us-ascii?Q?zo1uqyNfabGAbg4/Q/Sh2KU3AvdAy2f5WjvJ31m0HcVf1qpsseU7SOIoyt4n?= =?us-ascii?Q?cVCR3EUYF8qTc9dPB9F1D14u2knxZYnyHu3ezRi1KSXtm6voAS2xyLzcLcni?= =?us-ascii?Q?nIeBfT9KTFHERAU1kii0mN6WMLTht/8g2ryUHd7sPCEWEScJTd8swWCM+3a3?= =?us-ascii?Q?QEr6RqQguwm8rf90WVDxmsxPYad7txESsi/GhDjatCQUIV7gLzJmR4TVnHj7?= =?us-ascii?Q?VjLXZrBhbkv7N1hQyqfnFE/vzKb7e9Rb9F+vjttHphNjHhRDKyu3Xst89y15?= =?us-ascii?Q?YLy37UJAHibQcA555Nl+FCy1QbS9X+X8dSiy1T2cYOYIIWUJIo5+8O4DgwgO?= =?us-ascii?Q?LZxTyFiNO0x31nmR4AkOqIh6A+ra6ShHTmvbrNVv+BOP/dFfdqZ/fNG+Ugn3?= =?us-ascii?Q?0LlUjZarPzZpLuBwxHEsBBCfpu0+zYUeOE32XPfK+Zgld7jHHTaqLAc58vwB?= =?us-ascii?Q?1UtLMxFvPuf7SU7AHB3dp2Bq8sn/yC7xibQn/UHNZBbmlUWUOqy+WwPqy0c7?= =?us-ascii?Q?wBzucplZOwyEG1oiZ+4q3UVLPOz0FH8ShhL3aYEwjZHP6V2ajUzLsr+niLnM?= =?us-ascii?Q?yJeJMBkZFZQouqiPmWk132Yqb0HIwpMQPHyz1A2zCKhYIPrM+GNYmzw580gk?= =?us-ascii?Q?z/HP0QbFTFH0FaG0TfbvI7fCGHUvleWiXT66ub+ByD7YCqUrQ83mAq2VrdBi?= =?us-ascii?Q?NAbHBPZ7sdHxlwq23FBmWo+qlaRWSpQXqzqlqrOxdwsqBXA41heVdI9Daf7o?= =?us-ascii?Q?QrYGL7I6Ieo5MU8P7WjpCZqlxsYMkGZYBCEQi0LvunVKzZExa88YzVv7+Q6x?= =?us-ascii?Q?YZxaTNYfVAxFkdDUCoAfGAnS7yoXdWJ/0V4JMZ5y273OWhMfqkAC6SJe9CSC?= =?us-ascii?Q?OSggQRubzc5GduP0/vcWBscfbs09v7Zszr/Pf1KE0R+1uSbgtzVHX1soGg9K?= =?us-ascii?Q?s0WQUzpsIohVFgOiqwIxuzaGdyLixE/621jJlGGxQmtN4s7zCRc9vvVPUZh1?= =?us-ascii?Q?X/I82DWXWfaTUJ+W00ME28w7M2+oX4dtvbRr74qHF+9pclYt1oTdWD0iIK5j?= =?us-ascii?Q?1au0+mMVDBSpPfSsL+0qtqVnSAjxoK9mtT1briKG0pS1dtE9khd4rTSXlBkP?= =?us-ascii?Q?BSQ7GzURXvwnuM0sCTrcMZWfFtZtYiKDspcaD8UDVv/qXm4C509psYRHCRcl?= =?us-ascii?Q?fMfx3s1AmQPjk4iy4dEj/NOpph0NXl1RCRoDvxjunFL4sjqmeBl7auLlV3BK?= =?us-ascii?Q?w5NO0/Rkc0ikgQv0BlS5zqt95l69ulhzf6lY5ZdVNiZ2Wi4uzZpbF5WW6yD9?= =?us-ascii?Q?nExunU5dsSzaTF3MnKAUtlH5nq2O2ZQEQHSiweKwvrKjgthAV49fsMi9NBcg?= =?us-ascii?Q?3Mgi6ZJrUQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 31bc26ea-6f81-41b6-abb2-08de8e714d37 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:41.2285 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0L+bvnLg4iORJMR3WJ717Ivev0zqH1CGvoTK/w4mMMKyToDp+6vCQKzN9AQJhZZ6PU59QzBs/ZM46yRhQaV3DQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" Update some helpers so that they are capable to run commands on different targets than the local one. This patch makes the necesasy modification for those helpers / sections of code which are needed for the ethtool_rmon.sh test that will be converted in the next patches. For example, mac_addr_prepare() and mac_addr_restore() used when STABLE_MAC_ADDRS=3Dyes need to ensure stable MAC addresses on interfaces located even in other namespaces. In order to do that, append the 'ip link' commands with a 'run_on $dev' tag. The same run_on is necessary also when verifying if all the interfaces listed in NETIFS are indeed available. Signed-off-by: Ioana Ciornei Reviewed-by: Petr Machata --- Changes in v5: - none Changes in v4: - split some lines to 80 chars Changes in v3: - added some more double quotes Changes in v2: - patch is new tools/testing/selftests/net/forwarding/lib.sh | 19 ++++++++++++------- tools/testing/selftests/net/lib.sh | 3 ++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/= selftests/net/forwarding/lib.sh index 83249aafa669..d8cc4c64148d 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -546,10 +546,11 @@ mac_addr_prepare() dev=3D${NETIFS[p$i]} new_addr=3D$(printf "00:01:02:03:04:%02x" $i) =20 - MAC_ADDR_ORIG["$dev"]=3D$(ip -j link show dev $dev | jq -e '.[].address') + MAC_ADDR_ORIG["$dev"]=3D$(run_on "$dev" \ + ip -j link show dev "$dev" | jq -e '.[].address') # Strip quotes MAC_ADDR_ORIG["$dev"]=3D${MAC_ADDR_ORIG["$dev"]//\"/} - ip link set dev $dev address $new_addr + run_on "$dev" ip link set dev "$dev" address $new_addr done } =20 @@ -559,7 +560,8 @@ mac_addr_restore() =20 for ((i =3D 1; i <=3D NUM_NETIFS; ++i)); do dev=3D${NETIFS[p$i]} - ip link set dev $dev address ${MAC_ADDR_ORIG["$dev"]} + run_on "$dev" \ + ip link set dev "$dev" address ${MAC_ADDR_ORIG["$dev"]} done } =20 @@ -572,7 +574,9 @@ if [[ "$STABLE_MAC_ADDRS" =3D "yes" ]]; then fi =20 for ((i =3D 1; i <=3D NUM_NETIFS; ++i)); do - ip link show dev ${NETIFS[p$i]} &> /dev/null + int=3D"${NETIFS[p$i]}" + + run_on "$int" ip link show dev "$int" &> /dev/null if [[ $? -ne 0 ]]; then echo "SKIP: could not find all required interfaces" exit $ksft_skip @@ -655,7 +659,7 @@ setup_wait_dev_with_timeout() local i =20 for ((i =3D 1; i <=3D $max_iterations; ++i)); do - ip link show dev $dev up \ + run_on "$dev" ip link show dev "$dev" up \ | grep 'state UP' &> /dev/null if [[ $? -ne 0 ]]; then sleep 1 @@ -960,12 +964,13 @@ ethtool_std_stats_get() local src=3D$1; shift =20 if [[ "$grp" =3D=3D "pause" ]]; then - ethtool -I --json -a "$dev" --src "$src" | \ + run_on "$dev" ethtool -I --json -a "$dev" --src "$src" | \ jq --arg name "$name" '.[].statistics[$name]' return fi =20 - ethtool --json -S "$dev" --groups "$grp" -- --src "$src" | \ + run_on "$dev" \ + ethtool --json -S "$dev" --groups "$grp" -- --src "$src" | \ jq --arg grp "$grp" --arg name "$name" '.[][$grp][$name]' } =20 diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/n= et/lib.sh index 3f79bf1ec977..e915386daf1b 100644 --- a/tools/testing/selftests/net/lib.sh +++ b/tools/testing/selftests/net/lib.sh @@ -514,7 +514,8 @@ mac_get() { local if_name=3D$1 =20 - ip -j link show dev $if_name | jq -r '.[]["address"]' + run_on "$if_name" \ + ip -j link show dev "$if_name" | jq -r '.[]["address"]' } =20 kill_process() --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013021.outbound.protection.outlook.com [52.101.72.21]) (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 4BBC2366065; Mon, 30 Mar 2026 15:30:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884648; cv=fail; b=ApaG7fD2fOMQ56fRC61zi5kKEjrsMmSZ4wCAL6ybrJ6lyMp4UugQiuLzpYnhvU5b3/UMYLZIF4UpAn3v1jfCIok4Cgc9OYpmmqsYy8c09IYqU6HIYSU73U4KVEKU1jZAs6WgS7BqNHsPC1ZC+LwJ8CzCnHMhFxpqKNvznpEkMLg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884648; c=relaxed/simple; bh=Jpv7Gq8ll6shbnOZYdrFst1pdW4ArKTreRLu/XrHeSY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=UhWydMjirwND+ei8Ll11yb6eOa2T1r7CwpMIT3/dIbvqDsAoM4yOGlKjEsK+FlFTjxd5Wqy8KWGRyaL+ZuJuE5sykmOetB/53SMZ2HjKU23nD5ov0CWb/eWjO8+Hus0VapN47JzL9/0X2XSQgw6plDCY/sfRNOnbfiuBdFXjE+Y= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=k0Sv9IFB; arc=fail smtp.client-ip=52.101.72.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="k0Sv9IFB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eIOO+zrHkYVjeFPcqtEAl5D4ztTd83MUbXbi9mhviMvUTmqp+UaMBMGlNawOToR6AYp1bnxk+B6k2zRwis1QUVIDS2NR//HOyOOjsC0iABm3t3QFtWpCsaJfkMjLi6Vk62HH9RAgcI/1ZZG+7oEG5dhmny/87q2FLbKW6gPjj2jTa0JQ6yAum58j5fvHKM+tyabMp+76lW+/ROd905qcGIdhbpO9Ow2XNIiODR7OURBbSzoRO+6rjJPWwDnth5ClzBLVg8oOe2uI79MnMCOtJOT3WPqIaBmclACi5Pi61wBf56FbO+T56jFfmKwR3pMG1+pE7S9urieIeNli0f5Mig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sdYqkzjnZPX3l4LrsA1HiLWXnGkw3HGGGWBtoVMQAbk=; b=yg4gEkDOa8dYZ2glpq65V6rFER1E5cpMfwTZMimigYw9wfs5Vwi9yOstXWFNZUtmg6MExeVUUQLzNcpfHPC+Wb86/v51txoV7dr/+kGf3jhBn8vG8UGkPtEt0rSWpbq15EDUyo35PO3OKDY4/v4Ef6iv+gJpC7EBvMvxkOv9ZdqomOExZJoKBqr7yOt5WT4XImGRF1DZIS2zK7YQpgRGryvsJ3eOfuARtDZhb7a0W01YM7/kCZxijnNksHZOUAZPM42pVux8xTSObDMiYWIdiQmev7bwW6F4717mtyH+5CxcUqiqhZOLfBDYs5YNekavBd9ibG3cucAVla1bjz9cXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sdYqkzjnZPX3l4LrsA1HiLWXnGkw3HGGGWBtoVMQAbk=; b=k0Sv9IFBRXW86ksxz/jKGYnrxjQPccSDNU6/rXB5dLVGgtIPce+plsJazJBPxP6EG6mjf7Cenb2SFkiKb/ELYrHMdDDQ/ss9Xdip3MbP5O9RaAT+NZ/yDb12NQfmFJBLtZaV0b8kCa5u8yPG1BqSAeY2Dott26Vbn84UBIP54rEvjUNlQHSCUMgT4tj30LIvMt+FBWYeM9WtHy9ACJsHuJu1NMt185pvNze4rHjrYdmKnjQ5soz96C40pmTYm9phCmwx+3eJ6Sqoihtyp2e3qxjm48Y25sgiR8thfKYgk01yxHfeyV+glgoWo1/IwFl8jk74k4uCmSxQ/+90VdD5bQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by DU0PR04MB9372.eurprd04.prod.outlook.com (2603:10a6:10:35b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:43 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:43 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 4/9] selftests: drivers: hw: cleanup shellcheck warnings in the rmon test Date: Mon, 30 Mar 2026 18:29:28 +0300 Message-Id: <20260330152933.2195885-5-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0P190CA0028.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::38) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|DU0PR04MB9372:EE_ X-MS-Office365-Filtering-Correlation-Id: f33f82a1-e3fc-4bc1-fe11-08de8e714ea5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|19092799006|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: awDvHoRlz9Fa4CKXNVK6RNzgdJIus6W1kBDBw5TcZx1cMojjDggjo+Ippa8wC3lWodwFSmfUpQjSKh23JiQLa9zOmEwQ6r+/aBUEvr54Sd0rjuIGbBs3jrJPnn+tpVfYD9341MzCxx61X/ydUzFiz591kwnQ9nefq8o7hSTFBH1zf3X0g80wioYmEC+5U7Mvxu5kDnTY6Cy+hkLZSF4CMiBpPHoWn2Rq4WXGyiiAZYXSihmK3DNlOtLwKXSkESZ377Kc0YarFbFafXzlgdrfX5IuDriuBwJJjCiy/vUHpzXHzwFUKOh3UeJSgPSDa1MTwlexNUeHAvQXN5AoUAiUpcdsUf5AWG8+jQARobDPjkQUja/C0ZXRuSj/X9sYbURTIYEIcDTJ8nsAiXEjF5QVPqsSroulMdUKvTHtg2aKGvdM4jXEqwuLDJGQAdJ/sgOVx4fyB8Wz0gHpCExrDx46DIQhf07W4cRWmP/lNNKEV+lyeUpk3ZGpttgEKcOApmGjK2ZYs/rxt+PuoS6c1hW9UrqYgdbD+1Apy73+VUYTTwsw85HCBwfGweZh0u1ze0qfwi8BpMxqVCneMvPoe9Q9P60uBT/dAQw9ToDcVl/b9y0dxf6KAKCvDIGBcvvY+nUmjH7FdN7OMGYmiC/RSDvEcJDiLI0iFcc3SrLcGFskYZkuSbDuBc87hH+PbViXl6ONjxID1jLfNWRnMmUI5PmGI3eKKr+EPicuLBHWjrbfAgo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(19092799006)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?v/ZxoDP6dZZE4dyKhTHQJm+9aM7ewDokYJctyI3gMHVbqQKPSxn4G6aDR31a?= =?us-ascii?Q?b02ZeH82mxkLYw+3vgwphNwZvTYLyYabbvm8aIiW9xnSVo8GRr4Buj1NKCkp?= =?us-ascii?Q?bQCh5hJPzPGsjFTBtfoKFNx58IwDiGpEIycVVyVlI4XRDUSOG10y45ovBtaY?= =?us-ascii?Q?8WWTMSieWLOAjtG66Xo7Jz/oDZ1hoCf1QLg/26+441P6xxWevA7jajtz5/X0?= =?us-ascii?Q?9BN6c05pmh6M169553P8u/XJCjtgxDK6Xgj7+3+uldHwv3uMQa5c0FZqfzoT?= =?us-ascii?Q?bmLHo5vNtSOX/FwroRyVtBnxlHtEY0h+eNbZ2ikZFYZHHUCDn4uzMh1PGKIe?= =?us-ascii?Q?wkqK4bBXwxzOhdlZv7LEUDyjelgWInXfpdztBGAHOSNCvDN6aHORHPRA8qGI?= =?us-ascii?Q?2wLWxXGYDU1SRroMnFRybi9qWnUCJLh7VIMXwjPIpx7Z73m9mwv5lG13BD8+?= =?us-ascii?Q?6koa9OdkAy0RPE9M6TpHMj9qZhkJT09s9SvRaXaKvLzpCSyIdD19NhznD+7T?= =?us-ascii?Q?rvWj6VDMQVTxpMNofV09c+tPZS2Tqvf6dNvj8rFHqSZ3Yny5qX6rdGrUQnDe?= =?us-ascii?Q?jiM2teZhbumSCZ136O34I8q0Z2R2QS8/a9fqTsnuY5xxvuQQjzsQxs5k9j2d?= =?us-ascii?Q?DofqHbUwIZpZ/uFGUBQGZB5sRWbskD6cUgmrElgONn9oogoJif86ihilnceW?= =?us-ascii?Q?pGXEM7ibDT7bxk1FMacyezT0A5Tm3O7SylgYTq55qCBE0n6ZoR/jmm7MeRto?= =?us-ascii?Q?CxTwNM2kJXzx7aFbsyh74gK0xA0UBxEL9xWwtJb+LXHjnBglftfPlLn7q1fN?= =?us-ascii?Q?5X3Je1JogVehICpP9/3UhswjQcZy4F1h5fxkcHM99Lrl4fMD5yR+NVkdK6LQ?= =?us-ascii?Q?bOvwl2/9576fOo9j7zZ0X3ZpBonNWgvMi0xi5KmyluKKmGFLgk68Fe9xYC60?= =?us-ascii?Q?gmhJB4KMAaZ4uWsdzyKS7BNqvM/f1rSGI3TYsNFrOfagHDncPHMbxXv0t6DP?= =?us-ascii?Q?7yDbpGNHzMIXqpwfdWBfiAXtjJ7E7uh5gDszsCkzNVpOmcMZc2UELU1rZ5xG?= =?us-ascii?Q?kv4waExAxqyzGS6F7Gd4WDIUsTUZMi43kIpBvyGdPf4k0/40qxxmGpip4eDq?= =?us-ascii?Q?s8/VW6HVG0KeA/QGdTwkyRhljWfjcX+rhXIrAP10D8vHPoD2Wb8yixYhgs1Z?= =?us-ascii?Q?ClxQRlfe488peUdIWWQtoZwl4iGjQ2Mk1pycvaL59iSW6iPv8VjmePRQ2GT8?= =?us-ascii?Q?hvdCGazT0/F0Pu4wj87ug9npV84cK/Iq2/oQX4NkYuo+kZcD5ga/ui+lNXOW?= =?us-ascii?Q?pDX+MMfpLIT47GcGc2ljmrAU+Kz8SOddf89K+lZqrWjPTxd6dBmss93XsK3s?= =?us-ascii?Q?/y4J3z1wDdVUIF6rMlenw4Pla6GGPX02xLBfp+YuZ0FJew8lRTj8Sj73UnLX?= =?us-ascii?Q?meD0emUxMFJsQFnalRYNrJYTwJMvaE+r7MsC8PL+SlGPm1VyMi7OA4nxVaNn?= =?us-ascii?Q?j0BglKSDoxvbU95wCfyKe2gam6r16YsvRP7rTTCdPrkWd9WJqIU+3yalZz5s?= =?us-ascii?Q?NVVAQ18LrvyV0bWcsLjhksLaQR0HX4Un4C4tWOp0QozptqB50UCImJDEzAFQ?= =?us-ascii?Q?OI+7tjPag5oTI87YhKnF/RRnNby6DKeOiLjW3XxvCXgyOyO4uk8y7X9Fx27g?= =?us-ascii?Q?lAWJtGPV+szZ3sysZQa0D+RGQWFPji4aSiv7EXUIGJr5fWaeRlZaIRIZJ5R4?= =?us-ascii?Q?J+HS1hHNmQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f33f82a1-e3fc-4bc1-fe11-08de8e714ea5 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:43.6332 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3uVyWTRSJj9NVylzWkQ21TitGE+jMRW/YmXWpE6O8+uv4XwS0R3HUOsdaT25PkutAkBDsq8xGzd+A5WLNFHeDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9372 Content-Type: text/plain; charset="utf-8" If run on the ethtool_rmon.sh script, shellcheck generates a bunch of false positive errors. Suppress those checks that generate them. Also cleanup the remaining warnings by using double quoting around the used variables. Signed-off-by: Ioana Ciornei Reviewed-by: Petr Machata --- Changes in v5: - none Changes in v4: - split one line to 80 chars Changes in v3: - none Changes in v2: - patch is new .../selftests/drivers/net/hw/ethtool_rmon.sh | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh b/tools= /testing/selftests/drivers/net/hw/ethtool_rmon.sh index 8f60c1685ad4..13b3760e3a40 100755 --- a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh +++ b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh @@ -1,5 +1,7 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 +#shellcheck disable=3DSC2034 # SC does not see the global variables +#shellcheck disable=3DSC2317,SC2329 # unused functions =20 ALL_TESTS=3D" rmon_rx_histogram @@ -19,11 +21,12 @@ ensure_mtu() { local iface=3D$1; shift local len=3D$1; shift - local current=3D$(ip -j link show dev $iface | jq -r '.[0].mtu') local required=3D$((len - ETH_HLEN - ETH_FCS_LEN)) + local current =20 - if [ $current -lt $required ]; then - ip link set dev $iface mtu $required || return 1 + current=3D$(ip -j link show dev "$iface" | jq -r '.[0].mtu') + if [ "$current" -lt "$required" ]; then + ip link set dev "$iface" mtu "$required" || return 1 fi } =20 @@ -46,23 +49,23 @@ bucket_test() len=3D$((len - ETH_FCS_LEN)) len=3D$((len > 0 ? len : 0)) =20 - before=3D$(ethtool --json -S $iface --groups rmon | \ + before=3D$(ethtool --json -S "$iface" --groups rmon | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][$bucket].val") =20 # Send 10k one way and 20k in the other, to detect counters # mapped to the wrong direction - $MZ $neigh -q -c $num_rx -p $len -a own -b bcast -d 10us - $MZ $iface -q -c $num_tx -p $len -a own -b bcast -d 10us + "$MZ" "$neigh" -q -c "$num_rx" -p "$len" -a own -b bcast -d 10us + "$MZ" "$iface" -q -c "$num_tx" -p "$len" -a own -b bcast -d 10us =20 - after=3D$(ethtool --json -S $iface --groups rmon | \ + after=3D$(ethtool --json -S "$iface" --groups rmon | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][$bucket].val") =20 delta=3D$((after - before)) =20 - expected=3D$([ $set =3D rx ] && echo $num_rx || echo $num_tx) + expected=3D$([ "$set" =3D rx ] && echo "$num_rx" || echo "$num_tx") =20 # Allow some extra tolerance for other packets sent by the stack - [ $delta -ge $expected ] && [ $delta -le $((expected + 100)) ] + [ "$delta" -ge "$expected" ] && [ "$delta" -le $((expected + 100)) ] } =20 rmon_histogram() @@ -78,23 +81,23 @@ rmon_histogram() while read -r -a bucket; do step=3D"$set-pkts${bucket[0]}to${bucket[1]} on $iface" =20 - for if in $iface $neigh; do - if ! ensure_mtu $if ${bucket[0]}; then + for if in "$iface" "$neigh"; do + if ! ensure_mtu "$if" "${bucket[0]}"; then log_test_xfail "$if does not support the required MTU for $step" return fi done =20 - if ! bucket_test $iface $neigh $set $nbuckets ${bucket[0]}; then + if ! bucket_test "$iface" "$neigh" "$set" "$nbuckets" "${bucket[0]}"; th= en check_err 1 "$step failed" return 1 fi log_test "$step" nbuckets=3D$((nbuckets + 1)) - done < <(ethtool --json -S $iface --groups rmon | \ + done < <(ethtool --json -S "$iface" --groups rmon | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][]|[.low, .high]|@tsv" 2>/dev/null) =20 - if [ $nbuckets -eq 0 ]; then + if [ "$nbuckets" -eq 0 ]; then log_test_xfail "$iface does not support $set histogram counters" return fi @@ -102,14 +105,14 @@ rmon_histogram() =20 rmon_rx_histogram() { - rmon_histogram $h1 $h2 rx - rmon_histogram $h2 $h1 rx + rmon_histogram "$h1" "$h2" rx + rmon_histogram "$h2" "$h1" rx } =20 rmon_tx_histogram() { - rmon_histogram $h1 $h2 tx - rmon_histogram $h2 $h1 tx + rmon_histogram "$h1" "$h2" tx + rmon_histogram "$h2" "$h1" tx } =20 setup_prepare() @@ -117,9 +120,10 @@ setup_prepare() h1=3D${NETIFS[p1]} h2=3D${NETIFS[p2]} =20 - for iface in $h1 $h2; do - netif_mtu[$iface]=3D$(ip -j link show dev $iface | jq -r '.[0].mtu') - ip link set dev $iface up + for iface in "$h1" "$h2"; do + netif_mtu["$iface"]=3D$(ip -j link show dev "$iface" | \ + jq -r '.[0].mtu') + ip link set dev "$iface" up done } =20 @@ -127,9 +131,9 @@ cleanup() { pre_cleanup =20 - for iface in $h2 $h1; do - ip link set dev $iface \ - mtu ${netif_mtu[$iface]} \ + for iface in "$h2" "$h1"; do + ip link set dev "$iface" \ + mtu "${netif_mtu[$iface]}" \ down done } @@ -142,4 +146,4 @@ setup_wait =20 tests_run =20 -exit $EXIT_STATUS +exit "$EXIT_STATUS" --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013021.outbound.protection.outlook.com [52.101.72.21]) (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 37304368951; Mon, 30 Mar 2026 15:30:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884650; cv=fail; b=fpZFKgliwfeBoG7VfTs49ct0Da/LAbTZ93oegILf50v2GfDG2PkuDebzDs8jwnmj5+S/GnAD/eoRklb8FnF8hYdrVUcloBUJnAFKJusFYzDCDDRKwBOwvlFb7c3qyj9j22z5MGs6tqqkGwsA3i7zhuykwc3OroibKQ1LOeHL2NU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884650; c=relaxed/simple; bh=HPHpoNtH8CU4KZCM/h+rFPfUKY+PZlQptRZUuFqlgk0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=UtbJai2H/C0SxsOG4w7xj0fPtvtj1cGEpOoWqUeahKa+W5KQbjfnLbkoEj2xpqYARQSjLSBV0awgU9jmmgHtL5Vj2daavldYKiDEu3IVrAQuYiaH45aJR1p69kRzqPrc+SeLRZ4oRKHac+sDvkBEo14VLHEqPd4IwzwPWktMIhg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=iAET1fwa; arc=fail smtp.client-ip=52.101.72.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="iAET1fwa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=myitqpISlKVl2ONl18YV3hwbEm2AfSeI8r1Z2GbX46AaWhbdRSAUv8Yp/j9YUeW4P8wQC0vBWpz1+oHxBL0gLD2/RGTFTP4rkBEnTQpU7hquI2TzQv63xwWHUb/wRkqXl7klprvAIqIF4D9Wy1KxdM6QQd8qxYfume0MfY4y0oY2jrfAv45qU1DAmX1OvSmnk0SxI+uNAXaRf/LSR7r8yFuCm/IkTAItvDfdNHfEF481HqtWKFMO61YHWAGrUxyqC/5T18sFV8y7Yvy6nx0ZZyiIhLqCHdXJOJ1W+e5p4xe7oRmXZsa5PRzROUbJJ0CzSoOwGwxybVLRAvOtBa1LDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ewkqxQpS3MqkMYlsb6iuDYUivVANRhTnHceBlA8OtoA=; b=ATA6jjDFNEIqs/wjxYCS4mydLcoUuF8NmS49Md6QXJg6OV4f7xpuu+vnaxz47GkAOE8UAwZe0SEoCkC+q8km9CIPxgDOUNKSam9bgA58WwWf5IOzL4/2TKsDJJrumCWJ69PEdkFAfPjuoJtfw5W4sTFpMtsXI56cjjX0rnryAY0GA0CY35O2d1lVjDOMaC/mhOo1804htnCZEZoA0GqkEc7YOr2XzHaft0T9kl/4v7iVJEFOJIW4Nym+tfPGfaGtbRvk58bEr5SKM6nuaW05pKk2ml8eqnCt2+oi0PGeR8YhzbJW6QtML96suuGUJU3l6qY28/n6WRUvgnAybHm8zA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ewkqxQpS3MqkMYlsb6iuDYUivVANRhTnHceBlA8OtoA=; b=iAET1fwaaUecMpQ5wKGRYJxcUGyg6lm9xryoeys/njx1gB1jTrOLwISKiCbLXA7YORv3r1I+wO+RxZFMI1CRgiZYrK1UN2BbAmF0Qj1QNuK9GnbCsgi2A0gPzor+MtfG508DZ+8Va+8WfB6KMa6WTbQsqh5jvbsaNbRHUoncRyVRw+U3b+IaPTywhUWvmrzrhW1FXCHcgKGWbEwN0G17DHmMPb2/IgPKT1Y98DijT1pSvJISAL6aFdfl5YvOq+eAPOLj7RWfipOwG3bqPL3Phqf3qPOJcd2rE+LEYsf9PM4OkCTIhHbCiV04KHZGTYipkFE27bJ/PbmIoU+yCBVtuQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by DU0PR04MB9372.eurprd04.prod.outlook.com (2603:10a6:10:35b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:46 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:46 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 5/9] selftests: drivers: hw: test rmon counters only on first interface Date: Mon, 30 Mar 2026 18:29:29 +0300 Message-Id: <20260330152933.2195885-6-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0P190CA0018.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::28) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|DU0PR04MB9372:EE_ X-MS-Office365-Filtering-Correlation-Id: fbb94518-fef4-4019-03eb-08de8e715006 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|19092799006|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: M4FnWD9NMmML3SPI7C0eptkXvfdDHFBzXCtEgpix33v4+uYlI1Ksped/oen3gzdKXreUkXyCO1IqtxWRZ4pFJaSBVFkbn9gdzrzsJNHqxjcedR4FrA4FRfX5Mt3jgTaopysIfcbAICdL/kHuEkPFYglqtkQ2q4M4NrJzWpTSeJ0tqJzZS46dbtx/CO3NmqzwA1CBTWWQt4nourOb0sx9TPeshIiq8Mhxpd5zWgzNuQ2ZWl/2os1sh1bXv1ZVrmm4mDVKJ1cF4khmTA2KE9SnyNcz7ZcGuZZcLcVVIlzCEuRGPS7WWAgcjAg4egszJQxZDjmC1WxLEyPKps17vLznF0Xg/x11lM3Kdz961l/94P2iZrqgHB1hw8wm/ivoIVEoylX8ofcypebHd8y+DJ0sXixxOOHiMqGZls0U1ToNG5ocp7jYUJ4gPoogj03Usm85673M5Biml73sXUecYACZbBWzqTb+VBL+Wm/icmV5wbjjPcPa9M/2LUp6fwRCAJJwbzGIISrM9hrC8QXc9Uj4J0VdPXbg0eAog0i9AzEx+3KJmZcAMe/mz8RH4nes5VEcMRjcSezPjDeFL9oPxscg9JVjA1aF/75nF162kexn1z6fYQZ9G03wKv5tlhRw+USZNVF14RoISyGNjikSEdY2DhawckCMw/o3WXG0II1jTF/FYuPbbV9EjuY1Q3hYs+MJKc8VhFiLx+rsPV1hc+AZe5JbRjFUO/w1fO/EnLLBgco= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(19092799006)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nNJCBsltTsrlY3bxacbDd02WkgDf4uDFKYv9Q71zet5RqDBX52BsP5AwlFf1?= =?us-ascii?Q?CuAaQ++b4tmt3Au+gI8hCbfUmviLPplOGMgmXtjJYi2zdCIUADGWEqodmxbv?= =?us-ascii?Q?zhwMe0gdT01JqFXXBQyuaeChybFa491OTEic6RkXvGbElP/PLpgYiG2kkThI?= =?us-ascii?Q?WuyFAmFoeXZYKJVYcHzxtt54KcC2H1reE7YlusORu52m02ZvUOy6SfxKhIyp?= =?us-ascii?Q?/ZYAh0imoqt68810ZdXY5kVG+sRILbabS2Hr2VzX7TS0Un9ZyMWQsV7SIgJX?= =?us-ascii?Q?hcIJS+6/aR/Lse2vwm4uw2kkpqyExsmaYUmTni4dq0dRD4MZzmPn4K+oIaOr?= =?us-ascii?Q?xjSxldLGomE8Zy6oC3tXlvj4rK9hfzNC/KXc2RM55O8/CG6UTLWdw8A/eqts?= =?us-ascii?Q?30fq/i+fs4HaQCUlSCpZkTnag8Mi+lcf0XBbG2cj2OIIC8TUTefdrN0XKNIA?= =?us-ascii?Q?Nx+sijnejMNRn5BremJEJVynvYWM+T+thzbxcEPkIDsejhOWUEvMklBRzEbB?= =?us-ascii?Q?Aqh76ngPYLCaZ2J+LODnpIQZ/3bzxuWIC1DwH4V2UGeno7osrm1wLKSEKJsO?= =?us-ascii?Q?/0U1ko82g5tSfwJ+lzXCr6ApbmJ1+tRbqq0uLzZMWTXlfmBrEWlEqlX9cZmZ?= =?us-ascii?Q?VN/oNlOhiW2NP7wwqHPM9dj1hbp7sHSqaMTG+/ehUWItGQBdO/grv7lzprbd?= =?us-ascii?Q?oKhrbv2NkP+nNL02RfiXcnqyNVIBw1alwVwwH11rvEdyvBLSPnYv1YVe0KL8?= =?us-ascii?Q?2nGDUvNaqALx7IsgeQU71Xz6IBRCBJB1G8Clt+4B6W5rjkL1/jhdLJHfn54p?= =?us-ascii?Q?2JGnyhjWyzEL6k+EJT0n6eU/c2RF+MIxg5GYmZQLmeWn3ukpXYw6KW5Gijid?= =?us-ascii?Q?o1QzSSZyCUi2NG0NokZH6F4p0Nx4maeV4tDtba28NkdDhPbEMyKyO++pvYO0?= =?us-ascii?Q?AV2c7ad5GZVWVuf3y+Th7/Tc8IxhkcM5/ccUaNoHjylSibmOVL4HBdCbrsUL?= =?us-ascii?Q?D8pfWqCQnYyV3oscKX5plsxPjaoirSGU0wUNsy/2I3KOYRqIFhaeLqO6H538?= =?us-ascii?Q?zb0XYMtmbpZpXbhc+yZGjJx7JsaH5q+H+PYSozyDSYB/9OXtcYTxHaUIKWlJ?= =?us-ascii?Q?ALyCsKS94FrEurslklT2kPDfYUx28Wi+gfFJrxcOB8YtK1A12KZsWbgltrL6?= =?us-ascii?Q?0HJ+2WuRNzWTEteIXL7mNeKfCglOSdAMXanHiKlaZsLTi/dRtcT2N4/X1EnG?= =?us-ascii?Q?yzDljAXBJp3xfAaJnKs3Je75tBQ6bHGXBKkijwcW/+Q43x4f+HEcdD/UGeue?= =?us-ascii?Q?iiYyp7UFTIFZdGRSDes8eW9mVVxt1EfT2HPSqGVxcu+a6X9taIHEe96tV9oF?= =?us-ascii?Q?6Sy0cZcBcJxWb+4jTC6+/SMrZgPRXpXC8piVLl23Z6iootil6pZmKFP/s4nA?= =?us-ascii?Q?fzaXXDbch1koAeb3OBFmwnXDKSFBja6Ty5/rDNhcE5dVb8S6IYzpfL6yVvt9?= =?us-ascii?Q?KlfMcF1UmYeVNUmU3nb7hyUFtk8ysPKjHyAev2ZeM9u6byGPOye0O+SyhJdA?= =?us-ascii?Q?TOMDIWMAo0Oisf7DrD1MrIHJvJsvAMVXUANOjzKxNOBatGoq1yaIaUPzq6I7?= =?us-ascii?Q?jboqBY558Nseg2r6aB3Md3Rd0Y9571YYYokQgsA9Z1o7sNb2f7GoG+IMbJHo?= =?us-ascii?Q?AeT1/oB6QOTRVCJn6sWat+SiTvoV1T5TVTEk/VNg3Ipkc/zUU51EJ3HIKR0x?= =?us-ascii?Q?qIgHzeIusA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbb94518-fef4-4019-03eb-08de8e715006 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:45.9799 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: E+xud0C8x9jc0HhSXKVJD09NSIV0uR0rJGHErhUmDUMinKkKDuEcJkiWZN176unWfTXGwFF1lQVwdwb/1GFtQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9372 Content-Type: text/plain; charset="utf-8" The selftests in drivers/net are slowly transitioning to being able to be used on systems with a single network interface. The first step for the ethtool_rmon.sh test is to only validate that the rmon counters are properly exported on the first interface supplied as an argument. Remove the rmon_histogram calls which intend to test also the rmon counters on the 2nd interface. This also removes the need for the remote system, which should be used only to inject traffic, to also support rmon counters. Signed-off-by: Ioana Ciornei Reviewed-by: Petr Machata --- Changes in v5: - none Changes in v4: - none Changes in v3: - none Changes in v2: - patch is new tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh b/tools= /testing/selftests/drivers/net/hw/ethtool_rmon.sh index 13b3760e3a40..80e75b9b40fd 100755 --- a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh +++ b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh @@ -106,13 +106,11 @@ rmon_histogram() rmon_rx_histogram() { rmon_histogram "$h1" "$h2" rx - rmon_histogram "$h2" "$h1" rx } =20 rmon_tx_histogram() { rmon_histogram "$h1" "$h2" tx - rmon_histogram "$h2" "$h1" tx } =20 setup_prepare() --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013021.outbound.protection.outlook.com [52.101.72.21]) (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 D5DE936C9E6; Mon, 30 Mar 2026 15:30:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884652; cv=fail; b=glEZMKmo+713TvPdifX14sB+MPrVCO/iSAjsqgdR0Rtma3RKtQWdI5+Ey09O6PhiHu3AjWSyiSxXEu/HuFtkCK8DtpMGH3SooNWyIonqahYfFCzkwylPBR5ZIF4JeeeIEGresdHUgRX9Jl3U66Ms/YcMppILewozoNUNaXzlPu4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884652; c=relaxed/simple; bh=53ZF15lwA5S5Ztl9mVLNgklp1vEpsLQ2F3DUkm80A10=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Y5VsflE8AIAMUy3P2noHHxOF/pUiAZbkROGk/D1a9C/0rVerjFb9ooPbR53z+OYHtaOLCCgUYHtseZ40aONWp82FtY/PhTxFT8/56LOx5BnDYs5wArIUV/EDm3zsxhaciAYQoruRDFksRqBkdqW7IJLeCJeHWFGNQZ7AmsLXukc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=YIsjU6XL; arc=fail smtp.client-ip=52.101.72.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="YIsjU6XL" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LktpSpurx6TlWaasg+DZXH/5ULHtWVSFV9ycw6xcmJff8jFyBQn8lBkRQV6Qegi3ikpx282zsPbuUChksJNxFqDXmbbyxolQKBm0pzVZBOAZq1OKfJyy6+V75zxe/oH5cSho1Mu0ZC7X8WXrZvtJ572jrwY/dDSqf4Ji1GUZ5WtsISngBPFlOnG1GJNFgD7/cfM0rsDSzRvny0+h7B5jEeZMwYzzUEbWzhzSC8KeBkYICtJIN4SiDqWij92Zm1EW4E/NTcXndiqykDviTy0YpZWuDsJ+v+pyKmw/Yp1sIOtvdLWTtCMKTL+glvMpH5VXM2JdXQRiks0MDUQ49ZifAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Lcg3ynY0gyERLnWBZhfn3C3sEG6Q6VdgGocQdK2/Tzg=; b=ZwX5KnuYUmRqRJ/woWHsr74Q/9zLWmNxzLoP5cjc0qSnIotqFmsRbZnbkH2UTomY+fK0Nuk3BL4beHl1SGmjUt/cXpBFDtn2Vfsr4WFbplCCpcD7VVco/HybNLBXw7WvvrxO4gJnqvWnWsJS+HnLPBU13mhXnf8OKgdAb6kamRke4IizzcACovTD2xwm7KFMleMayHxseTqUGRgTyNiUbr5MIT4gYXMifZ+0fsHVYi7/Fi2ny/PXo6axxgDqOGXyn+0PjkmUWRRdClnMjoOH7WKY12JcMLy50jOsauGqQP3h560hcsdFZoes69KFAf518H2KFWYvnVkQKbxXfC+6dw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lcg3ynY0gyERLnWBZhfn3C3sEG6Q6VdgGocQdK2/Tzg=; b=YIsjU6XL1k3vN6zUDn0KUmPCAJVGY1SAGVEpom/SQ+DAk4kyPsQVpHI95GI1paj6bEb2ySPVfp+QlYUMI5+3tNHAopOD9456tvyRQc3H25TMurMApW3rzNeW6m1DN+xnri4o6lCJX0PyeckOHZFPGak9bO5StUm99r92Mjzz0dQv7gGpJNIHyAUFRWCNvB9V1n8dBfycSFsSUAYq1orjOnPFDyBfsHIaoKvkDUFTobvvJmJ5YGbEa5/mnLBWAITKrDfZkzeTpOowZH08q3UQq13sdSPgTLfHoQas+r3EZBMJnX9U+rTGQeo5//fmb863kBD+5Y7ZBGrUFewgdvndKw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by DU0PR04MB9372.eurprd04.prod.outlook.com (2603:10a6:10:35b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:48 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:48 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 6/9] selftests: drivers: hw: replace counter upper limit with UINT32_MAX in rmon test Date: Mon, 30 Mar 2026 18:29:30 +0300 Message-Id: <20260330152933.2195885-7-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0P190CA0011.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::21) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|DU0PR04MB9372:EE_ X-MS-Office365-Filtering-Correlation-Id: f329b8c1-404b-4e36-ce73-08de8e715160 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|19092799006|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: UaBNJTnxTqTipuLo4lm4ibzDA2Sd890XYE5W7nwGeyLZGI6O2glEscwBb36WCPIBCKIAiLDzIMai92ZDcWlG7sb72UoAS9Y6B3nZQbyP9YAlMY35AzrOdPhen4QN18Nai8BoyOoKiJvslBLrrue9ypHquBLwSbAonIoY2q7SNNIhWe3hlWFBQRCsMIXynyAZvfmQHkbYZfs9/liR7sG6PAZjGuCC1J9B9RfEXuEkOllrx0MjbMxQ8MEfRv3ptjr0SjPwg1bWnmGujs/ei/PN3U1GKp6b4Eb3qkchu/gLiuTRlKAlUNwjngaui7IyK4I0RAMwY1ZbZ4oABbIXALAXxyYX4zepzYuCDlLkAxghtAqOGvCSjJ+tzfC89SPyKA5mPjl4YdLAyYdeMkNdWngrAKUGWZpjfH8d42YhAMxSko4gHUC6eFm8F6JIqrL+wFRW5tqXhwIcyPDMWTDPFYVMcYdIWqxMVRJwD9PjMhryzv4a6ccaoHcwua1VVmvmpL/VBFq8jglzqHzOKFnppcZgkDg5rqE1B+vK4ukmhSf7E3yfme4y8Qz7PZMHJH8Poa1naem9E+4VBvz4wTetirl/5Mi/RjDDcuikCIQIIHdg/1msFAv+Em3yXr8GT4B6eE5ghExzL/A8OOKdex9RGCAh3Nk0chqrSDj+Z6jnh8PnNYvaEVRa06W3LtWK1tlrKw9kshJl8C7YXhADSyFoWO5h2XDI5P809wYRz0oFKZXPmO8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(19092799006)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SvOiFLp2+pjx4KYINKNBGtQQ/7oWs8BiRwo5h7ptVbeDBuR5SebJ/0ly66No?= =?us-ascii?Q?NS6qW+Mti7g+JmAEv0cbwQTkhcXtnHVdyIXNmzNXF2S3X+hxXlEmqnKpgEUb?= =?us-ascii?Q?9gWUwOUzxwcm32SRpFUNFqGu6XsJkkmG9UmFY1xxVEzwRAx9BVocFfCS7Ejg?= =?us-ascii?Q?18QMEmei/zJ8dqQY2bBplQ6w7VwnmNJbFD4yqu2stw3ecZlMcwuo38oCzzo1?= =?us-ascii?Q?UVLI0wUDXDqr9ehDc2H+pTc7RcRHavcMLidwdjXDMDALvf/YqCWzQ05M8+y+?= =?us-ascii?Q?Wrfr9hCAP7336gv73R07n3KmiaAEGhyh9M4itH8Mank3n2eH65SXjZmWFg5U?= =?us-ascii?Q?LTe8IV4x77KbRzuKA5q81vS4ZisdoqxEBx8sma++2YIWvlcqxyj+PTQCry0W?= =?us-ascii?Q?uaJk5r72HPOA37mgAm1rpfU61+fZfvuraPzZ75q+oH2t4XcoscuOzhzeGGDA?= =?us-ascii?Q?t5BS8Do2TYLrDGYLm/hkN7DKJlTTBEXSPKlRUA0N4h62bliFkBsLdMXZOUe3?= =?us-ascii?Q?2y0BPnpX/JFUlkGf0ztoYSEpcxRjWWgz2M2m1dzSVVmiB3f4QYTjs9aCqrea?= =?us-ascii?Q?WuzDXnxekhkwcWNlnbK8Sg350nd5oUwNvg+BVCDsHzS1plXGyhpRA+FfXii6?= =?us-ascii?Q?6Kb2GJzo9Gfv+J+wIxinLOJHJw4Yk1zFu09pMe3kqQ+9YpY2ry4DfgLPdUxR?= =?us-ascii?Q?VEZtoHR/TzX7yXy4QvlPwC0cYXR4F1K1fs2/2zttrFpbMIpAxy7VLGHvIJlB?= =?us-ascii?Q?FweL4/EKeJn56zU/uda3RuUX/uk/CeCBfYl6ALgwrEcTyhsn+tg5btWIc/3q?= =?us-ascii?Q?lFqHCek88orTL5okZwxoKoatSkQpRbp9+ivHrpY7XLwI5aFwaWffkEIyNfia?= =?us-ascii?Q?4OARL/NAZjE7XPVDfdAOKlNT/9VUdFnOZdk/jFCDjv/QogyHNEpYSv7crpoJ?= =?us-ascii?Q?0Y6ZCidh7LUGC5eVH9AIIMsag/mH8APxxySQFG4b4BVdsDOZi5LB1DmpTatU?= =?us-ascii?Q?+Tktp09Qmx3JPuUz0pcu0jIvsVl5+wmjIdk7ZRABom1p4A5U6wN5aw95KQRy?= =?us-ascii?Q?qGsg4A548QJHw8GUTcq5JF0Tk5npZfVumqmhMp+89gUQX4Hhv4xJ/7ObLffB?= =?us-ascii?Q?jxIzxsHZ2I0PRArNu47FjVbBUd94BmjHUsSZCWEXgM5FsYavXMjS3BEVfkEe?= =?us-ascii?Q?bSSOvenw1cIwWAGEH7jEAUQMlpQS/cp+1HeMS/PBmIYrt17PobS+97AE7ZT8?= =?us-ascii?Q?/jJ1ntLYOwnWZjCzQmcdx/CP4StZDnldFxGpANM/ezWj1m08V+FTKneTJSEc?= =?us-ascii?Q?Xy4REDJ5oe4z3hUqBHHj25RVy+twzHY8ssHCodeceym+OJP5ym3BlXFjpzEV?= =?us-ascii?Q?/6mx/3xN8YwOScthUZV5vBH2Mm1IxTy3CveeFG5or24Bth8g5pwwEg7NQ+8P?= =?us-ascii?Q?RA3pstv92emxQ1n2sGX2ISiuLZSbK+pfYyxw/IRxLkTfo4SJ2nwKAdWYJKxs?= =?us-ascii?Q?5Yphm6zYGfqsR8BVWEfLf2X/wV45utsPVPojQYWSiUXYI6YaVvDBtADCCdiC?= =?us-ascii?Q?8Q3Rg4XmyGilmmKM0wjCLz8ZeJ//67MeyYB58Uxg3ga8HJmqsvDa3KuviHZT?= =?us-ascii?Q?qN9X9yxRnvVsGdIH+gKMIq9GvWK/UWMpHNOMvC9TbTe41GgLKLKl5a0PbebI?= =?us-ascii?Q?9zb82BwPEOS6Icf4fP6Aqx1n6yaJaNwNooG/wiCEx3acOIxFYCMrtPJ1wbpP?= =?us-ascii?Q?OaEOfJ+t2A=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f329b8c1-404b-4e36-ce73-08de8e715160 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:48.2607 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Zwz9d+PYkttpHhyh8OO1loG5WlXuAEQvm2bTc0XQW13ZupeqsCTfcm2k/VtLF4XYGNIO4d5teTLXNqzRnoXZOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9372 Content-Type: text/plain; charset="utf-8" The ethtool_rmon.sh script checks that the number of packets sent / received during a test matches the expected value with a 1% tolerance. Since in the next patches this test will gain the capability to also be run on systems with a single interface where the traffic generator is accesible through ssh, use the UINT32_MAX as the upper limit. This is necessary since the same interface will be used also for control traffic (the ssh commands) as well as the mausezahn generated one. Signed-off-by: Ioana Ciornei Reviewed-by: Petr Machata --- Changes in v5: - none Changes in v4: - none Changes in v3: - none Changes in v2: - patch is new tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh b/tools= /testing/selftests/drivers/net/hw/ethtool_rmon.sh index 80e75b9b40fd..f290ce1832f1 100755 --- a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh +++ b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh @@ -12,6 +12,7 @@ NUM_NETIFS=3D2 lib_dir=3D$(dirname "$0") source "$lib_dir"/../../../net/forwarding/lib.sh =20 +UINT32_MAX=3D$((2**32 - 1)) ETH_FCS_LEN=3D4 ETH_HLEN=3D$((6+6+2)) =20 @@ -64,8 +65,7 @@ bucket_test() =20 expected=3D$([ "$set" =3D rx ] && echo "$num_rx" || echo "$num_tx") =20 - # Allow some extra tolerance for other packets sent by the stack - [ "$delta" -ge "$expected" ] && [ "$delta" -le $((expected + 100)) ] + [ "$delta" -ge "$expected" ] && [ "$delta" -le "$UINT32_MAX" ] } =20 rmon_histogram() --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013021.outbound.protection.outlook.com [52.101.72.21]) (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 7F1EB36DA15; Mon, 30 Mar 2026 15:30:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884654; cv=fail; b=Odib4PKuH0xLc63nSEBl+X+F/rNx6bsy+mPMYhdj15BYSFltQYP2VCTIpd0JevtekPAfoYwSRKxrQNR/Xbn+R3nbTTlmXpKZ38s420G0WIAF/OxwUz62q795hVrJIuaXtmorzt9ow0CEdZeviglsVo5zcrQb4u0muaezwH+FPQk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884654; c=relaxed/simple; bh=2IBuZNVlc6obR7fOIgIENZADAGIlWPBWm0+5O9cMSPs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=qVc5v/kMRUJutN6JWVtrHGnBMITlBDPJri/DbM4PE5ozi8zgEfraGfgdMjp/RPazl2bcCo02moi3Exf2WKbMYiAhIjNesbTnuMOlOeVMXkxME9w3iXZVNQZ/RduBly7fobLhONJxw/unv5GI768o6RbfDTqLnXxWMDhIT5E1l98= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=KufxLA5c; arc=fail smtp.client-ip=52.101.72.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="KufxLA5c" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xbGBuMbWojtuPAL/oW28DfV2C3HqQxOR3XdX1w7Q4X6eMP74LU1+juFJwZ6EAYIuzz5XTDeS6GVV6UbrlRDZXZXVm2Fn1PgnwOqf7ab55JcxgPVnDqF5xFCys2mdQnIIylAAebn4rymKDJMf4imjH/gkHMqeYe64HWprsQP6NfrS/ikoq+euNpGHdKF5DUPJb+AO2ADTgnG1y4MsnisM2Fs7maWjf3PxEpIITOz+lQFcHiZrVydlU6Z9tsHl7uFGoZ0IhV0b8JKBJUtUwWUQTLeT2b+s2FqjIHfNDDP/rycLxxdn91H3Cr4bus72lA3fB3Ps5WesHle57GVCNIXKKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nzZRUJTmBH8C+syJy/ShqYdXiOV1Ucng4fbkLyjVOZI=; b=tUdiYFqb8siEyMC/C00wzzGqMqBDIAhhKiGdDBeGv0HPaHKDwBvD7VNazbKJnRCN50UyeG4N4zM0TyrSPCoDmQtmfVmBSxTzU9rr+KqPiZIvBcouZXFBSQ4Suzs7nVVdCxN1JSi0tmeaSeNM5OzKlLwMB92zcXgK6yZHGWUXrIwALR3TevvUS6i4RNqyyfHURba+YuA8nO965+b/vt6D+2d+8CbCW5PCSvCMwE0UBvScKy2jZzpZ422wS/MIoA3Y5yVe8uRlsd0F1jvbcLccMraaQimhQB+FH6llXJ+sGjiIvM/G0sb4FmxelagDiMJ/itfjI/HpBXOzVn3wKt8ADw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nzZRUJTmBH8C+syJy/ShqYdXiOV1Ucng4fbkLyjVOZI=; b=KufxLA5c1jGx38yXNPXhziogI0ih78TlUTlk5sFlWJKXDCUrn5w/6phuB2LTpNV8e7L4tWctR23K7iLQBKAomA0yzhkns5zGwQUnbovYQCeGg41CG4ebwynpOktub615nlzX908DtO2s1CjIdAyHSRMwP56ivJQrM4fgb2aB20zfIllfwHzv70q9+0Wf5ZcpgmkvHdmBq6dAUKwdIQVkOx6Kgpy+pEL1NrT+kFaVuvwHYpLfT+SyWVU/u84Y5+N6OLkoYl94I5Ag9EodblMFC9O7O7mmCCCWU0Ws4JGzpWK/3POa1MTzwf7raxz94WFYZkwFtJUOV+PE6TXpq6VPFQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by DU0PR04MB9372.eurprd04.prod.outlook.com (2603:10a6:10:35b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:50 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:50 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 7/9] selftests: drivers: hw: move to KTAP output Date: Mon, 30 Mar 2026 18:29:31 +0300 Message-Id: <20260330152933.2195885-8-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0P190CA0022.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::32) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|DU0PR04MB9372:EE_ X-MS-Office365-Filtering-Correlation-Id: c553d7f1-d82b-44f4-4ce5-08de8e7152c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|19092799006|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: VA5xTaNSGc+wGMBRVFD/wl+S6tkqI+98A4RchEgqF+qJf5tnoTUXhbAS0Hvg+Jm/nndHTjT3A4iRsYB9srIJDZKIY4O0PJjrJs7l/hlqT0jfl2Tzd/tCjWhF3D9BPckkBBrXz0nOKTy/TF1WuouwcU9ZCLA9vGFB+WtfPWfefYi8zmL2D+2bfJ4aGOWKOUBGoQWJhgyuBpx1a8OrEag3lmRv4iwKeuEENUJT1aRl9j7NUAcgDwyT4gSHnaPzhWj5PbdzoDKBCCVouEjnkx9FJVql6jKLqja+O3frkrv44JuMFnz6iCf/jGvojf8yYfVRh8MV0cd9/XTtyPKSATGF33o8gAWR/8Ww4/u4pS7J7IBb8dsYs+Pa/sk69uVNs9lcsYDaojfNapzgvb8N85f0zRFuTUer7ThSt5cyYEA2DDYEGXhvxjW9h3Pt7Id1ErdF6RymhiBW2yrCVSsb0VR2VgvNN33+qB9B1bAPAcd6rtfSwzDtV+KioVeMQINXtEYh9oj3RqDpmS2sVK9Mcd9stPOeDYifp1UFW5+MjhFyeWsQbpvnrMwOGpawT2/QMVqOlNKZrKjm+M2+f6Lw1DomONg5dwPfPoHznnJbplGv5yD4G0TLbiIJz16devb7gI/UtlMrXUfs1oaDBmQe+1BApKwDDYFEbMbB45lITjPJEiX6u2KFigI9GbwV0NGPWm4jtXAPmnznO5uDk5LH8eLNZEdYqqHcUH7e2IPb/3iL9Fg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(19092799006)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/PNW0e9GJfu+ZUEuYKqaVx+Xmc9yKbs8hrASxSZjXGtsNUuShMIi2jrAat2T?= =?us-ascii?Q?TerBrA0aUha1U7m8VHY5Vug109vbygke9TzBXpBjnNDNRC98HcTnis2568Sy?= =?us-ascii?Q?AGJMT2R4eRpBM6UDlHLUjh/zlX5aHdUlp5TwkR/WRjqxLVNdw7eSwCs0i8Zh?= =?us-ascii?Q?uKVOMbie0O+376RlIfghmPN5CUpbjfYDj/lFfyr6RMAv41lcyYaiNuYHqvHI?= =?us-ascii?Q?hGZFm5ly36Q0IxLUHYSgrSPYPe8L/6oc1zUXC3kUb/lSXUaoPDXxu8GH0y2Y?= =?us-ascii?Q?Lrch1CShZwBqeCSY40L6OFdfx4lrLs7GWkXI4NUI21XZwlphsjvItB2DHL9j?= =?us-ascii?Q?D8PAkTR+otVEgC/2IEBudQsBi91QaquarBaUbA5Bowurm0uBkaGCgW0vmdBX?= =?us-ascii?Q?fSv4mn5kNJ2gUIC9Bkwre5nkwjtQ6GfcaaZjenAR1XpvEuzz7KX7sYFfnlij?= =?us-ascii?Q?OlAYjuOW+b6eRcGuX3UdJtnwUM2bZCNT5kkol4De24yXqWCuoxjIu93Ecu1p?= =?us-ascii?Q?autatsYacAVEhL9LP2YkQug4B1kM2Telkv09nEz7JwM71fU8iOsA9Exsx01b?= =?us-ascii?Q?8IUHxjTBDHQzKHsBV5HclOD1rOroHgWSsbWwx5WrA/zv7nH13FNCHMMUjxIx?= =?us-ascii?Q?LDlDx4mh32KDxTsYsCKodACbSiRdmziGqyYXbFdAMtdhGScaa4Jb3cG2tgch?= =?us-ascii?Q?B0GLQ5Eo0W//vF5hp6MiITOIVWbycHNl2bOMmqaT6q0Nvxm4TI15Zsy4676H?= =?us-ascii?Q?6SyBjVJSlBc12k4At9HpjyUVD7b1d9CStYg370slNIvSWj5N7iUu4+J+TM0T?= =?us-ascii?Q?chPo9xT8wwiVD8GU2a4G47KQjFjFAa1k4W/bDlXinWnJNbtFG2k9roItnKuL?= =?us-ascii?Q?vO2HshEpLIWfpWtgQIyx+PUciyamz6VusZPS1CnximkCrLmrkHlyfrZc+Cv0?= =?us-ascii?Q?ggp7JTPNjMGROopzIvt/xYCZtwVx8vT65poJDPchODI5oFD8xoknn95X4Spu?= =?us-ascii?Q?uGYHneIat7MLSGEGhGKwIkQRCdMGOuQCIfBre31V2qJHDaSJjNwIPmx0sfw9?= =?us-ascii?Q?PNPZk6TcYA8z98TJNxPWRRLAsr7CpbC4RdfUU6Af2b+koFpdBIL/qxj2Qpsw?= =?us-ascii?Q?Sw1BXsx6jSXkul3FZ3s5GQ5unxazDS8Ot44qKsrefwuKrkTAfqDNGkzg2IvT?= =?us-ascii?Q?KPwu0X0SQdsKGl84h8RN+9BNLvc//TCimP+bwIPg86YqaJRD0lLzX0ToG9PG?= =?us-ascii?Q?bDgZk2vQG5VCZFFH4yA1X6kGLS0lAYqmb0dFYoRmiTMyIbqBbrQyGNkUcivQ?= =?us-ascii?Q?L5s+LBKrgTyd7F40HO2SWdkfe05MltaRkTGCoHlnh+fjHbOEedCSWIGaZ6Za?= =?us-ascii?Q?f81Oe4ZffEW8ARDmTqpMAOfGbUL+8z0+Ox9FZN8uVhlzJZ2nztqlOXE7tsB8?= =?us-ascii?Q?wttt+tGv/6GLysH/YJTGDoDAE07dxgk0HXUv1H+9+a9+bnM3Y33ZN+njISEu?= =?us-ascii?Q?VSAohsYA+P0kZtDR3kUrQs3FelMzBVqdLwKxROIm8E9ZHT51tdHgu85q5UsU?= =?us-ascii?Q?xw4oRziE1SJ4rTcJNREGC2mHbEJZPSM4BmY1sooMZQNCIepSaMfqGJ0mhCdB?= =?us-ascii?Q?9RfeuD7z49p0NxvbBy8RJJlPthQr1RlVDB4Zx/vdULp8Pjp80He3pStsy/8y?= =?us-ascii?Q?zUE6wfAakY4B8U92gk1Hh2MN8pNr1h5omLyvoUUIL3/P9e3LcWgRyUcwEv9V?= =?us-ascii?Q?gSXUuWdppA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c553d7f1-d82b-44f4-4ce5-08de8e7152c8 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:50.6053 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lVSLVHVc/5M4NpecrKn7Lj50miaMAd6lCp5HD283uvKnvBRUXfkqkZGj6AegMPnbzmf1vdMoS90IXhpKTB526g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9372 Content-Type: text/plain; charset="utf-8" Update the ethtool_rmon.sh test so that it uses the KTAP format for its output. This is achieved by using the helpers found in ktap_helpers.sh. An example output can be found below. $ ./ethtool_rmon.sh endpmac3 endpmac4 TAP version 13 1..14 ok 1 ethtool_rmon.rx-pkts64to64 ok 2 ethtool_rmon.rx-pkts65to127 ok 3 ethtool_rmon.rx-pkts128to255 ok 4 ethtool_rmon.rx-pkts256to511 ok 5 ethtool_rmon.rx-pkts512to1023 ok 6 ethtool_rmon.rx-pkts1024to1518 ok 7 ethtool_rmon.rx-pkts1519to10240 ok 8 ethtool_rmon.tx-pkts64to64 ok 9 ethtool_rmon.tx-pkts65to127 ok 10 ethtool_rmon.tx-pkts128to255 ok 11 ethtool_rmon.tx-pkts256to511 ok 12 ethtool_rmon.tx-pkts512to1023 ok 13 ethtool_rmon.tx-pkts1024to1518 ok 14 ethtool_rmon.tx-pkts1519to10240 # Totals: pass:14 fail:0 xfail:0 xpass:0 skip:0 error:0 Signed-off-by: Ioana Ciornei Reviewed-by: Petr Machata --- Changes in v5: - none Changes in v4: - patch is added in this version so that ethtool_rmon.sh is converted to KTAP output .../selftests/drivers/net/hw/ethtool_rmon.sh | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh b/tools= /testing/selftests/drivers/net/hw/ethtool_rmon.sh index f290ce1832f1..ed81bdc33536 100755 --- a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh +++ b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh @@ -11,10 +11,12 @@ ALL_TESTS=3D" NUM_NETIFS=3D2 lib_dir=3D$(dirname "$0") source "$lib_dir"/../../../net/forwarding/lib.sh +source "$lib_dir"/../../../kselftest/ktap_helpers.sh =20 UINT32_MAX=3D$((2**32 - 1)) ETH_FCS_LEN=3D4 ETH_HLEN=3D$((6+6+2)) +TEST_NAME=3D$(basename "$0" .sh) =20 declare -A netif_mtu =20 @@ -76,29 +78,28 @@ rmon_histogram() local nbuckets=3D0 local step=3D =20 - RET=3D0 - while read -r -a bucket; do - step=3D"$set-pkts${bucket[0]}to${bucket[1]} on $iface" + step=3D"$set-pkts${bucket[0]}to${bucket[1]}" =20 for if in "$iface" "$neigh"; do if ! ensure_mtu "$if" "${bucket[0]}"; then - log_test_xfail "$if does not support the required MTU for $step" + ktap_print_msg "$if does not support the required MTU for $step" + ktap_test_xfail "$TEST_NAME.$step" return fi done =20 if ! bucket_test "$iface" "$neigh" "$set" "$nbuckets" "${bucket[0]}"; th= en - check_err 1 "$step failed" + ktap_test_fail "$TEST_NAME.$step" return 1 fi - log_test "$step" + ktap_test_pass "$TEST_NAME.$step" nbuckets=3D$((nbuckets + 1)) done < <(ethtool --json -S "$iface" --groups rmon | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][]|[.low, .high]|@tsv" 2>/dev/null) =20 if [ "$nbuckets" -eq 0 ]; then - log_test_xfail "$iface does not support $set histogram counters" + ktap_print_msg "$iface does not support $set histogram counters" return fi } @@ -139,9 +140,16 @@ cleanup() check_ethtool_counter_group_support trap cleanup EXIT =20 +bucket_count=3D$(ethtool --json -S "${NETIFS[p1]}" --groups rmon | \ + jq -r '.[0].rmon | + "\((."rx-pktsNtoM" | length) + + (."tx-pktsNtoM" | length))"') +ktap_print_header +ktap_set_plan "$bucket_count" + setup_prepare setup_wait =20 tests_run =20 -exit "$EXIT_STATUS" +ktap_finished --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013045.outbound.protection.outlook.com [52.101.72.45]) (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 DED1F371067; Mon, 30 Mar 2026 15:30:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884657; cv=fail; b=fBU1rBacBxJ0HOjjCoSH7qfVznYqTxIvEcV37mjYs882b7tj6KQVL3qlQisC/xnb2nqJNVwZNA+8Vstqr46tRz4AkDWaw2V6b0SMRq7yxGDgVZrw/AtcluxpsIoN7X/A57FlrXX0mmUDB4V0Qlr3zp6SpzZmucnBE4KNbqg3Bhk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884657; c=relaxed/simple; bh=N6+AyKfszX3ej9xSrvQUD9qBHBHmQOwYCXePwyEJ1OQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=gRQ6yOuI8gFxr2bbGDWqR0/1gWIcDmvTPgyLHG+NKihzwA55U/s5DNKqeWZXJTpNU9eFfmhvn1HsKOWfPsYgpqVc5/ZH5TSbbny/m6kjZ+XP5BvBA2BEJbNCmViPiLLuyUOZieDyOh4kxegTD90MY+ioFJhD4nFX9sd/2MidpnQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=e5PxpMIt; arc=fail smtp.client-ip=52.101.72.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="e5PxpMIt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mopv2+Kzab03xwpVGgiIqpkz/kCeqfjaW07ypJgWrL7qDi9qhh3p7nCSiHH9uwvTX3RNfLpPZE5Psr1iRqlnhOXx+EiCj8PCJ+l/f0Fw+SqTtrc3k5SpzpUKNzPj/PFT10+gZM9qXHA8Er881Lx73Wwmlvo32AFOS/Gy4tNowbE6uUj8yqTIV4eDdGvVYAa3IcKcD18417BMFQLbyw9A+sv6ndoO8Y4zshjF8jbP7AKbwVzsNrOdNvLUpjF+vUsKnQjHw+rjNj+8FvgSAx8nql68iZ0OSL20GF3gaH3RXUCTZZkTRBnXIkgV1P6PST+0+sZYfEEuDuWKroGSjAa8Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ykhCU1u9p+b4wtD/xkjWx+TTMT9nSPhI7PzV+Oy5syo=; b=pU4nQmOAbMZDWfIp4ucKvNiJMrtQh0H7N/Qjbd2z8E9IDnem3XMz0ipNAygITVuLIQD4bggmXQ/ndm8Bwu3jn8vUSNwkktw3uLSfRNmGpBVUxEsmhRiLaGtXl6HGJAK7fA/8cIgnfBs4H3srOSCZ4sjkqKZzM6Ele5lMglFynRlghg/Z271wvRz9rVmwvlQzdg/4INugJZK/FRzj9SZR0/08i1LpNuMWV3259A5LiCSzAt6V3P9L2XsncONqo20UZOhY6GbeWVNs9JWXwLA//oNsth7Bmt6IUyYoou6qFEpLSNX1Cncl5rNrECYUrHZPBgm/Ppis0YMr2Ji+gXUpIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ykhCU1u9p+b4wtD/xkjWx+TTMT9nSPhI7PzV+Oy5syo=; b=e5PxpMIt7KoqhUFENcV3kdgeHr1ymw8H/WKRffBUv79BkBKMS6dr02bM++0RwELjnc/XdJjLarqX0GEUPfTiUtLtNPoio7mQdqJGeZidIUGD/4dOA7B5cBalbmRfvgojDcSGg1mno6orei3XZjY4jIe1lfMrV8gaq/bSyfxCc40JYuomxXc1Lw2pyizBjsYe0uU/0VXIvDOvLIazFlcEa6/PAE1B/uFbpIOJbVhwrNNzGuqKlsD17gWfvHThmdXPDQALcGrEI3RpS56fgq02StPkBsGhpMMLLq0lnWHNiLFAZJvJ86S+5vs/dgJiL5Lsehqw6IiqSSbill4HWXKesw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:53 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:52 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 8/9] selftests: drivers: hw: update ethtool_rmon to work with a single local interface Date: Mon, 30 Mar 2026 18:29:32 +0300 Message-Id: <20260330152933.2195885-9-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0P190CA0026.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::36) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 419b2781-3739-4174-c683-08de8e71542c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|7416014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 50Ot4TSBlvJElQ06+gN4cTcDJu86/qqYRGCykLgsHMF3AcnsQNKfuK3+hZ3J+2mXCr8rH8q2kHLGpJjz11bZbDRWvIGQu9+HK5P5BzZFtT0JwuPvVS4b7WCXrkoSW9rLoXN88GydnSQ5xdOEgnGodvG3BsT9LkVpRyBZ7cBbbQ2yAqQqAQOKagfmKBAyoVtdjWnkwNatNVYcRjjhOzzVfAsbKmpAzaggj+n0AVYuznb754jvcvmtyLorYz/+0cUPkNVlin5TcuG3Motm245Vz4syW1Q9wRURhTHhsBxccm285fhnvFJTp2d70f8hw67IblFOSEz2rYwsuHu5pGi20POkLIhMooreofq+8bskWQA0rQtVj0jE6OMu4HPhWqNkvj8gCo3B+jxOMU9AHzXSAvznUuJ03Ap/ygcJR1H1gsste0ZsyScPRKGKy6cNSkIdxTsojh0AnVXFIR9+EhNdAb2GeHoCZ5/7iKjT3w3Ec4yEKJaqZBIOxzIV6ZACOuu+esWTBWsEZfkzl7BTTlmpZC5iuLH03Y8ijRGbGz5XMLILAp8zQOM1IqNai9A5rLuWLhQU6sR9UsuPjWk6+SI5rfeFyo/PxuYGYfKnHQFj+H6+wpq9tFaJCUZMw3Ug4kwauHGMoj7rYpoJN6d+hRQa1Zbc+s86aZ6iw0EwtzurRZmedy0Cl8HRVHd0wxKvgY1LHl3vziClF0GDh9kwgsb0EhhTjpqhjCoUrSCPSc18ofg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(7416014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kA0ZfkPSz9q/oydhdCo4EANJWLc2xqo3FHDaD5GT+vkai/+5bOFxpDs1m0ro?= =?us-ascii?Q?ZfXZ2K0QWSI3Mg+DzPODyqc4JXEu4liOzB1fpfRbh3PkbDhITJFRRZEfxMGC?= =?us-ascii?Q?LwW+Z8/RcVEE/gE7WV7chBS8kG7OrttZKB31o4xM8vFH4Koa2aGxvzfUEl49?= =?us-ascii?Q?Rvh/5TXao0UAFzkAUufWp+ucNahyUilMbAIX8vXkV2qJPXXQ0DZlL/7v7tvl?= =?us-ascii?Q?bWW10gUkVgszZ+jY6Zzikv8xU+tTH0sQzC3TsBD0Q+/VnTvevh7KQpfi9JNl?= =?us-ascii?Q?s2IzE7EJZxFsGTrh5aq0GKZNtNp8qfcaxMCniaUFx67Yf6bnw42DnyhvPKpg?= =?us-ascii?Q?udSXutpnBPVTBExgo6BQ17i6K2xecbNbIyLh7mm+jWBmi/yT7e0xs2SoMo6o?= =?us-ascii?Q?XMjFC95On2fBzp7v70NLFoiV9n47k9aD3ptt0lp6I9aILP+c5kH1HyjG+/TW?= =?us-ascii?Q?QvTwIyjlCueYprizSCJK8ksDk+12azEoP08dYZaGC6XRoIhbJ4RRLDJZxLRt?= =?us-ascii?Q?mmKCb/N59kXZnyUgRIKAtrlmxRg1bxbj9EGTQMqPD/WupEFGu7mCJ/rnq38C?= =?us-ascii?Q?/xQX7pP7WAGndikxmeWKtwb6Z95mkzhSZRt5PhcS2MZOFAYQxHE41PCHTw/h?= =?us-ascii?Q?Eg8Sa/WFD7ROIRTa6rFjYfqVVTybrMjCtKSKt6jj6BF2aDGR4dk0Jj9Bdu0m?= =?us-ascii?Q?3gHM5vJjY6Q2sr4Bs4sBEmvh49Nl1s3r+MqjjbX9nZ110D/XJAPGuW2HkkXz?= =?us-ascii?Q?LG6ntVkxBiwOgpBGTjWw1DS/9cFWUlNjh1hIUoeH0pHrTBWIZHL8dLFrcnWZ?= =?us-ascii?Q?Hih7QZD8Dc29+F9pQDe88a2vatrWvMtxP9Fe+2uih2Y/X8m+KI96zWAFDnSi?= =?us-ascii?Q?V5sZg+0bB0ktRQEeZfL6U6MHz3mkfhzoukxjBRaxFIXY+nAWAm1KWo17KkQr?= =?us-ascii?Q?+ee5i+s/MNN2fHanXpE2qGTk6JganvnPLbs1YC35WxoC8P9UbqUEndzSaYuM?= =?us-ascii?Q?dCuwtOjYZABJbaIBpNN7hyLmeGRyTpHZBnBJVKYGIRIZPaw2F6re/AhA8H0u?= =?us-ascii?Q?919+KaI0BQi+FGp1GIyTJ2K7OR5/ZK71bGzdjvIf5LNlROrta4trTiwpCvNP?= =?us-ascii?Q?tApOp71Z63csVti1tGRs1f5c1fMQ56wmYm9LeRmLqL2oVkiwP8h4hSYMk2BM?= =?us-ascii?Q?imS19fU4Ir9oibXA6exgklz3e+jVTfr12A9G96B+PNqluxkzWhcZWxK/iz++?= =?us-ascii?Q?sHRalicdpOtNB2oQsL3xMdezCKpnFDHLuGFYAsKUEGiICr1alBOwygKq10pX?= =?us-ascii?Q?jHc1OVnM1YzTv8lhUtRf1URlNlIUIJ5VYK5pvrishBlScAXWE6JrpaAQcuyW?= =?us-ascii?Q?juQv5yyvELor6RsA5AdQF5GHva1NONEFzyEKI/9myjNQZ7/B1+vmfUcbM9vV?= =?us-ascii?Q?k6aIDGdYo7cAR1vQqDxmYcBWtGXKZgGkUpfvTcyRJTHYj5qnsq9UeHpoQPN7?= =?us-ascii?Q?infOGWf25KCKzOqGKGpSCqUax0OzDbd/Bq5m0EiGeYTwa9eUPj+dtPTsQlT7?= =?us-ascii?Q?6WVxGDbaU9Hz3336jtfy5yl3bSdUFFGchlz2zmOAOu+UnePHBUmgK3ZhblpJ?= =?us-ascii?Q?lcTL4TL2mgzE3xiz3pgPmZ6uNmFqjnbnAdxBuWDFAwS5nieCGNxJ1QNZLEpG?= =?us-ascii?Q?aEOSHxHHf/RMXCGps1hUVLj3B6w3DFwnhVfjv7Wy43Dcy4vACidDNj0/fvZ6?= =?us-ascii?Q?JIM8JV6now=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 419b2781-3739-4174-c683-08de8e71542c X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:52.8949 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3iDoLUicAr6cGE8fxwW7mN0Q7bvFeV8g/+6PpnZQpEiiuCfkYDNioFWXkXQ7+hwNncFHidfxsQHs7q5HDA3DOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" This patch finalizes the transition to work with a single local interface for the ethtool_rmon.sh test. Each 'ip link' and 'ethtool' command used by the test is annotated with the necessary run_on in order to be executed on the necessary target system, be it local, in another network namespace or through ssh. Since we need NETIF up and running also for control traffic, we now expect that the interfaces are up and running and do not touch bring them up or down at the end of the test. This is also documented in the drivers/net/README.rst. The ethtool_rmon.sh script can still be used in the older fashion by passing two interfaces as command line arguments, the only restriction is that those interfaces need to be already up. $ DRIVER_TEST_CONFORMANT=3Dno ./ethtool_rmon.sh eth0 eth1 As part of the kselftest infrastructure, this test can be run in the following manner: $ make -C tools/testing/selftests/ TARGETS=3D"drivers/net drivers/net/hw" \ install INSTALL_PATH=3D/tmp/ksft-net-drv $ cd /tmp/ksft-net-drv/ $ cat > ./drivers/net/net.config < Reviewed-by: Petr Machata --- Changes in v5: - none Changes in v4: - set DRIVER_TEST_CONFORMANT to yes - update the commit message to reflect the current output - split some more lines to 80 chars Changes in v3: - none Changes in v2: - patch is new .../selftests/drivers/net/hw/ethtool_rmon.sh | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh b/tools= /testing/selftests/drivers/net/hw/ethtool_rmon.sh index ed81bdc33536..2ec19edddfaa 100755 --- a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh +++ b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh @@ -8,6 +8,7 @@ ALL_TESTS=3D" rmon_tx_histogram " =20 +: "${DRIVER_TEST_CONFORMANT:=3Dyes}" NUM_NETIFS=3D2 lib_dir=3D$(dirname "$0") source "$lib_dir"/../../../net/forwarding/lib.sh @@ -27,9 +28,11 @@ ensure_mtu() local required=3D$((len - ETH_HLEN - ETH_FCS_LEN)) local current =20 - current=3D$(ip -j link show dev "$iface" | jq -r '.[0].mtu') + current=3D$(run_on "$iface" \ + ip -j link show dev "$iface" | jq -r '.[0].mtu') if [ "$current" -lt "$required" ]; then - ip link set dev "$iface" mtu "$required" || return 1 + run_on "$iface" ip link set dev "$iface" mtu "$required" \ + || return 1 fi } =20 @@ -52,15 +55,17 @@ bucket_test() len=3D$((len - ETH_FCS_LEN)) len=3D$((len > 0 ? len : 0)) =20 - before=3D$(ethtool --json -S "$iface" --groups rmon | \ + before=3D$(run_on "$iface" ethtool --json -S "$iface" --groups rmon | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][$bucket].val") =20 # Send 10k one way and 20k in the other, to detect counters # mapped to the wrong direction - "$MZ" "$neigh" -q -c "$num_rx" -p "$len" -a own -b bcast -d 10us - "$MZ" "$iface" -q -c "$num_tx" -p "$len" -a own -b bcast -d 10us + run_on "$neigh" \ + "$MZ" "$neigh" -q -c "$num_rx" -p "$len" -a own -b bcast -d 10us + run_on "$iface" \ + "$MZ" "$iface" -q -c "$num_tx" -p "$len" -a own -b bcast -d 10us =20 - after=3D$(ethtool --json -S "$iface" --groups rmon | \ + after=3D$(run_on "$iface" ethtool --json -S "$iface" --groups rmon | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][$bucket].val") =20 delta=3D$((after - before)) @@ -95,7 +100,7 @@ rmon_histogram() fi ktap_test_pass "$TEST_NAME.$step" nbuckets=3D$((nbuckets + 1)) - done < <(ethtool --json -S "$iface" --groups rmon | \ + done < <(run_on "$iface" ethtool --json -S "$iface" --groups rmon | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][]|[.low, .high]|@tsv" 2>/dev/null) =20 if [ "$nbuckets" -eq 0 ]; then @@ -120,9 +125,8 @@ setup_prepare() h2=3D${NETIFS[p2]} =20 for iface in "$h1" "$h2"; do - netif_mtu["$iface"]=3D$(ip -j link show dev "$iface" | \ - jq -r '.[0].mtu') - ip link set dev "$iface" up + netif_mtu["$iface"]=3D$(run_on "$iface" \ + ip -j link show dev "$iface" | jq -r '.[0].mtu') done } =20 @@ -130,10 +134,10 @@ cleanup() { pre_cleanup =20 + # Do not bring down the interfaces, just configure the initial MTU for iface in "$h2" "$h1"; do - ip link set dev "$iface" \ - mtu "${netif_mtu[$iface]}" \ - down + run_on "$iface" ip link set dev "$iface" \ + mtu "${netif_mtu[$iface]}" done } =20 --=20 2.25.1 From nobody Wed Apr 1 09:52:15 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013045.outbound.protection.outlook.com [52.101.72.45]) (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 CA304371896; Mon, 30 Mar 2026 15:30:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.45 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884660; cv=fail; b=mrjIobCmRdohv6q3PQzJri8BY4sgiWNNk6YyMAk4dhUwQXLKZ/ni/SamrU3PluE2LcSHFDf0uvuNN8o5+NracaBsIZa3ekMQV2hGUwDNDxkb+NETIoUoyTiEQKj9pdg14by+rggTIXSRhlPm1sHk/AfWMu6F4z9oftQS+Ox0Nd4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774884660; c=relaxed/simple; bh=dpq6Kh8S0mv5H6JFaPIDPgOLdiI2iPgNDF8Sf8FQOb0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=J30m4MMdJitD8fusWYN8tTEKtdoEY5c1EYa4r/mgYi1uX8zPhCoK73Q0IrAcIS1PfOmhbydQoSpdqiZqKtt4yuXww7lm5xjV6PvM6h0s0uP0+9CGgYtsEiu37eVWUAP/9ge7cQU1T+8EtWCLu6q7YSJoSDnUQe8VxETQXxfz9so= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=AzaADlpX; arc=fail smtp.client-ip=52.101.72.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="AzaADlpX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iuP985bAZFKQ+0oaJxYaion4xTmhokLM8JPaX6/ZLhwTNpYnShR+j4znRvkDvhYZzQ9i4FKVYYt+dvFk+8NqBhdc9b40Qb8qkBHgX2zIvth34s0EE971G6qqpmpp5algAlNbiQQk5pLEJc199VJhICrP2U5A89P+jOSQ6DZLOPLjOu7+dYyovL/R6pSa7LNDi7ZPgDJ9/rSTA0o4JlmeeGbyzD2mLr6+7JC2knrYxS7KXrNgylWuTSGHfmZjOG739fv86K+SCivduxIEJDSpAKS0DaDuXiPC6Y0ZYysjHuok3q2CVn+1RdyhgKTwhwhlm3nlmRHZ1kcu0rPJJhLDbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bOkJ1OUCnJ9p3wRhlrh3+3UW+GOVlc8PEY7/k3Y2/8g=; b=j+K4Hi4aU61rH/NaZYrFKf36dYv3g3TIZxRZ/rNcIztaMvc+OcmtSp02w1yHGUoZfxOnuITTdrl3H4RGZjtKs3BnLCsnrtbbPh44fAo1sk6y/11F93Rt2U4aQipWMqcVAzrE6RtWqpjQgegfdN2pRqiK7exm7rKIuZwyuDSyPqu06lzn3Tl4KLd2AOxVi9rLGUNYmMUEqc8zXywwDuij6zdpKvvthbPcSF6u4/3BLpByF7vGfR93If67A7PvsXskYrEL5iVKhgGo+zT/s4wKJFFQGjhzj9mQybFDpY6EG16Z+NO9zD3OmlD3/dYUqVyJ/cTRSd7UnnPxtTLTfGg0Ew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bOkJ1OUCnJ9p3wRhlrh3+3UW+GOVlc8PEY7/k3Y2/8g=; b=AzaADlpXrIkeWYFDGd7FXHonJZZiZDWhEr+a5Y372+hv1YmhQ1lfc+FZD7tXotBx6ZFOJlohE3h/MrkVi3MxYEihwDbMJDK6zNzQdcNzEy0PO9yk3ZNuUQkSEYj4q0AEYqQxblTDH3NMgcNCcdfAORphISRLi/dCA3bjwh5obpoy954taPpseaO/UcVLvEb4L2CVBt14wtTlD2J922sbx85+hiMM+f5d2PRoCd4OHg8ME+XbJoolquEvj/DJE1huCta2csL8BI+2V/OWA5Jw8W/0R91pY37O4H0CeiJPpYZ+vVTFtcOeVjaKlLeHEaracLFWik0nbPqxbNWQOsPouw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) by VI1PR04MB6975.eurprd04.prod.outlook.com (2603:10a6:803:138::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Mon, 30 Mar 2026 15:30:55 +0000 Received: from PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633]) by PAXPR04MB8253.eurprd04.prod.outlook.com ([fe80::2b4e:8130:4419:d633%3]) with mapi id 15.20.9745.027; Mon, 30 Mar 2026 15:30:55 +0000 From: Ioana Ciornei To: netdev@vger.kernel.org Cc: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , linux-kernel@vger.kernel.org, petrm@nvidia.com, willemb@google.com, linux-kselftest@vger.kernel.org Subject: [PATCH net-next v5 9/9] selftests: drivers: hw: add test for the ethtool standard counters Date: Mon, 30 Mar 2026 18:29:33 +0300 Message-Id: <20260330152933.2195885-10-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260330152933.2195885-1-ioana.ciornei@nxp.com> References: <20260330152933.2195885-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0P190CA0005.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::15) To PAXPR04MB8253.eurprd04.prod.outlook.com (2603:10a6:102:1bf::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8253:EE_|VI1PR04MB6975:EE_ X-MS-Office365-Filtering-Correlation-Id: 330f7c97-71e2-462b-4819-08de8e71557e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|376014|7416014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: VPmza1gZSi5F6XO94eurxBE6WBd3ASejzZTYS4Bj7HQhPTgJyr/ZXPvbnH7kX7d6TcrK+Qxg7dgdeJQRYGdv3hzY/W3wL0Jy8G7+12tUXi4NSLMKH8bKYEQlkx6auUpnF4zqf3GDlDggF0aVVQis1+CpSiwi2yopGcxssCQmvNLTFIMbBHqkKbTuNeDn52GQ0OG9ZVgy+2Bvih2V2u+X/Vf8FVEEqNT007sC3pFM9dBBznCQyeBlt0DGeQhsct8TdaegyYbEJS3S3OfFjIwSeLHe+nNVsBQfhbe2yOTIszy8SY0VdSisgLX1izMctRISqldweq71mhhPdovdySTndt/WMTmLOy3gA5DGwUPv79ordZFvH2d1AiiediD9KkUDwAE46swr6BjARtuI4aUOdcJ515RWdtvUEvhXOOapPUjlxxWyw6nzhG8+ZAv5KTMYHDnEr7kCEVd4Npd7IPjUMzPFlvjqKHs2iptO+aEL93ayq1+EoApBfunBl2m8fQIxDKXtQFvGDAI4hhKDNsBsaVw38rCZEQOPowalXMLAeDKeKofvzvXQOszxiobrLHlUzzMJuOFm+wMu7SrmshzihowrKIu1s56tVIGgBbaYcIkHjYTZiiUY6b3LkPVtqNwnKTidadt+amKzAzoV6DpmlSaZd9oG4sWgrUtjNTgg3VnJ3sYz6VgZDD8ek0/eLwqBq9Y/5Da8J1nuMVF19s+oK7HokJQ7cg39MpwkmZUpNmk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8253.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(376014)(7416014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ERsIh66+rE5yWFdWWM5o6xI6Cz1Txy29AewhrFMTHwDaSwHfV37s59zKUNL7?= =?us-ascii?Q?cGpHMH7jtMaWofg+Ist5P5SQev0ZGAhM3TGrVEpIVI/TerYvayzghD+3YtG1?= =?us-ascii?Q?p0NVCWB6J2j/K+/Hg6hJATOUw+75q3DgsMie4rFc5Gh5CeIVzk+5pZNo3NBx?= =?us-ascii?Q?Z9WzExeRBIDk+uAhBp6fO2wk8kheSYsuFdAeZdgM8jEhPAv+ARqG1bKRsczd?= =?us-ascii?Q?2dwmHkKHlydbfzYdHUlc9XlwE1ljPHsTA8kYz/FEUEXyrWDQhCiuIa0a0X4a?= =?us-ascii?Q?KbcJvFZ2NT8C/XTH/Epr8IUDR9im8loXAUrWXi2FEJvionQkjyJHwV3urPH3?= =?us-ascii?Q?PRD6HCDZ8hhDjsLqFnPWcbNh0kx/BKiD2Irz01Xeq22MVHVcGit2d8b7S655?= =?us-ascii?Q?wf56a+9nS3AQN2aw2A1K8X16FnjuWVhgrz0xsW7KFlVyedQT/eLyNB7Pg2qq?= =?us-ascii?Q?0v7r8x0A2VnprF1d9pC5T603RhzLBow1kYh3mghg5SYYSEvmqHvHe/9Da0g7?= =?us-ascii?Q?Ehe5KQqm8c8yVSXRgfB2uTD+V+r6lVBRkL/IWzbHZ4FAZHVvZ0D1+njxqd9R?= =?us-ascii?Q?DTbPhqayum6Nb0LLi7/K+Mq8S6eatFM6YOBoM2Ip1nML5sPbbD/C/cR+2IFk?= =?us-ascii?Q?KRT4iMqx8V5Up2Zg3J7fBM4MHdOReAqhgUxZmw4QATL0bpUGRU9VDWqmy7+o?= =?us-ascii?Q?tz8+fgj8/KqKJdRbhmjer37TZJxTgcI6n+TMWBegwk6votbXhlvWwLyVOWu4?= =?us-ascii?Q?ydFXqqtpvw2YRg8w7/uMT9s3+Yr/oWEa6D5ngs/YnIre3ot5uG8Nt3Ag2vl0?= =?us-ascii?Q?UYbRTW500Z20GBzwI0jzQKojCk7fMS1kVm658XCPXcsJ6by5a829D88Go5Hj?= =?us-ascii?Q?ZUmIk72xK3UganCHeIfEmW2Rcm9qncTc3ZwJbUF+z+2MWXGyfku2zGCO3nCv?= =?us-ascii?Q?dZFMRg1b4jdObGXaaqQpHnH/ttdFarLvH9kQ612toNKDSALAHN+BTmHslbnB?= =?us-ascii?Q?DQqgqS2mgPCusYjTEFXCU21DIHlFFAMh6LAhiK+WMEJrwk9ecPNXqd/C1TsS?= =?us-ascii?Q?OONl1aKJrTAS7itOSU/iD3E0Ipy1KggSll8lEX0xE20b/hfvhlFgbfAPSOAT?= =?us-ascii?Q?OyXZMty5U7fxajreK6BrFuBTZRq+TvmMOqVz5zuUmmCTE2hKADhOMypGbifb?= =?us-ascii?Q?3/JJulV4I5DwAla/azqEHhK8JxNFi+ptCRK4RvMiP+EHgz3PLG4QTxYaSTHe?= =?us-ascii?Q?5NWrzkeV0V0XIEFAL1yaNNQHWlHrWuDqIDpJ9h7uPvg6jx+lfBSoqJVwCgW+?= =?us-ascii?Q?PWrJlZZcaFJRy54LKIK9BMcometuwmKFLeQ2hlO+45MJg6UubRTiacuFMRYQ?= =?us-ascii?Q?MpX7Tu9Bp/WGbeGyGLxIr7yW1wHAsCK9ZKRqKFV3H49h9NIk+2of1MbZf8Rd?= =?us-ascii?Q?2PBm3X74iPNuvUIMlIi8RZF42Tz1QRCe1FzD5yjwQnP0UbdV2FzzP7kf7hJo?= =?us-ascii?Q?BMdgMzbTJVKaxxro+iYClT4uhJBvE9Y7h4354nRwSFIxJsTrc3lhgGMVY1km?= =?us-ascii?Q?ZeEWl+FrpEb1yhY+MO3tRZ9KV4iseupoSgFgzBK1/Ih5ckb7CoJEBK4nEQYr?= =?us-ascii?Q?yBlMyPvlYf+7mBq/Yj3GQbM2A/fk14iyUAVPkjHZtERmlJ7sVisbNDDjOL7B?= =?us-ascii?Q?3yDOpIHQSUB0qG9LIdDBnD9a0vcmI8XF0WOpQdNlll/7QcXBUxalDqUpXMUL?= =?us-ascii?Q?QiXjp84S1Q=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 330f7c97-71e2-462b-4819-08de8e71557e X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2026 15:30:55.1194 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: D0KBL9OFMX7l7l56uxjlOoEUhUBC7F2X3jxmjlFaQfAezxMpYbPkCxmBa6TVfyqTsJdtvlF7gMS1CdW2WTQs9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6975 Content-Type: text/plain; charset="utf-8" Add a new selftest - ethtool_std_stats.sh - which validates the eth-ctrl, eth-mac and pause standard statistics exported by an interface. Collision related eth-mac counters as well as the error ones will be checked against zero since that is the most likely correct scenario. The central part of this patch is the traffic_test() function which gathers the 'before' counter values, sends a batch of traffic and then interrogates again the same counters in order to determine if the delta is on target. The function receives an array through which the caller can request what counters to be interrogated and, for each of them, what is their target delta value. The output from this selftest looks as follows on a LX2160ARDB board: $ ./run_kselftest.sh -t drivers/net/hw:ethtool_std_stats.sh TAP version 13 1..1 # timeout set to 0 # selftests: drivers/net/hw: ethtool_std_stats.sh # TAP version 13 # 1..26 # ok 1 ethtool_std_stats.eth-ctrl-MACControlFramesTransmitted # ok 2 ethtool_std_stats.eth-ctrl-MACControlFramesReceived # ok 3 ethtool_std_stats.eth-mac-FrameCheckSequenceErrors # ok 4 ethtool_std_stats.eth-mac-AlignmentErrors # ok 5 ethtool_std_stats.eth-mac-FramesLostDueToIntMACXmitError # ok 6 ethtool_std_stats.eth-mac-CarrierSenseErrors # SKIP # ok 7 ethtool_std_stats.eth-mac-FramesLostDueToIntMACRcvError # ok 8 ethtool_std_stats.eth-mac-InRangeLengthErrors # SKIP # ok 9 ethtool_std_stats.eth-mac-OutOfRangeLengthField # SKIP # ok 10 ethtool_std_stats.eth-mac-FrameTooLongErrors # SKIP # ok 11 ethtool_std_stats.eth-mac-FramesAbortedDueToXSColls # SKIP # ok 12 ethtool_std_stats.eth-mac-SingleCollisionFrames # SKIP # ok 13 ethtool_std_stats.eth-mac-MultipleCollisionFrames # SKIP # ok 14 ethtool_std_stats.eth-mac-FramesWithDeferredXmissions # SKIP # ok 15 ethtool_std_stats.eth-mac-LateCollisions # SKIP # ok 16 ethtool_std_stats.eth-mac-FramesWithExcessiveDeferral # SKIP # ok 17 ethtool_std_stats.eth-mac-BroadcastFramesXmittedOK # ok 18 ethtool_std_stats.eth-mac-OctetsTransmittedOK # ok 19 ethtool_std_stats.eth-mac-BroadcastFramesReceivedOK # ok 20 ethtool_std_stats.eth-mac-OctetsReceivedOK # ok 21 ethtool_std_stats.eth-mac-FramesTransmittedOK # ok 22 ethtool_std_stats.eth-mac-MulticastFramesXmittedOK # ok 23 ethtool_std_stats.eth-mac-FramesReceivedOK # ok 24 ethtool_std_stats.eth-mac-MulticastFramesReceivedOK # ok 25 ethtool_std_stats.pause-tx_pause_frames # ok 26 ethtool_std_stats.pause-rx_pause_frames # # 10 skipped test(s) detected. Consider enabling relevant config option= s to improve coverage. # # Totals: pass:16 fail:0 xfail:0 xpass:0 skip:10 error:0 ok 1 selftests: drivers/net/hw: ethtool_std_stats.sh Please note that not all MACs are counting the software injected pause frames as real Tx pause. For example, on a LS1028ARDB the selftest output will reflect the fact that neither the ENETC MAC, nor the Felix switch MAC are able to detect Tx pause frames injected by software. $ ./run_kselftest.sh -t drivers/net/hw:ethtool_std_stats.sh (...) # # software sent pause frames not detected # ok 25 ethtool_std_stats.pause-tx_pause_frames # XFAIL # ok 26 ethtool_std_stats.pause-rx_pause_frames Signed-off-by: Ioana Ciornei Acked-by: Petr Machata --- Changes in v5: - none Changes in v4: - move to a the KTAP format output by using ktap_helpers.sh - update commit message to reflect the current output - use DRIVER_TEST_CONFORMANT Changes in v3: - none Changes in v2: - Use the new run_on helper - No longer checking that each counter has a 1% tolerance against the target. The only upper limit is UINT32_MAX. - Check that both the error counters and the collision related ones are zero since this is the most probable scenario (we don't expect errors with the traffic that we are sending). - Removed any checks performed on the remot interface counters since that is being used only as a traffic generator. .../testing/selftests/drivers/net/hw/Makefile | 1 + .../drivers/net/hw/ethtool_std_stats.sh | 206 ++++++++++++++++++ 2 files changed, 207 insertions(+) create mode 100755 tools/testing/selftests/drivers/net/hw/ethtool_std_stat= s.sh diff --git a/tools/testing/selftests/drivers/net/hw/Makefile b/tools/testin= g/selftests/drivers/net/hw/Makefile index 884cc77daeaa..deeca3f8d080 100644 --- a/tools/testing/selftests/drivers/net/hw/Makefile +++ b/tools/testing/selftests/drivers/net/hw/Makefile @@ -26,6 +26,7 @@ TEST_PROGS =3D \ ethtool_extended_state.sh \ ethtool_mm.sh \ ethtool_rmon.sh \ + ethtool_std_stats.sh \ gro_hw.py \ hw_stats_l3.sh \ hw_stats_l3_gre.sh \ diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_std_stats.sh b/= tools/testing/selftests/drivers/net/hw/ethtool_std_stats.sh new file mode 100755 index 000000000000..c085d2a4c989 --- /dev/null +++ b/tools/testing/selftests/drivers/net/hw/ethtool_std_stats.sh @@ -0,0 +1,206 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +#shellcheck disable=3DSC2034 # SC does not see the global variables +#shellcheck disable=3DSC2317,SC2329 # unused functions + +ALL_TESTS=3D" + test_eth_ctrl_stats + test_eth_mac_stats + test_pause_stats +" +: "${DRIVER_TEST_CONFORMANT:=3Dyes}" +STABLE_MAC_ADDRS=3Dyes +NUM_NETIFS=3D2 +lib_dir=3D$(dirname "$0") +# shellcheck source=3D./../../../net/forwarding/lib.sh +source "$lib_dir"/../../../net/forwarding/lib.sh +# shellcheck source=3D./../../../kselftest/ktap_helpers.sh +source "$lib_dir"/../../../kselftest/ktap_helpers.sh + +UINT32_MAX=3D$((2**32 - 1)) +SUBTESTS=3D0 +TEST_NAME=3D$(basename "$0" .sh) + +traffic_test() +{ + local iface=3D$1; shift + local neigh=3D$1; shift + local num_tx=3D$1; shift + local pkt_format=3D"$1"; shift + local -a counters=3D("$@") + local int grp cnt target exact_check + local before after delta + local num_rx=3D$((num_tx * 2)) + local xfail_message + local src=3D"aggregate" + local i + + for i in "${!counters[@]}"; do + read -r int grp cnt target exact_check xfail_message \ + <<< "${counters[$i]}" + + before[i]=3D$(ethtool_std_stats_get "$int" "$grp" "$cnt" "$src") + done + + # shellcheck disable=3DSC2086 # needs split options + run_on "$iface" "$MZ" "$iface" -q -c "$num_tx" $pkt_format + + # shellcheck disable=3DSC2086 # needs split options + run_on "$neigh" "$MZ" "$neigh" -q -c "$num_rx" $pkt_format + + for i in "${!counters[@]}"; do + read -r int grp cnt target exact_check xfail_message \ + <<< "${counters[$i]}" + + after[i]=3D$(ethtool_std_stats_get "$int" "$grp" "$cnt" "$src") + if [[ "${after[$i]}" =3D=3D "null" ]]; then + ktap_test_skip "$TEST_NAME.$grp-$cnt" + continue; + fi + + delta=3D$((after[i] - before[i])) + + if [ "$exact_check" -ne 0 ]; then + [ "$delta" -eq "$target" ] + else + [ "$delta" -ge "$target" ] && \ + [ "$delta" -le "$UINT32_MAX" ] + fi + err=3D"$?" + + if [[ $err !=3D 0 ]] && [[ -n $xfail_message ]]; then + ktap_print_msg "$xfail_message" + ktap_test_xfail "$TEST_NAME.$grp-$cnt" + continue; + fi + + if [[ $err !=3D 0 ]]; then + ktap_print_msg "$grp-$cnt is not valid on $int (expected $target, got $= delta)" + ktap_test_fail "$TEST_NAME.$grp-$cnt" + else + ktap_test_pass "$TEST_NAME.$grp-$cnt" + fi + done +} + +test_eth_ctrl_stats() +{ + local pkt_format=3D"-a own -b bcast 88:08 -p 64" + local num_pkts=3D1000 + local -a counters + + counters=3D("$h1 eth-ctrl MACControlFramesTransmitted $num_pkts 0") + traffic_test "$h1" "$h2" "$num_pkts" "$pkt_format" \ + "${counters[@]}" + + counters=3D("$h1 eth-ctrl MACControlFramesReceived $num_pkts 0") + traffic_test "$h2" "$h1" "$num_pkts" "$pkt_format" \ + "${counters[@]}" +} +SUBTESTS=3D$((SUBTESTS + 2)) + +test_eth_mac_stats() +{ + local pkt_size=3D100 + local pkt_size_fcs=3D$((pkt_size + 4)) + local bcast_pkt_format=3D"-a own -b bcast -p $pkt_size" + local mcast_pkt_format=3D"-a own -b 01:00:5E:00:00:01 -p $pkt_size" + local num_pkts=3D2000 + local octets=3D$((pkt_size_fcs * num_pkts)) + local -a counters error_cnt collision_cnt + + # Error counters should be exactly zero + counters=3D("$h1 eth-mac FrameCheckSequenceErrors 0 1" + "$h1 eth-mac AlignmentErrors 0 1" + "$h1 eth-mac FramesLostDueToIntMACXmitError 0 1" + "$h1 eth-mac CarrierSenseErrors 0 1" + "$h1 eth-mac FramesLostDueToIntMACRcvError 0 1" + "$h1 eth-mac InRangeLengthErrors 0 1" + "$h1 eth-mac OutOfRangeLengthField 0 1" + "$h1 eth-mac FrameTooLongErrors 0 1" + "$h1 eth-mac FramesAbortedDueToXSColls 0 1") + traffic_test "$h1" "$h2" "$num_pkts" "$bcast_pkt_format" \ + "${counters[@]}" + + # Collision related counters should also be zero + counters=3D("$h1 eth-mac SingleCollisionFrames 0 1" + "$h1 eth-mac MultipleCollisionFrames 0 1" + "$h1 eth-mac FramesWithDeferredXmissions 0 1" + "$h1 eth-mac LateCollisions 0 1" + "$h1 eth-mac FramesWithExcessiveDeferral 0 1") + traffic_test "$h1" "$h2" "$num_pkts" "$bcast_pkt_format" \ + "${counters[@]}" + + counters=3D("$h1 eth-mac BroadcastFramesXmittedOK $num_pkts 0" + "$h1 eth-mac OctetsTransmittedOK $octets 0") + traffic_test "$h1" "$h2" "$num_pkts" "$bcast_pkt_format" \ + "${counters[@]}" + + counters=3D("$h1 eth-mac BroadcastFramesReceivedOK $num_pkts 0" + "$h1 eth-mac OctetsReceivedOK $octets 0") + traffic_test "$h2" "$h1" "$num_pkts" "$bcast_pkt_format" \ + "${counters[@]}" + + counters=3D("$h1 eth-mac FramesTransmittedOK $num_pkts 0" + "$h1 eth-mac MulticastFramesXmittedOK $num_pkts 0") + traffic_test "$h1" "$h2" "$num_pkts" "$mcast_pkt_format" \ + "${counters[@]}" + + counters=3D("$h1 eth-mac FramesReceivedOK $num_pkts 0" + "$h1 eth-mac MulticastFramesReceivedOK $num_pkts 0") + traffic_test "$h2" "$h1" "$num_pkts" "$mcast_pkt_format" \ + "${counters[@]}" +} +SUBTESTS=3D$((SUBTESTS + 22)) + +test_pause_stats() +{ + local pkt_format=3D"-a own -b 01:80:c2:00:00:01 88:08:00:01:00:01" + local xfail_message=3D"software sent pause frames not detected" + local num_pkts=3D2000 + local -a counters + local int + local i + + # Check that there is pause frame support + for ((i =3D 1; i <=3D NUM_NETIFS; ++i)); do + int=3D"${NETIFS[p$i]}" + if ! run_on "$int" ethtool -I --json -a "$int" > /dev/null 2>&1; then + ktap_test_skip "$TEST_NAME.tx_pause_frames" + ktap_test_skip "$TEST_NAME.rx_pause_frames" + return + fi + done + + counters=3D("$h1 pause tx_pause_frames $num_pkts 0 $xfail_message") + traffic_test "$h1" "$h2" "$num_pkts" "$pkt_format" \ + "${counters[@]}" + + counters=3D("$h1 pause rx_pause_frames $num_pkts 0") + traffic_test "$h2" "$h1" "$num_pkts" "$pkt_format" \ + "${counters[@]}" +} +SUBTESTS=3D$((SUBTESTS + 2)) + +setup_prepare() +{ + local iface + + h1=3D${NETIFS[p1]} + h2=3D${NETIFS[p2]} + + h2_mac=3D$(mac_get "$h2") +} + +ktap_print_header +ktap_set_plan $SUBTESTS + +check_ethtool_counter_group_support +trap cleanup EXIT + +setup_prepare +setup_wait + +tests_run + +ktap_finished --=20 2.25.1