From nobody Mon Apr 6 10:45:16 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013064.outbound.protection.outlook.com [52.101.72.64]) (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 857D83E3D86; Thu, 19 Mar 2026 16:04:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936263; cv=fail; b=lWqnSuEjv/3V/ynr45TKRGxu+Qx33ArMxCdBU1dd68euyP52aWYxbOS2lrd8KDchQHDFx66ZNeHTGCdmQpH4ZH/oDfKEO5XVEHswL3rY5xK4qaH8THrh14m01cs4ULP5ktON5YcGT1xI+8G9ihmD5FR/2RNu23PiqeAE8qUCRL4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936263; c=relaxed/simple; bh=9uLu0RGKc1rOujloirBU2FePYsRg6l0u7Db5mnLnDsE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=cY/hHVELeufpZWEsEFLyY2y6pZZIPRRPfz5wpwbPfG6iWpAw8RJeV6ZijFpw9fWRUF4qJDg3XNRgP/OE2zypZufRPYHQVyDZMcx7UaivfqXkfB/TZZPAhrOzE7fGsTDIewpBe/VWEGD7WplDLuZizjaeZyX1cQwXiSCvipAE4Vo= 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=Xh/rPwNg; arc=fail smtp.client-ip=52.101.72.64 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="Xh/rPwNg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j8C2kjQcel37pC+ny4eIW5hzdR+OkH1lcx1RdjNhbZTlYY15bkJ5/7qL7FSFQcIjSx7pTbVIAxKV7SIh0wSYOLYF95vDtHE5WQPdP949AdNXbJ37k+UcZSl/yCwz6BQyv2hBzPkhtAuYzikl0LPO3P13pYmrT8+iXXAhhdMq7TowpHTd3x2nkoahMrNe2aTleQvEBpPo4UynLvpnyGZj9ULa5BOed7vIaZ9WVoTHrpqWNbgdVare/p/8Xl4VttMa9rkj2sFh3YvI/GCgt65TO0RSztrJqzoXWQYq1EYaAlBPmx3Ev8F5Mez/p6U4l/y8qpAVU7PBOchQhmn0S/9QXQ== 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=TUJEJ3HZy5sK1yyEW0dEFrsS9PCtkAVaKHw9vYStkYU=; b=Xl4nDByQxVjlDg7F8Q38PXshv4Y4vVys/84J7jpJhMdegbXT+mbqDAn0FdhPfk0zPzZIqfcMqZXZO3T3DygPLWMJpGydjGkq7SG7Gl5o0SKQqpF28j1Ve+OHdYBnadtQuN+srSCgzfknZMiDt5qCDtSqSDzodx3qkwa+iUtMEwU67JMW4/pgRZnA+0ylnHWsNiO3RFSaZeol1ZQMMy6fBX4XU/iAINHvDm0doHz80mMQa8KL9jZxLDKVSpMRsYUJ0hKToSXyGiQVQ7jXmg7GvMKNZlyUz5/Gu94wv1L7NF6CJ7Gafz6r8Cjmng7LkTDWE+fDzdOl2ABw8cdkQelAOw== 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=TUJEJ3HZy5sK1yyEW0dEFrsS9PCtkAVaKHw9vYStkYU=; b=Xh/rPwNga8gFAa27U8ca3tdxDMqmw4qetFnKsuyQnacU5/vQuFCXVr5hQ7mecuIzuaiUNj2NGqc0hucQngnfoOts95cA/SI2TmSECeRJDR2AHy3vDxaV/1s2130ZdPhXgVXOUBoSLjXATuu6z+1prvxf1IXQVsvyzTWA2KR9/LzWYThzrEZ3/LfnFF9ep4XHlp4Dnfpinh8HppNtiXyM5wwMQEIsUViPOPhUiDdpZNmxsfRsVN9nIV8lV4esHSSjf6syZpKHav1lLK7bPGQdyIugfK7dw2VsoX4wlAmUErdkDw8RgU6xXdNNXTctcYGOX7M9VgCn/cRHUekVVpLAuA== 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 AM9PR04MB7505.eurprd04.prod.outlook.com (2603:10a6:20b:285::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:13 +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.9723.018; Thu, 19 Mar 2026 16:04:19 +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 Subject: [PATCH net-next v3 1/9] selftests: forwarding: extend ethtool_std_stats_get with pause statistics Date: Thu, 19 Mar 2026 18:04:02 +0200 Message-Id: <20260319160410.2515105-2-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0342.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ea::20) 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_|AM9PR04MB7505:EE_ X-MS-Office365-Filtering-Correlation-Id: edac44c0-4b4a-4c32-b9bc-08de85d12d86 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|366016|1800799024|7416014|376014|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: bkIkj+lyRJmgIRQSWaQ3F0pis+CQaGbAMvnAsVElHVuWM97p1scFkerYtkjq4lGO1J+iUeApxs0KkdFe56OZ2sSLHBvGRk2uYd0GSUlSrRKz0O96A27ioQnlgGXw9PG2pETgtRFNH1iokD9NleAQxUaLItMxQC/P4JdpsMjB/MKZw07+iqs+8FP9vt9a/oltLTLvgc7m1lEaL1J17UbRVWQH43MIuD34Z1b6ntknT5tEQJ1kc+I/zD9oYivWoZFoiLvhrtuKdDXVpEhrGiZKVtcph34a9fErGw5wCXVVPxydrRSOG/ysmBWVxkrHKvUK4T2g6Od2mJXK1NsDZvMhbUrjaHFoloxiEAszCWIB4rc9GvKfr2XJZe1AVboZpNedCnwmM0rQcsoFOcR7iayaasbvhKC67UGhfixD3w3MRwgLN/iD+SCmcX1jHX6KM6lrxZtCNvFiqsDFyW7wZVkWBwtJJsYnEtV5gOdAMnGveytktUl/17Sm/o0zUtiFM6eVwH5zU6Yc9sLlpl8J4BTFZXWHgfaLBZ8lpRe7/IBEszy6hSd2eNhINP1Es2ca6vlrExEVjzXrdkQHrjx5iJb65TBglj+J4izEFW2pDdr5dd7DO+4DAKXcBngy42z+SSb2I5NC6a/Nmj6CkuhWpE0nZx2gZ/nIpocR0gy2PDr1K9c3g7IqB1CK6h9dZ6v/3erCWjJXUAhjKyMPM0JR7KD71KCb6FENEjt+8SwYC9Utlao= 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)(19092799006)(366016)(1800799024)(7416014)(376014)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?khl+edEhceo7s26lCbDu34qtKA3QrVAQUXhRcJ+dDQPVt2Kpu43bQx2mOuPr?= =?us-ascii?Q?zbh/XbxZneCBx0pZfRb5w64DVwTXV7MJ8FSgl0i1iOzrUaRjamuRxkbKrUZT?= =?us-ascii?Q?Nxpq12ONshAlooGwK8YiQW7PZRV8JPmvafcVuL0fBgoDkzDl+Mja8iFsjupf?= =?us-ascii?Q?1ZWi/dkPzWCVd3CEaJcRnCTzY1M/tpzFOS8rR6jWGd/07TFKf1vYQ2wEJ1yw?= =?us-ascii?Q?Ef3iHHj6iNVn9SUHKgqKGpNHTw6gmYULPCCUlURK8ZFo2QNDyKYWA36b4isV?= =?us-ascii?Q?221dZbZOULWnwDv1JX4njgnVU3Gn4DCl/ubQNGWvnLz5o8Y7+QvUlnW0gEN0?= =?us-ascii?Q?ti3WzrAKtOFOEaxsma7rdKsqmkuMzDJJLZd71cta1/KDARK8K8wwPzyIWz9v?= =?us-ascii?Q?sMEhhCqXQ6GYFi5i1HOrrm5StC+I1xNjE911TnbwZqU2Ck8h2W22I0gw50lL?= =?us-ascii?Q?ON6/78z5geR3vQFd4QCcldwhBLWncJqFLxNGYHt9djzDtvtsaHA4tbu+E9XO?= =?us-ascii?Q?mM+PtTgm6DNiIcLw3OXxEnB14mGmNr/xCv47VZ0D0K2Tr7ORkz9xmejKBHrK?= =?us-ascii?Q?geRw+hfqEp4i+iX52ZZEWv6eth4aLLW5Hk62JUe+iG6ykKn/pvlD46Uuo+ye?= =?us-ascii?Q?96dy/f8ZBTl93RD8vUJuuJdKNAHjFjNrw2er/Ai3eJLDPb2D9PaRKMv/oCb7?= =?us-ascii?Q?SXQlSE/Y06j1UqgXqOrED+ErzAD+HYl2Zl7f2HExpnkVvV82iUAs4Zz5+KK9?= =?us-ascii?Q?ledr+yMJOwX5hxE1TcuIQPg/rnJxnkA6BIjgSvl353JBGBYtMvV6g1sogDl6?= =?us-ascii?Q?SGgJLXVmd00+lqguhwsrKm2n2SKc317gLFcmGoIFCSwV8C+QUt9pocyiqIEa?= =?us-ascii?Q?d9htJow7lAJLEHQGgJxY8TOeEXrzD35+ZLPaPavFR1YBXwupGznnaIfNMhu8?= =?us-ascii?Q?czWbGu8sRlLGZpAnPvblf3comtZHPb5GE33NZV9oM3VAiAJqNY8WUhduU4f0?= =?us-ascii?Q?MIw+2S0Vm+mUNWrMLdXZNo5YaUleiQsuoYf6cZj1Oi9LTWDYTcnU3zFlbcfM?= =?us-ascii?Q?oUtORbvjT9NeMhYFCcFNGsoexfmfPJt444EpE6tGlZG5LP3UjFqREhgZqcSp?= =?us-ascii?Q?p+xZZoTfz9im3HYkXMbdkBb9ZaBYA6yaRt9FgtR32R6dtLEaA+iBl89QB1Gl?= =?us-ascii?Q?Isf+tdgiIi1YpDDRLiaBcTUwn1GElXYRxOP1FasdQw1PdDfoYDVGmm3a2UMl?= =?us-ascii?Q?68fMftd8dQWVYxfqlwA2fR7NgyjVI4CVy0HNsD/UNfeFWxaP/VkFdMasL0De?= =?us-ascii?Q?rJKBEnBs8HkLUKxRtq1nqYFJ3kFXMEpEKvZRV/FKnri3g9ciTIRDVkI2zHRW?= =?us-ascii?Q?/+7KUgxwASEOtzcoHjZgToRKsFI5iDCWZifsshTNNMJveDod6tcMN5wqHHDN?= =?us-ascii?Q?vxw8Gxl4o+9BuXlSXGvbviHyFOuku7lAk8+lGY+3AT+XSeIcBQ/MkFNFNXAd?= =?us-ascii?Q?gcFZKq2bDQvkvq0NpqdB/5thcMMuBjp4Pgc7KRvm6+wT5/ufaEuC1fEh0YZw?= =?us-ascii?Q?2QgRUVwMWArK02/3FE7z6HsR7j9mlrf4puN+u4GEZ9Z3otXPjAzMC2dPt8xf?= =?us-ascii?Q?cWCxmuu0cjolAEjOQuMtjn9Uea0u7U++eRpNqsIeLQvfkfledJixl1L84Oy8?= =?us-ascii?Q?llbaeeiU6kAeAvu/UItdeLMfYnz7QhAhv6yY1l5uGqqzCDjMc9/W+kQ9D6pq?= =?us-ascii?Q?n010JpOFVg=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: edac44c0-4b4a-4c32-b9bc-08de85d12d86 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:19.3299 (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: M/Tkr6c14FzwFWvr+GJ79a19S21z9y8Rw6j2WbnuCtKL2RSpeCjGsFjxsLnnKo7BxsSE5YJcxYxw+F8+W8PuoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7505 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 else case, convert that 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 v3: - none Changes in v2: - convert jq to the --arg usage form tools/testing/selftests/net/forwarding/lib.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/= selftests/net/forwarding/lib.sh index a9034f0bb58b..cf40cb766c68 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -831,8 +831,12 @@ 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" | jq --arg name "$name" '.[].statistics[$nam= e]' + else + ethtool --json -S "$dev" --groups "$grp" -- --src "$src" | \ + jq --arg grp "$grp" --arg name "$name" '.[][$grp][$name]' + fi } =20 qdisc_stats_get() --=20 2.25.1 From nobody Mon Apr 6 10:45:16 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012028.outbound.protection.outlook.com [52.101.66.28]) (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 BC0D33E9F73; Thu, 19 Mar 2026 16:04:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936268; cv=fail; b=AtK0rBVOfeBJ7AWJp6EYknMpoWBmviiPmFwjkTl0QeDY2YGWMaeiKRZC5NBCl8JYcxiK+jm9hVvVWAfTEJRNexzx0yptqYZxARRMIJErJhaCXhJeURwuPO84ULgaNbAmQYcTCxHRDtzlCk8PDIDpAd4N+1NWZc5EnwzmB6/lNds= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936268; c=relaxed/simple; bh=BAYrRC0xjYPB9vniLQ5p69F6DkfqCDoFUMRYVfoFK7E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=RIOlObhuUX+u/7NsIPblkE1o3/n7M7KrikL/rhDd///FEEEDtXaVTn5Ff/C+DmR7Srv0Dau/moSeMSjsQKWJEHdwILzS1P4KCHhpQ3fEum1DyL6LTcBOomIsQgPT9Askp+yzi7buhf87O3GbCtjE7iviA5HahejI33rp0nvAQm4= 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=GKu8dsD3; arc=fail smtp.client-ip=52.101.66.28 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="GKu8dsD3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d1aY3ImhoitPL8KdsKteO4nbIxPDnLL61/GQpiwR613O92BTSlkGeEyV+D4gHzzw0bbQq2iDrxKzZO/6ax/DJ574TlW6MWWnXDhsHIFC7tr+InEMAboXhz93pV2M+JE8BZOt/xYtkN53XdDSSaVf61HC0YnPG3FXI4i7JO6H/BHVZ3M/YgXSgKKqaBbHzpPtS9/CQOaJgnhjEzqrAqOfpvOlB6KpAHbH/GA+XtliqFQhxB28rnl71eDVUXokjTiuZuuMtNp/CKd/D+Y/lsGZMbhQloz6ryAW5qQ1a7jQMcC4Qtib451C/qYAEuyoxM54h+qx+z825zt2Py/zXH5gew== 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=DL+N+ygwOiY9yepiYgeKH8tzpRc1klNRTLoBiqbXTFs=; b=gAwOXTej/Pcf0riJkGh+2soaewgu/dkWepLbwhY0VWGcmHKjyg7Y26iHhqmZLMCFTIjctuqibwSCYDE06gOPzJY8zHwzznDo7TyPh452B5c+XED3X93IP9f24eCpBUbd0Fevhseo4pHLiaoIckPpW6fsV/JtEchsBHXLmJEGGVCo0SayPNpOJGCdwwPQRAN9peiPQAxuHiJNnUWxs6OApfgXRU63G+Ypwu4jiSjT8hexPgS08yPi94SJvCCWkphN07K1GfDzEs1wlYGdfI44WN0Bb/zJHbn8/SwezeeXjU3om/0vVoLCEsgtpvC+1q8moTCWKaZ/Mf6h5M3qOA+ZzA== 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=DL+N+ygwOiY9yepiYgeKH8tzpRc1klNRTLoBiqbXTFs=; b=GKu8dsD3w1td7GvcQw/NxQkJ3HtRP9a04rjq9Bm1phGBD84OjxGPaxAnVUGv7zMwToqUYrpA1PIex2St5o8D/iira0+5KOwDzXlQR4LndkadoeIa6J22CEZfXoqoEs0T7dbBI9aH0oWVQY2prGbIpmBOZ/aw/DOixvYE7jjC/sFlMLSjWaTT3JjUtjkyx5U51D6sn+Vlw+KMdUOsP8+tmWclIKkG5iuHH/nfLiVuPziAzyFBGnZDkRMKexK6konfbvkAgEggsKoNS4WyEc99VCIU7YpXu6AUFllqf8wxisPn5jYd5ew0e6acZ83MFJw7qwpnw5D5WwzQOHw/A3lG0g== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:11 +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.9723.018; Thu, 19 Mar 2026 16:04:21 +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 Subject: [PATCH net-next v3 2/9] selftests: net: add helpers for running a command on other targets Date: Thu, 19 Mar 2026 18:04:03 +0200 Message-Id: <20260319160410.2515105-3-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0325.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:eb::20) 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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: a748e876-a029-405a-8f98-08de85d12f02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: olNCc0DVu5E6ks4SvEDR4K9bRrIDfzW3poirN9qJ6UByUAjW8sx4R1mqI9QDxGFuYp2GU+01B935dEnz5AQjJvVcSCYa/yF8gPS3UzbnysWc0uFDMuKAxL8J5NgpSN/GSfoSriEdIxnC2NVWdM0OblTbCnWO51H9WHrzSWdW++yMFIBRsi61Pk77qVGe0gPAdcrGIlZAyYzHEY0Ymb+nIBMuKctYuSsHY1yASn3ANUs7CsCCqrjVF1vL5WbKIYOfM9mjBZgsfUehphvNs+ZEs7U5ytvRBGY7vv5Bfpr0rOE56m1IvwxtQv75WnX5SVzzbASd2u9cohzOfbowgTNdLI6z1CO8TI+JBnrD8XYgN9gsViV99JCVja3lF0COpHPQXSTAFKTG+00Da791MPGrOiHceYv8Q3tvgDpUHu8jyqefCxuqmm92BOhgFjN7LMe73GPnxJJ6KFp8gCIqHgPrhtbZaPg9m1qizGuc9mNnBA4mUS3KNTaGMJqRjoiwf6WO+kGrNjyQypqvHhU8TkdWuimB7VkkmgBeMN9uAxqZnh2MipIGSM3OyzY6g7W2Ux0hfBNspBHiMMF9aCqad/3DJs+7XudeMnmjfd6y21cjh/41sseJ94PivJZpqlzIAFa2eXS5cThzMpePJ+j34G6IOdA9wgTFSak1FM9PtY+Hr4Tmb69vBpYrmdIRkBsWDfMFB9KlXbTCYAJ4yCFSfy3wp/X76LFAqQjqLpvUyoi3piw= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BfnWI2q1bOmkG/ZV+fI3ZOXIwVgCjvP93Ajqw9apruBn9+kKgg5WU030CmUD?= =?us-ascii?Q?8tsPBaJC6xtVQSFzOs6umwI3+/w013UEg5AK7A58vrCMr39R+/ZzBswH0qvO?= =?us-ascii?Q?oTIJwA7dCb6EUU5kpDIeTYmB1XjSIi7bDQxYL4vRIz8X7S1tD7+eqTZQ3Qzl?= =?us-ascii?Q?0GONqR3TvlE9pv/JsWClRkiwa2L3M1prSyDtFOW8cz/zwoSOagh/+mOkjSri?= =?us-ascii?Q?jHYanUBNjpeVl1V+VU0e8SxhF4mZYmNpWzU6ggQsPPclcXnEnoMzIYNes64C?= =?us-ascii?Q?birqZCs6KFo/XinTy3/NimWt8uE5zlhGqiJ7HwmVNygeKBfrSNOZEZNXHs/o?= =?us-ascii?Q?D/tZ9YkIL5cXrGHh9DTqPZgHtrkiGLYOcBplg7eRtzpnJw5C4PH5pWVhIZ3t?= =?us-ascii?Q?8Acy45H6W/6xMt6v/o63AJW54bh3kFfcaVsSMgOCtQUvHSQ7qi5Mth4C62Hb?= =?us-ascii?Q?wBATHjUptifTZc13IC1OaBKFbAtutmpSyyGHNC1+AubCOyaS+bfjZa0th0ey?= =?us-ascii?Q?bOJEvJwWNK85EzQg+a8qFH5LIONL220gYHhSCl07WnynMo7ZcsyxSS5NDXNv?= =?us-ascii?Q?IHM8iNjH/smh7l30A4tykHCYKQF8U9NHnTYPQa2GBqRQPDEnGPpbuKDnX4C3?= =?us-ascii?Q?26dczPVxCnlGtc51s0i9Rr0fXBTiazdEUkmpNoHNt+loqnYHJLskW4xClkdv?= =?us-ascii?Q?G9+0+ZgeYQG31F8Lfz2xCUvA/51dSHHJSat8WiVxeXX6zK6oYJCklbDNLfZ0?= =?us-ascii?Q?YnpksQEpEgA1kWpI1fD3+OnFLCCx3FOSvro7n4Fu7y+pUfCvmNy3VjHqlrjX?= =?us-ascii?Q?/HjyJ7xG9+jhQfHGR3cdLC1Hh7XS9r/fznnTVDtT1wtULdmnkL3WTO9l5gqW?= =?us-ascii?Q?h+P2/Jqephf41xfD5WdMY1ek8CUyZKxIS7d6nmZebpcOXEZUWZX1Qzzv63fY?= =?us-ascii?Q?0x2V7qZJHVya1UNdn9QJbo0tRuNvxquqnhONxb+nq4t+xQftlaBbmpKs5/+Z?= =?us-ascii?Q?bVUu3n08ErcLsZv+Mo3KU3i3F1MVA/BFVnW8VSmNqRk4/TrLhwjQskq4QOJP?= =?us-ascii?Q?hbIxFl3VzGHp0nMtbQHREVhiz/oa3MHy21EFrz523I29Di4gCwT7GwDfpAFu?= =?us-ascii?Q?EL5UKl/F94Dp9EsqcL0Or/vQ0CBin8PN2WnmbwCFuCojW7snapoSj2KpXygt?= =?us-ascii?Q?qLjFOF7QD9toHm9phU9uElwAHvmagBm1NAJMiDET5BRby7BNRyvt+WEXd81K?= =?us-ascii?Q?uGFaqcsFuYaWb3Q7vL99LpCJZaWQ2yLI3ADAHQixatROFlxksGdTZXZeENAU?= =?us-ascii?Q?d8Z8hcsns0CKw6fgYmdJROiIeiuwza59K3a15VaFtjoeg0vwQWbwGxP1cjv4?= =?us-ascii?Q?Hlv9iH/2AKUJIqms3S5NQiKk+st2cNGdwAxgzp1yVqgioaEF96YV6yLKW2Uj?= =?us-ascii?Q?ghIc4NwJ0Kngu2qq7ZIyCWOIHa1HZ1DnfdhVgwQf3todm7KfUf6rgdZSg2nF?= =?us-ascii?Q?Rvxeg122mQxvAYKXznrarUIRf/qWT8MdB0e6iuStJsvUmDHsfkFKWBVWXowz?= =?us-ascii?Q?/LiOevnN9C6YUE6NIfObdwHr11UHrLhGK4B6wqvGxfNyfeqENEhau3o8OUR5?= =?us-ascii?Q?ee1I2xrxyr8AXVYmNI6YZah5OgiEfk4eptoxkLgY6AdTXJ1u0ar/IvHkzxa8?= =?us-ascii?Q?7n7rMUIVbrpuK7lrCeILbtvE8HOVEht+4VnWjvwYtHkTNfyl6Ip0lPv83Y2T?= =?us-ascii?Q?vO2ofyGpfA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a748e876-a029-405a-8f98-08de85d12f02 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:21.8090 (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: DJfOA+fvuydlWIVpgehCoyiAFowdCDfNwYyzzloVdQmoWwieHcEInK6ASOU0+mWx9g5mkGVYiRZ2LcCYJNOLXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 Content-Type: text/plain; charset="utf-8" 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_cmd() function decides where to execute the command passed through $@ based on the env variable TARGET value while run_on() will receive the target through its first argument. Signed-off-by: Ioana Ciornei --- 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 tools/testing/selftests/net/lib.sh | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/n= et/lib.sh index b40694573f4c..f7c54d05758e 100644 --- a/tools/testing/selftests/net/lib.sh +++ b/tools/testing/selftests/net/lib.sh @@ -28,6 +28,10 @@ EXIT_STATUS=3D0 # Per-test return value. Clear at the beginning of each test. RET=3D0 =20 +# If a specific command needs to be executed on another target than local,= set +# this appropriately before calling run_cmd +CUR_TARGET=3D"local:" + ##########################################################################= #### # Helpers =20 @@ -670,3 +674,38 @@ cmd_jq() # return success only in case of non-empty output [ ! -z "$output" ] } + +run_cmd() +{ + IFS=3D':' read -r type args <<< "$CUR_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 in case the CUR_TARGET is not set. + "$@" + ;; + esac +} + +run_on() +{ + local iface=3D$1; shift + + if declare -p TARGETS &>/dev/null; then + CUR_TARGET=3D"${TARGETS[$iface]}" + else + CUR_TARGET=3D"local:" + fi + + run_cmd "$@" +} --=20 2.25.1 From nobody Mon Apr 6 10:45:16 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012028.outbound.protection.outlook.com [52.101.66.28]) (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 5E0B93EAC83; Thu, 19 Mar 2026 16:04:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936269; cv=fail; b=E6hUZ2WCaxkfEVU0Ws1yBsB0lrKtsrCBs6ZjqSbk2ruZNB7/5u2H7lwlHO1Kvc3lV+pMAB2Slpva6AS+tuOlKSltEFDzcM2BGvnlyvWGtKeoUtq7r30sGZH4KqeemKRBvSEO06Rr7WvwA3xOCuBupy2fRWWttM6UrvFDUJrqr84= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936269; c=relaxed/simple; bh=f8mZXdJjMm4VAdfGkbLsztIxSPFGmr8vt4q7ZIPwcxc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=NRi3y8EKaqpzNim8UsAzE5YjVv7rsnMv6YhmvznYrAkX6TwPOtT6bKaDnhvcXDXGkj+0pKHCePPBfnO96s+rKXHzC1IRIT9mY/4oNGhR1OZzZz3bl8D02uHWciVDU8w+0xtvIN0/fRZCE0qLkhGlbjk9U6Y8Nctmc+DTr17qLSo= 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=aKf/61Ne; arc=fail smtp.client-ip=52.101.66.28 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="aKf/61Ne" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qH+y+f0sBEhyMot1apwistIz1TKdPQ5LHLS50mPDZ7FX/fFVG7m/44RiJut2rX3lK36JeoU8e3FEQmNU+r6sr/+o54ju2GHCLeueovKEMla3CWt+Ls9TOH76UFe50EPNc1hSh9UxHfb6sLxFYZK4y9SMRU8JVjUvE3cmquGT/mIqZgyILEVM49v1y/tZ0Arewjf68Y9G2K0FVskB5RyJGX8dIIpB1RrRYZDRGiwn3E2Pa75N/ekE6hNl4Wvi80B3UWBaqZ+smrDY61eQGok8Fpz/zEqdCjvTRxn/bWwjVLaPjxA/aJbiFHpGYEM0M/0n163kqav6g7wXvGdSn7toDg== 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=DA1a565/id/3DHc5YnZgjQcKrr0F/1Z+cZoFvp3doHQ=; b=sHaFTaC2FnWA0VTFHialoPDJByRO9OkXC5ZXyb4GOwgBE/ern/DN+TxGNB0dIqdw9u1+hGR6MLj4t3FSBo1YrcOO+VWyY8WThoRrs/uju0L4Uv/Zzo/Rsm11Js1Z8BSQlK7JpQ5iavonXGNiJ9YQ8xPnI3+ic2lWcDAvYLibMkgbwQtHcgSPgTI5kBiBqobjydZrHrxwVqyghDrBBDOe+OurkXxskJYhy7T1H/LCBJgceYGVzbfKuTEVOtTpDVYejEMcPvDr/z8Dfzd4E6YDKlqlq9/75+RxPPip77hazY/I+uZAUM46XPFq/aD2aUr1vklId+yHCgHWjo40hYFcig== 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=DA1a565/id/3DHc5YnZgjQcKrr0F/1Z+cZoFvp3doHQ=; b=aKf/61NeMkF4629uiVdVnFSfZtVsBdw9t5U5xUla4qwLrY+YQuJCHv4jiCpEEbsxLAK01hwDHNZN4bCfPp+Jj6BKLwhw5FNmWz8mbVU9BUBi9VViYiUVdBOtGbb0ZMIDL3mxCAokdhWiOm5GcL31+eZPjklZnXCQIQZcxOoAf3EIRFvrUJIAJu37fGb4EIHeK8JXD8wc1/Rkimu9XoRHPoon0th7/7pSJbLnj0vjNK+n7bgIXIr/PwnZNu+TJIHg9BH3XObNYEDXHXQY3hIWNKN/akrjZThycTe9xEgF2TT2Kt+57AWS5PpOzDrBlqKoWZLCJr6Fv0mzD7GdPZUeJA== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:13 +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.9723.018; Thu, 19 Mar 2026 16:04:24 +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 Subject: [PATCH net-next v3 3/9] selftests: net: extend lib.sh to parse drivers/net/net.config Date: Thu, 19 Mar 2026 18:04:04 +0200 Message-Id: <20260319160410.2515105-4-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0316.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:eb::16) 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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: a22c38e1-8ffe-460d-2490-08de85d1307a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: tN4HxcfB7UVkHQWqxnFOAFYzTqhl8V95xM3cjRNkQ7PZkQhFYxS7hpm73/QKR3F3VlpoaeQf65g9xUdn43YdKFqtrMNLuQAIV7sxFgnXhtJg5GSlNKZsQid9PIY8Tn/cJF56hWGAVo5jNnIK5xK2aLFa4jA1eweUHP9wphIdMY2WJbDO3bv+konnm4i5FdXeqZqE/byHkdAgOEcARKjb3wKKiduV/PmbUmYDRKutlOsGg73F7K4jxZDEJqBl6mExHIAhZWLNNdnw0yupSv50eKEXyaGFjcW7p/mmabnTjHrdA0zHeRfdpIkTvE8QzdOJv3GLu//jezJ+YINmxd3tzrk1JlhvY4Ph4WkTxFzfmdCFlLCh/+nMN1+CoCmDG9s/pxt++VQ9Z0jvFM+lLOy/JfI4RiOzJ93CtKYb5LOuDOnLmwqsC6EIKB0huViDwPs9em9LKi8feHBQ5AlavkvkQr4HWtyT/Sp9c/PES/+NDfLQpItZGxjElf0qQgEhpiNga18qNUFQ4zcmUqZjnY2Z8JevbPF/g3wM71oY3YS2d76GwRuekCK6P0D8UMMDoW67b3w8RF34AZ/syeK8m7CJZl9PTcSrlyP/6yWGY9GINEV23zzcdHW2RNsrKedO8IScOYk+i2Mh8N9Ek09idv9PiNGMu7Y6fwBiUidmR+KQM5OS3pG03VfJ6zktJC/IKRag4+I7ggyXGN9SLnNlUewFmyk+QNrut7z5vjLg1az9b+s= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?w1oOv0TizDL35HNFj8F4o5PRy8BV1LGuinEbX5H8f8Q5Jcc+UKm8X3Wfx4iB?= =?us-ascii?Q?86MN6wGos50nrnjipLccZD/EwNpVqLDiH1SYG2R8Wt/+ZhRSsz1k/3qkUtxe?= =?us-ascii?Q?+xPAM76eRCq8CBBIokdPasfie3+BUcW7uEIAp2nVlkGbcs92gOzhov64KY5i?= =?us-ascii?Q?OKHpCcz6T/+Nt3tmVWsYLZpzA2P6TrHTfXmySEyNL1gATa1duk6UUoTNBvBd?= =?us-ascii?Q?Ga5YdmehRTGY0aeiDm+adsT0tlO76oKV5WyW2Su7VPlpP3YYrOtMRRkxvXYZ?= =?us-ascii?Q?Sxx8RZF5DOWAfs31kMI1qv1JTeHYUjFcZbX0Dq46xKH7476HTGTAWf9xeqvy?= =?us-ascii?Q?P8EAcbCtxcJd9s8kLcyqV+iRhqioLRv0DlJ1c4ltRZRd+rOJ+ueoJOdFnxSQ?= =?us-ascii?Q?oS0rI6srF7unm16eAKnwSTWHCZol1kEQIxvyu1P51S3Mb0oBQFtV6No6tNUm?= =?us-ascii?Q?LPqYM6lTb6o8HyiExuMvcm+L4Wv1ir2hKiTTEIu5dj0LVscQFL0zR4BBUlNw?= =?us-ascii?Q?/Eb89GSXrtOas2dmwhROa63KWtoLxlCxR/uCsEJRdbnOFveSRCJjkouzMCai?= =?us-ascii?Q?C/Lnet00KT/aqgjZ/jGnpSpO1Wx6tNZIMvCDCNtd0GhpmYwkTDx1frfyxwWF?= =?us-ascii?Q?+201bBUoMRr107aZkxfCrA8ZjXQ1maBPrwojss0HCxSqWzlJZEVJTonUWgQV?= =?us-ascii?Q?f/eMySJO3vhNIffvo9x/9/ilZViM+RyPZRgrEkEqWVjwShdeGwQiDwubH8Pm?= =?us-ascii?Q?28qJLTsmaky3Kn7IsoJfJosuftZbt/ni3iNV51T61HcMqKnWxIthc8Vqxlyg?= =?us-ascii?Q?OblcH/iiP767YekS6CDdXHvHnHyJmYZ6Frfc8rLPKhJdVDsRG4vY/wAkjxKM?= =?us-ascii?Q?qtODFATr0yrxmK41VLfQypalgTZd+HD/wZsj4yhktVE+PPfvhIk7bRIQihtz?= =?us-ascii?Q?ykUDd9STJ7OOdMOO1Kz7OyKj4buxOAFOsa/qvtcYJ7YwQ3y90vH34IjIF41+?= =?us-ascii?Q?8xKw0c5BWu9Yjz59Xh5kiJXffLzM/kTKPUu2KiPkdD7k6KWIZpXvIMecU/lc?= =?us-ascii?Q?XPE9AD5ftzp8eyELvemkQgyd8wTkaIG5gn2At7J4g4laoX8DoOwmxYsl42EM?= =?us-ascii?Q?MSzlnK5HDFbTA5PA4HVxRbQQ5faS4fOmM0ZRbXWj9ePgLzRgSSghXAuEbPtI?= =?us-ascii?Q?5owMOmai22Me3T1ibru2KBoBAkXBoqBLHfmdudqy8Wf3MBq7H+nAbYiNsJdp?= =?us-ascii?Q?W3S1E7/ZcQLRujGSpkpmEbIriALs38I4tHVys0Jxpzo62CC0p7bwJJ+8jOsM?= =?us-ascii?Q?5q4lm91gNdo7LS2cPHQyH5AZHLo6t0gLwssqwATXkCIOCYHsxuP9aREpEH6b?= =?us-ascii?Q?9RIHkgxPUKZV0mg4PjNOMTZL5vfEX1u7wuw8JSJdbwKcRb/Zi6Ji6v06Ela/?= =?us-ascii?Q?GYiJ5AwYqQAM8eGfJIKahtLyIblZoleUDgV+/7l2ufSTVT7QGiOuW1ony1Ie?= =?us-ascii?Q?T9eHY+1VpAGeRvTbP4sq1H/gHZPzMtp4NnS/Y4tEYGUwMJ3LhwVUJlrwt8hI?= =?us-ascii?Q?IuK0BFDMsSCfX7sxVUvA/ZXQxV6MMwBeOUUjY4njZVnqV0kF93YJ1zxV3DBu?= =?us-ascii?Q?DrqQZLrHj3V8qkWiJfNKgwLvmGqiaXMqyxykLvSspatZl1HK5K+Xuz38J7in?= =?us-ascii?Q?4oDjYlMYjl509yyxQ+RAc/y4bICJ54AkEGb/RPalhg+4ZVxQX2QcFMZxVQiv?= =?us-ascii?Q?RByufK0oTw=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a22c38e1-8ffe-460d-2490-08de85d1307a X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:24.2990 (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: kugp5gfZ4qQbB3PcxyeEufqHSBq1mnOKrow8phHqwGX91NOAKfoqNE8pWirA7KGZAQU9zjl37jYqKsPLlfEZ+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 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. Also keep the old way of populating the NETIFS variable based on the command line arguments. This will be invoked in case NETIF is not defined. Signed-off-by: Ioana Ciornei --- Changes in v3: - s/TARGET/CUR_TARGET - this used to be patch #2/9 in v2. Swapped the two patches so that the run_cmd used in this patch is defined earlier, not later. Changes in v2: - patch is new .../testing/selftests/drivers/net/README.rst | 3 + tools/testing/selftests/net/forwarding/lib.sh | 130 ++++++++++++++++-- 2 files changed, 124 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/drivers/net/README.rst b/tools/testing= /selftests/drivers/net/README.rst index c94992acf10b..8d8d9d62e763 100644 --- a/tools/testing/selftests/drivers/net/README.rst +++ b/tools/testing/selftests/drivers/net/README.rst @@ -26,6 +26,9 @@ 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 +Also, make sure that if you are using a remote machine for traffic injecti= on, +the local and remote interfaces have different names. + Both modes required ~~~~~~~~~~~~~~~~~~~ =20 diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/= selftests/net/forwarding/lib.sh index cf40cb766c68..fb5aa56343e1 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -3,6 +3,7 @@ =20 ##########################################################################= #### # Topology description. p1 looped back to p2, p3 to p4 and so on. +#shellcheck disable=3DSC2034 # SC doesn't see our uses of global variables =20 declare -A NETIFS=3D( [p1]=3Dveth0 @@ -17,6 +18,26 @@ declare -A NETIFS=3D( [p10]=3Dveth9 ) =20 +# Array indexed by the network interface name keeping track of the target = on +# which the interface resides. Values will be strings of the following for= mat - +# :. +# 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. +declare -A TARGETS=3D( + [veth0]=3D"local:" + [veth1]=3D"local:" + [veth2]=3D"local:" + [veth3]=3D"local:" + [veth4]=3D"local:" + [veth5]=3D"local:" + [veth6]=3D"local:" + [veth7]=3D"local:" + [veth8]=3D"local:" + [veth9]=3D"local:" +) + # Port that does not have a cable connected. : "${NETIF_NO_CABLE:=3Deth8}" =20 @@ -340,17 +361,108 @@ fi ##########################################################################= #### # Command line options handling =20 -count=3D0 +check_env() { + local vars_needed=3D("LOCAL_V4,LOCAL_V6" + "REMOTE_V4,REMOTE_V6" + "REMOTE_TYPE" + "REMOTE_ARGS") + local missing=3D() + local choice + + # If a choice has multiple comma separated options, at least one must + # exist + for choice in "${vars_needed[@]}"; do + IFS=3D',' read -ra entries <<< "$choice" + + local found=3D0 + for entry in "${entries[@]}"; do + if [[ -n "${!entry}" ]]; then + found=3D1 + break + fi + done =20 -while [[ $# -gt 0 ]]; do - if [[ "$count" -eq "0" ]]; then - unset NETIFS - declare -A NETIFS + if [[ $found -eq 0 ]]; then + missing+=3D("$choice") + fi + done + + # Make sure v4 / v6 configs are symmetric + if [[ (-n "${LOCAL_V6}" && -z "${REMOTE_V6}") || \ + (-z "${LOCAL_V6}" && -n "${REMOTE_V6}") ]]; then + missing+=3D("LOCAL_V6,REMOTE_V6") fi - count=3D$((count + 1)) - NETIFS[p$count]=3D"$1" - shift -done + + if [[ (-n "${LOCAL_V4}" && -z "${REMOTE_V4}") || \ + (-z "${LOCAL_V4}" && -n "${REMOTE_V4}") ]]; then + missing+=3D("LOCAL_V4,REMOTE_V4") + fi + + if [[ ${#missing[@]} -gt 0 ]]; then + echo "SKIP: Invalid environment, missing configuration: ${missing[*]}" + echo "Please see tools/testing/selftests/drivers/net/README.rst" + exit "$ksft_skip" + fi +} + +get_ifname_by_ip() +{ + local ip_addr=3D$1; shift + + run_cmd ip -j addr show to "$ip_addr" | jq -r '.[].ifname' +} + +# If there is a configuration file, source it +if [[ -f $net_forwarding_dir/../../drivers/net/net.config ]]; then + source "$net_forwarding_dir/../../drivers/net/net.config" +fi + +# In case NETIF is specified, then the test expects to pass the arguments +# through the variables specified in drivers/net/README.rst file. If not, +# fallback on parsing the script arguments for interface names. +if [[ -v NETIF ]]; then + if (( NUM_NETIFS > 2)); then + echo "SKIP: NETIF defined and NUM_NETIFS is bigger than 2" + exit "$ksft_skip" + fi + + check_env + + # Populate the NETIF and TARGETS arrays automatically based on the + # environment variables + unset NETIFS + declare -A NETIFS + + NETIFS[p1]=3D"$NETIF" + TARGETS[$NETIF]=3D"local:" + + # Locate the name of the remote interface + if [[ -v REMOTE_V4 ]]; then + remote_netif=3D$(CUR_TARGET=3D"$REMOTE_TYPE:$REMOTE_ARGS" get_ifname_by_= ip "$REMOTE_V4") + else + remote_netif=3D$(CUR_TARGET=3D"$REMOTE_TYPE:$REMOTE_ARGS" get_ifname_by_= ip "$REMOTE_V6") + fi + if [[ ! -n "$remote_netif" ]]; then + echo "SKIP: cannot find remote interface" + 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 --=20 2.25.1 From nobody Mon Apr 6 10:45:16 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012028.outbound.protection.outlook.com [52.101.66.28]) (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 299CA3EBF05; Thu, 19 Mar 2026 16:04:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936271; cv=fail; b=Sbo7T9nTBx8b9ZzK65ZOI47vVCVf5m5Z1653A4Gv+zwJu+jFutv77SuBpNVi2IIMxNYbLpqFmHiJpWpBaJA0qa27LCTqc9igynep3N0K/H6xtYgqw5xNrNrzSCJCtwOvuaZates5simZUORgSLNLCNeX9JHZgGuHMcqUmXpM80s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936271; c=relaxed/simple; bh=h54S/SxNqe4Z0XBSw6KgV2Ijqr3EWg6fF9gZ+LgYQLA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Xy0P/CW+eX9RDnF38isATIAbhaKYcPKHTYbGNbf+ZUoXYFY+6Je8Q/eq/w5NzQTTDcrJxnklACC3Xa1naGvVdot3h0a1Ij+G7nX3mp2vS0x7OrePQzbzIWeW8zPBRv3EsKKax6Z1ruxAEZl23dIpgLdBCvAjUkTuHu3+2KPgWsc= 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=CAxPb4dZ; arc=fail smtp.client-ip=52.101.66.28 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="CAxPb4dZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GFTEghnamBXEstMAVpfTgRSW4bwbCInmShhk5eO7Kn/zZGp5EnNEH2doqzIQoIFkXcjCeE3NtCzvWliBMyFSqNv5uGq6yCHJClZtlnNmmeVvPNUYkv2yHKbW49YdLU4Jj0bZfihAq4bDJc3bwPn8vn0zx3/OhC7M49UBxj1IwrsMg+gPCj+xvgTLH7IwUpXl0Ga7kUHrN7KoJbYzf+QuH50LdXQ0Qe5CBASw9qsJjzI8dsoXBFeCwQ42wWLH9I5CaoEVmBJ9DWt79E/icu/N4h8eJ3PeqKY/DLDRpdoF/EZmKQOh/xIeR0zkAqzoVz24PMiwy6XdUyy0mqoXALDUxA== 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=kGr/+DIq4niOGiufQ3CGYBqIGYvR4fE5Hg+0+YEu5vI=; b=HvUqLFBT2N9gBF/9ZL9Vb4+3D9hX+JX5f/2zAB2zgWbQ06GsSX2VPOfpewm8y5q6HX7qW4nPBAhDpDrwKu5COLCiSK+WhjXq48F9nZPqTm2/YvCZ2Zaq3vPyqeeYugRmo8cwlVPTtrS+pSPUE0a5iOw2/kgRsS2pbZk3JMQ9ZB0JXlz38w2CKO2ZZc9HEsdCzTqlWjSF0NeCwWPzguJSvZIq/ZW8S04nYoPzfxi6LoR4VbIbZhGy72l/qgCob4W+FU+0tdTuOIhdBNPQWg8VxLaCDc/ImMBhHzwUMAQEp8ilY0Zoox4Y0b97AUJIRTxJcRpGkbdxMLVPk2htIo3UzQ== 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=kGr/+DIq4niOGiufQ3CGYBqIGYvR4fE5Hg+0+YEu5vI=; b=CAxPb4dZtGrkkPNGSgnJvVu3HNZqcCa+EmENSKgtoz9vEG+c14lOYBDDnHho5LCDw+lSWwBdI5uFtDGeVgQ/KweuFMpVPu6kVo1x9jloRzOkArlwvYJA3cIVQeBoumUn44j6R6mUB9+eIUxA/3R7S1Y0izrkMCImhA+srWtEZnH8lR9Mkj/UsWM7z9/1l3wLiax/94Abmjx9TashAytQoHlw82TOw3SW/m64GpEswmHjpJ27dCJTMzI0kGFOL0U35V3LE7tnvnJj6poCJWr5GONapr6EVyzwq6mMhxRWO0eb5QALIgzcv+j92bNutjjAGdQVsDlSaeeXJ6BuxKnJ9A== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:16 +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.9723.018; Thu, 19 Mar 2026 16:04:26 +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 Subject: [PATCH net-next v3 4/9] selftests: net: update some helpers to use run_on Date: Thu, 19 Mar 2026 18:04:05 +0200 Message-Id: <20260319160410.2515105-5-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0330.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:eb::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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e7628d3-3960-498b-3b4a-08de85d131f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: AJTuptRXHYXD/0uzYD46qvwADdcqjTZk45/5Q5AJIaO5zQDJql0Szon1ZYhrmv+T5n3LBGxQVJhhovmdMomvAlbXKr0om6np1X8BxfP/dsjp/WXFTjYtt0JPPMZyPGVaWeeUB7cOjVBtkiMKLurz42Inm8USF0WTeHFzu9RKUImZrC+YI3E27fEtvlqNjVhnjx8Ehkj+RtSaHrH9+cceZ+yLwZft5CjLjlMWre0GygeD5LFqis8EJ9+BB3NpQHi8tf7gYpCzKKNusgQOK/MXqy5msD5UKjrx6rF3JF6Nx4pB+jtuptbatHVAiGmYnISk8vEdBJkauVbSQuhQTwwXgBn8MD4WgtUxmLO8jRcdSB5qHSG8c5mJVyHaxiGboEWe8bHTjmxxnwbyeK9Rr0z7LPL8fKaZmZNOWLEFYVwz/FHdxECdB4C937EdyS0GN2Ir1i6Jt0F451eqUr4svFROTg7FDaGF2CW4yiP+NEWrV+M/O78mKYCT8x5Zs97SKaKHzpp8aKnG88+nJs/BySei5r+eEqH4ARzeGRFmJNa0tk6y6IJMVkkbFWCoGsmqVrpxqLMOmcgw8XCCKhqLotceFmj/bbVSKgEQ50UM73fYxvtJjyNpAW8YmBWiOnd9Q66Wt5L423IX4/+SwEV0wvnYKpodT9Vqx/VRl3FG9mShr3RnVKecXeUpZ2f2yAd4IL0J2YAUPAI7QTCZBewa9kbKgBJp5yKIXD3+wiBiF2FB1e0= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zVe9mAya9J3g+9nvh5qKx9/Af9cYs8TIEpBbLRuTCrFPi7eUtpyfSQKdaLqd?= =?us-ascii?Q?klm54imxeEaDKDt54DCxVuk9qZyp/jk9YqJ+OOjbl1dBjEMJKuhVvzoGSBpp?= =?us-ascii?Q?1v5g/C2kKufvMeS3LnzAE6i2DoylVAs6iC3NmOyxcC4h+GbDMuzpejvAraQb?= =?us-ascii?Q?zfM/jOlVfsmj36ZBas3kmTLcpSTgEWkVZv4hGS5dH6ETxzDrq1FXnPvMOcro?= =?us-ascii?Q?/tVBux5NUhrdUkldMnRezGoFhKzd9HrlGiQvu6r/tT3KITk2HFNJSYqIQw2d?= =?us-ascii?Q?Hg2YysHMYgHUCN3LQp/KZZ/GWgJI2Us2VDQbEsQATX5VlyvdtfkYv79lESQd?= =?us-ascii?Q?gyEx+ZvucJa3ubjhWZlAprkzPCJ5VOKrdoZopAujF5r9Gcof40kSMkC9JiZM?= =?us-ascii?Q?jsSxGqCdrm6C1jQ2drtQsXrhxvXGxnlbNLrzPN7nLxOfpMtrPw2teSpQuf9h?= =?us-ascii?Q?6JFAy34AoRWsunFn5nmivzts7/tduJaOjga5SH/XWmyM1Q5/oQvqNqh8u76S?= =?us-ascii?Q?EqFz3rZeJZtgsVbSlN/ZxVHGsx3fjzZDgjNg9k8LAHBQRLzSAGAQwU84TRDn?= =?us-ascii?Q?S0aq5dgpINbPrGG5p6ZY1KkNmguU+ZGdqJVWb/C1fjuHpAomoruASlRB/APX?= =?us-ascii?Q?YIEulgSjJ/xJY/aHUttpMEGPDiNlfG1pd/LPJc/GLjLYa/yLkEydPEjDMzkr?= =?us-ascii?Q?gBdc6R0HH6QqAL4z9u0Ut+6To4hxDVyMpkGmT/++ARGtqf3UAAdBE7yXqvyX?= =?us-ascii?Q?MWP+8QUDiy/+15B1Pbo21GbHFbTKxbqcNp8pITjUwNQcO4sWGGdK1bQ2Zrpe?= =?us-ascii?Q?COcdft2bYKpCfL0HqCDFSDNHD/7hAe4ts61aEzRcX90/cu20G/bCYtetqJjl?= =?us-ascii?Q?8CCsasWYPVpBfKREWNDwcI070G9DNCKPn2N3tJ4Bq8NyXxtH82L6Wi9LHyFc?= =?us-ascii?Q?kl9ULNexUY4ORe5VB1HZZmeKFqjBOj04/zDfejdng0p+Ps4LKA1HmfDvah/I?= =?us-ascii?Q?HFouRhkgGHjvNb4HGJOibExQg2hrrtA41X32pldqqELvsDEnCeiAINCDSqhL?= =?us-ascii?Q?9cpolFCNSmgA8Cn4JlH3gcBLf6gFAVf8OsiYNmzb2hmhc69NaDyV9yemz5Wn?= =?us-ascii?Q?ZI6ZelGpSE1P5jHyva7dNKJ6l7prtwi2OOu5GacG52hrlxfRry/26gGQws46?= =?us-ascii?Q?BB0+kjcfXduAMKalBZVuH8O4TBpvOEO5A41mZdgepqOOwVD/Ubge4wvuDrRX?= =?us-ascii?Q?vuWi8KUht5JJq2fDU6Q2xttUy72Q2sllUFmt+Y/ZagzITOrxknehlUSGVCQn?= =?us-ascii?Q?7knNu4VaOqJfJjv89bysP7JDcNFPPyXurRY/M9BDk/VDOIUO4ZJDs94wgcgq?= =?us-ascii?Q?3GBOPJmIGw1zHw4ee+zQIVMe+I7aVrRgm3VVxw8cqaJ8dMj7iKl14dfsy0JI?= =?us-ascii?Q?4my1hjcYSULYYPJYmrixCvnODLYqM35aRuPaF166ohaeoLf9x63ZkWCcCx6v?= =?us-ascii?Q?tIog59+NOeWg3su53Ha80Gm7AidE6g3sH/Zbt9J8BOb2wu/pssLRw4MMiV4t?= =?us-ascii?Q?6RWZlkhKsNBgLmsD2IuGgs6hAgK586Tq+sZ25YPwWaXLvAz3ldoCeRapngRk?= =?us-ascii?Q?uFtLjtDXE0q7mHY6+L9BpRL4aHc+sNlte4jq+Ip0nfI0AUjUdqzPFGNae78l?= =?us-ascii?Q?mI/syItmLTgl8vYp1+qm23jFzx+ltY4ArCJNW7AmTOu1c/+06C9Gt2yLoaNq?= =?us-ascii?Q?cOiROb/akQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e7628d3-3960-498b-3b4a-08de85d131f5 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:26.7008 (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: 74Bwo46xo3esdrP6BYGLhNkmhKiAUO2EPb/wwN4bkQBq+iLLMacxNNu2ICgDn8bsLDuivJ8Sytzjyy7ZX7OKAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 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 --- Changes in v3: - added some more double quotes Changes in v2: - patch is new tools/testing/selftests/net/forwarding/lib.sh | 17 ++++++++++------- tools/testing/selftests/net/lib.sh | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/= selftests/net/forwarding/lib.sh index fb5aa56343e1..f76de37d0caf 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -530,10 +530,10 @@ 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 @@ -543,7 +543,7 @@ 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 @@ -556,7 +556,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 @@ -639,7 +641,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 @@ -944,9 +946,10 @@ ethtool_std_stats_get() local src=3D$1; shift =20 if [[ "$grp" =3D=3D "pause" ]]; then - ethtool -I --json -a "$dev" | jq --arg name "$name" '.[].statistics[$nam= e]' + run_on "$dev" ethtool -I --json -a "$dev" | \ + jq --arg name "$name" '.[].statistics[$name]' else - 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]' fi } diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/n= et/lib.sh index f7c54d05758e..14f262a593c9 100644 --- a/tools/testing/selftests/net/lib.sh +++ b/tools/testing/selftests/net/lib.sh @@ -518,7 +518,7 @@ 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 Mon Apr 6 10:45:16 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012028.outbound.protection.outlook.com [52.101.66.28]) (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 C5AFD3EC2EC; Thu, 19 Mar 2026 16:04:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936273; cv=fail; b=Yop78bFJSLF5bbsIYROSwFUeoIboS0qZ/qZXKta/tU8WvaQX/bwaCOiA/WakgcnRi1udGr+IqPMEzG46ZMfTD/ror5vgxaVTcu64WRvaTibjgPciKSk29xFAEYVUummugLvfugqOAIgZ+06P5BqoXxkrFhXFF2XxG/ECbZPWkqg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936273; c=relaxed/simple; bh=tfiZrW+J8Blq7A4ogOt7YiU2pvOkimJL17EW4WiTBOo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=ELcz3e7gpzTsk55YpKALqdU93hnIgcfvAAJpcRt84t4+Kc6woD2d8ln5w0Lm1Xqdi/83etroB5J9f47LFDbIg9HLFtK8bjgtCKXeI/lYdbh9bbpCV8yFeFyT1JdtGSGZ+pyjx82ngizPafAKyuZpiX3XgmvjPua6nZmWseHmLvs= 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=nIeWg2eR; arc=fail smtp.client-ip=52.101.66.28 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="nIeWg2eR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o3qek2/9m7twbTRI37Qu+Pwo2l+VIjeWIilu4mmmjQ9dZChuxA4geBDhB89OQ35WU0lNElrHE/JN0qiwguLYMRHGFHbT2qSX0yxw8tnNvpqCoIQ890TPAuaHSLDb5+FWWsDVB84gy6q4H1tcRVOv0tAZ0ybonINi6pjDjzNv40whzWMT24RIyQp8xTY28mQ+WDaTIBJEIjpr13EX87xIfhp4hDAtB/Xhh4rlPM1gJVvdEBtsdW24s080LXeballhKVG1H1zwJgGetSSfz4IQyEf+CR5MePBldDPWDugMlWIZ4hnKzqIxZgnNhsyUvN/lg6hfFNyID1qnqx2Bug7+zw== 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=1L73IrMu9sEXEnjFKfMvaAHkIprpzNJiihnttoIg39Q=; b=HctzYBg94nDJYqlfgXfqhLnNPbFdv+u+Qm6qWVh82bRYtJVoWFLYt4ip2SX8rXnFvEKM1zMsFrnPgnxs1jFLn35HFJu7dHNlS8qyiTvR1KQIjj/zyn8s0+gHDGFWgEkXYmwA28abXXZ/qlUrCappXFGIahsWeUreLwlcMbLhNpR0gPS8N6RAVMizlMVsm7Dy+DBd6f8FS2v55EDYOKrqJtZ7bWQ4JypScK+V3HcfmqxQ0ISZWIvE5cFD5zpoyBW+oRayWLm8Q/yR7Uilt0KRTzAr6oz23kv21S881Q7BWjF+apOikpDnJ7YDO+gmwacz4hpeZXPZJqOqOw3GDIkbUw== 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=1L73IrMu9sEXEnjFKfMvaAHkIprpzNJiihnttoIg39Q=; b=nIeWg2eRTgCQSHJkzTZ9FblHXKbyrcSIUgRnF+a8ojYpLkg1okTBrSn4BbFKJwpvvX+CHPIHhaPMoMFAk7PVFIwrd9M40jq/AVWL6b2ePYiukbzYvTG8oa+Tqs+T/ygDhXwbh7AeKYKJLtkLDMQbrXMS7YBvhWFy9sB5a9nezBgIMmtN49F3Cz5XD9qMh3S3qKjcS/8PpKs9gAsMUsRKOkgTeM4ZvM35o+h3KPi9IpwsK0aZRQm6VuHH16AJ20pxy0WS/F6QENOiB89+noQcZ21m8lwp8tY+JIi0QSekZrWUWe5Is1/YpW1kWqmywsZf/uIcf7TiMw8JKvNmtdaeYA== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:18 +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.9723.018; Thu, 19 Mar 2026 16:04:29 +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 Subject: [PATCH net-next v3 5/9] selftests: drivers: hw: cleanup shellcheck warnings in the rmon test Date: Thu, 19 Mar 2026 18:04:06 +0200 Message-Id: <20260319160410.2515105-6-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0316.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:eb::16) 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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: d4f56501-e06b-458f-45fc-08de85d13358 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: EqMxF9PdK9CSPsNQclzN88U+8ZCB7UD4bvcylfnhHpBSsPA1PzGtHDCsqYDSmQhqPHfPzsU/bnFx3o4rRz6OLP5Q/OSD+VmAq7SHwXmnkKOEFbhzyX6W3+Rprf+PiwGqzQ0SGCN4xzdvzoKqOkI1Q/xkpfoGRu8+swqJoE/pbP+ZwWnWJV2zmDiNRtLeEujD1Ho6PpebmIcFo71VXX0yFQd4pfMRRI2vmbhZOfeMynqrFVxeqHGy3aTf7U2NtncVSy9LC/1kb1iI1ulGIH5npDgNLO/hc3el3vdh3aIlvgdTri+YcPUGIwT8J100HpLtyJMM9Oc9yvEf0hdAqv8InR8SdkigopUy4hPIZ6ilWJ/UyMb0V9CHPQbEYjXM7BV2G+yKKiulCXV/NzQieMhfOtFIceaV3R65GqFcfFVMxIa2+pJxwM6J8hiJ4ifebaVzpPYAht9W+1a5UeUbaC91Y7nzpcE/RRSvwcCmar5GOh9i2EFczVBc1Ez05ZnCxzKrnl58Fv6LTA3DxLwaAThKr9LU/sBW5PdHBCXdsYqxp+B5v8Vv7X+Yx3x9zgzntnslZ6ni2E0bJnVXnNvntRiLIUNdql5Cg3px5qdgsZbhJHirIZ7U0UWaMtojcBOgvN+dofmGtJbrYnJLDZtloEjAX7cx288hrBWD6MU+EYGi+Qa/XJdJ9jNOeg+kxLG1J8x3ZZipCZ812RA4DMAP2iiqtAfiB7ObiVScTmDpOj9cF1E= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xKq9SOpoknvWn+FaKpKlXAJ6tqdNt1Q4G5IHg1+fNsnYDr/RAJTyskVo/5Tu?= =?us-ascii?Q?ckqgUUmBK4iiqvcRA1o/FeFfKMTipcsrCtTthu/c7B1KFWBBn1fIAiCvHcWN?= =?us-ascii?Q?6VM8N4gL0lNE0BFRnuQHwHnf0pwbZx2Xif7Fhqw7inFDF+/IEJhaosNwbf0X?= =?us-ascii?Q?rZMHgTQe93cVXUlnxPuk+EEmVfpY/3HXr1HeoV+hNOsSmZ5ojEBX82cNLUOL?= =?us-ascii?Q?+JsAhj9ZjcUpO8GKhE9Wv8PmxlO/TrU0/nVBqNxN5GVlXgKUETWXwd6i13LV?= =?us-ascii?Q?He8u0C0D/UUFFW7qPD1aLBSmBguP7srXr5DAKyJqjWiFEgUi73GsN7J8b73d?= =?us-ascii?Q?JR+/TscZs5Td24XWyuX6Hs6HnmhH8S+ATtZzhMqpEmXQnmIZ86G17drqMnep?= =?us-ascii?Q?ciumbPKpPpP9tMR9aZpPkraLWmrsCJnC239njTyWxW/42zWQkLfRaglROh+X?= =?us-ascii?Q?a0xuGoOZlscCTaHBcdgQcXyNwwCAIOUyLxuw3JrYlz5apmWM1dcT4GWMNVgr?= =?us-ascii?Q?CaCUv+XCyx8yAPszN0Q3Jed9/WBA+g8efQVqwmEBU/0YUaQWMPHUYF1ojWUP?= =?us-ascii?Q?+3w/1oBwIpbb7oJUa94pcLsLRMW6jRk9AX07Q9xhTjhHQ/QNDOeJia9Ld4A4?= =?us-ascii?Q?+f0OhAhCGI75l/RIdzpOk5SE0VGiKJ9xP2Fe1hwMdCo+6Kf3RGtOoOkZEVUi?= =?us-ascii?Q?foU9y6Ui1amyn5cCN0vIpSviM/wZfaRJbvwJGw3/X7KVtPJ4hhoevZM5QiNy?= =?us-ascii?Q?UKpXSBsUI4H8yALO/X6bgq46yYyldSADtJ7SheVrZcKCW2549cXhvJo8wMmv?= =?us-ascii?Q?496rqtHJBRHpxsfdxUolopHfPur9a8hZHBhBMk1uEYzAN2d04IUXn8+8StpQ?= =?us-ascii?Q?MZwWwwEXuegxeg+CK4hO1F4LlLNTycY2R7PmtVDBVxBTQl2Dvoi+fuc56RLi?= =?us-ascii?Q?Pfeqc+w/LqMzOaJODCw0PmXHqdjf7VjmGMIUqJnYw+gLyQjwy2qvdpdp+3V4?= =?us-ascii?Q?QJb39zkDDuMfag3FBHVPqIRjwBLEXVwlte8+BelCG/64tsLs5ZxfGMIOS0ih?= =?us-ascii?Q?0ceWjlygxIqRLjMbPj3snj8WMlhwR5wCMEwwwbkka7pKudigCQG8cH1IP/hX?= =?us-ascii?Q?MIZiJHBZof1+KKKMo+UfxTSUn5pXiF1ZTeZDFCiF9NVJRkXWqAe2ErZkG2I+?= =?us-ascii?Q?O5UUoxyvXQA0d2Frd+OmA5ACLAQ1E6jLOh1bVQLcXop5wdk27ftnhupBMFoN?= =?us-ascii?Q?5SEf330Q+yct47Bm0Ju2uX/C/1mvmQXNNtOahUq82khZPI3xu8Z6scMwErOu?= =?us-ascii?Q?AKWHUwn0iWoEtVnR7FrVVBJvmoODnW+f1+ajl2c77j3XAe1qDereA2tnIS0n?= =?us-ascii?Q?7SyuegEM7JKEDjxIqNC9E1oFXqzTs6LwunngZX802atFsUEDsygRXpv842w9?= =?us-ascii?Q?wKU2AG0Zbd3wpc7TiQ35ETrwUDvW4n0ExY/B1k//VTw6cMJpza4ohUrjYbss?= =?us-ascii?Q?Qn9hWQflgm1NSNNqMOT4M8tvq9Io+Zw4xgeyup/YYnq67Z8+vgoXf9/eU69H?= =?us-ascii?Q?ZhQ3EJRchCm/B1KzgsZGjVyT8MRpbm9C15qiz6sTyJ0vrUpkl5M6AwGnY866?= =?us-ascii?Q?I1eTKaZ0FA2PSWbfYifVhgYKuOguj+3J3gfRplU9SWzrw52o1SPyVQCOaQ04?= =?us-ascii?Q?BL80oiM+2oFt+bv16FYJtTjQVzb0Ar+46E/uUgwBwVbZSnjXllzYODrYCA65?= =?us-ascii?Q?1Hq3u7yY0g=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4f56501-e06b-458f-45fc-08de85d13358 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:29.0331 (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: xtkmcgL+KkEOwpa5CltP9pF7M2yaMkSW6oHuEoMebxl1O5DHDsT9E7QEmN3F/1fqWEiDVDEHBbHh6BBoxlHjKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 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 v3: - none Changes in v2: - patch is new .../selftests/drivers/net/hw/ethtool_rmon.sh | 53 ++++++++++--------- 1 file changed, 28 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..417627e7a592 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,9 @@ 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 +130,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 +145,4 @@ setup_wait =20 tests_run =20 -exit $EXIT_STATUS +exit "$EXIT_STATUS" --=20 2.25.1 From nobody Mon Apr 6 10:45:16 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012028.outbound.protection.outlook.com [52.101.66.28]) (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 E25273ECBF7; Thu, 19 Mar 2026 16:04:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936275; cv=fail; b=d1q3u025b0LkCKYLH41K/2/wfrFx0MHMxf3wxPdaG1ZaxvNANgJ92mV04K70j2pKTJ+PzvjTrU1lLj+1p1jJIHj4gsUsUlNuaTPKcMTM3nyJ/sL4Rj+zZrcET4JxHaPSfI1IpwCacb9N/kxnO6d5K66dpGC8zsRLZSOaSWmjnH4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936275; c=relaxed/simple; bh=uRN4awtiloXMzofhqpag/kJyJc86Iq0ie2XO2yYKyBA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=tZa63nyU3m0UWOMhmD0dbPDP6ZeDMLu+mk577Hi6yDtyFDc6oNRaHzYXsOiBfWgfE5/41CCFRBXBng12+VPXW8AOHtuHbC1dHfUlYhUjCxz6aSJqXqdmGBUFsPiTotaAuIQjeTkBQNGN2NErHVawZHMYy79FzdnKOzLYAdg2bZ0= 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=fXOGR6Tz; arc=fail smtp.client-ip=52.101.66.28 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="fXOGR6Tz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ChOtXR0uQxcjmlv466P9x2OYtA5mMz9qX7JLX+Iq/JkjQDyxYXv1KtwmQct0LrZ7zg6pmk7pyxzHJfI+yvkj9i7Br4YKgZH+LGyrgLGtsaUEVilryBbHIfCz27uLrfIAz5MQRuzimFxU5Lz+s4nxepAjP4pzPbkY6csrfy7lYAVJUsqO6VE6oBUaFF5jUFrieV3HKUYwSp0bIQyRc3j442GnS9ikvmWyJ1euKSS7Ew0sGUfslVilU9YRZwYkkDDQrbe3nb3EIeVy6i3o+/TJuXMxkOD1UaAlvWnLXCE3bnJPpxD23pYFpaoO6OOcpDUBVIMUDcd2apIDAbiBLUltgg== 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=PLNFpChBmNXBoOYUkPsPWZuoGVv4A17xyTH3Rqd7jIU=; b=VICyFwDTYtfgiMw5ZEzHq3G5vDpiwkt+HAzgH41xBBW6KU4my2wndlfxHGQgX5+yEzjPqqdo7/VOV3V4OK9uwLpMXzbB8qUC7YZslIHiYYYCFqdWkWobOOaU377pYvUVyzCpEN+vzo4+tHbHtllL54GzHwUvCGV7viTRu8YR+Me0EdcD4yBd8rlWRQOByAHIiy+S6xP31xVad8ivXCfWxhDBz3/WE8/KYutrmxAhkQmobD58GAyAVg8NQaFcp4ltkceZkRM0+K271HIV0eeZgn4GqHj3ZWeMfMzx2xtMZjlKRIcWFxSlVxPLuKshyXBJUye+8yaztCGJXbci9cN2eg== 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=PLNFpChBmNXBoOYUkPsPWZuoGVv4A17xyTH3Rqd7jIU=; b=fXOGR6TzeEaJ3dbEG76EhmyRnPwIv5wvcsU1xeOWYfSCRXoxn5ObF1cFVzk1RC8A0WT+xa5KNKG1offUXRr+XOhYfmyF8i8SNfr6JNJA+GJg3H9CfDRpMyKbzJ6wczo53YLRmaszwEn3n2h9Q/mcuNB+ILdwD97e19upE/AYi1rnxdMHZUWY8Z8/2YWZzEciI4IHYRNmLbdSANboE2We2R9XExo1bQRDvHe6pN5t3STtNzZc+xY30zF/e4pRvDT9cAIjsEzFFBSEPKBCEthgVLSR2814AVtnLRMv+eWqmMHbV4BaEpP/a5fy9sI4M6Om/c8T7hWsmMOwM+f6TJxBWw== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:21 +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.9723.018; Thu, 19 Mar 2026 16:04:31 +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 Subject: [PATCH net-next v3 6/9] selftests: drivers: hw: test rmon counters only on first interface Date: Thu, 19 Mar 2026 18:04:07 +0200 Message-Id: <20260319160410.2515105-7-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0324.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:eb::14) 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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: c3abf011-4116-4027-303f-08de85d134d9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: vgCzTDGFS2AeMcY6ySbfjBWZeXI1LeGrW2gChoGXyNjpCbcKEA46aCV9txextM3189iBEy28YgdUZby5ovi5I5UO5R5lcIjQqAFVzM0TcL9nOQIrU0XDTrzNMC5yttB19+k615UZRrw9T4I5FQm3Db5JpSJ7yJxKS4pW+4sE39+3aB0ywY43TyXAhFGUsHx0+DcVXo/Qi37VIsPiXSdbG+j3/hsek4xubtJ7MsHfpRjJXqe8NcF93vdIrbEHEkT7GYje3PbeXrLyjCm1sZ1U8DGf8CJS+Dv+wN+4+nuyphCokUPXLfPEJUTtEZkf4xgEb4MsQzYcJeBbILPkpI2eyWCMzatcbKlaz3zvAXb7qbpC0v1bm8rzeKZskG475xTmKoN2ZhziVc1eJu2ahhDcrNo7d8mIpAedNJUwcf7312+G74q0ZDDNIjVcpc3ZBtWbqsTprZbfPKgMWqxOK9XJYPVWjMCW1b2gYw7wh2lNveXyimdHbb6z1JVT+yY0qwOYuAlOJ8YSzm6YFKhyySOHElsSvrq8YtORmRSgh43ysofCQzoVK44R48ZW68+MpEgs29rsfnPuH4fB2dO35iadq4i/ky4yahxfIiLLM+hwKxzDTfNUQkBPrXQRY4EuOf/+KHfzqB0dN0e8aVsTQgcbgiA3+ZpYAYRPjKA5YvTUaCypfJnnRsNTv3CUO0HiOTaedD+YYEX4f4KSCPm0opAGWOjF3PyPt/ytaDdDTjjqTMU= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?E0jnxxGNnNAKr2327MpstzdsQ3Hi7k5lTRu1spec1vllrpYD3ssqp0TGajHf?= =?us-ascii?Q?OeCYPuvI4e/aWMarg8X6tLe8DHwoxTuzfrHHq7mIlNbiLl7ZkFkQgAAlNBt2?= =?us-ascii?Q?BFjUyUQ222Mr0+nw8o9iupG6PhYAzlTCi+KmIPBVM6w9iz12dq0JpoBEgLmr?= =?us-ascii?Q?ODCJqqRsaNY5l+/LF5cKT1mmQaoR358Jd6xJvmMvs5DmOvCFk1qxyhPEa/lC?= =?us-ascii?Q?shQJmHF3YZbRRX2K4LprlYFe/3NvRn1Fq5LTItZlizalOwhYEdUuovSBGyCv?= =?us-ascii?Q?2cUpgJmDMM9uOObsrgOd6xSEtNQSmjnzfDiRZ+y2DcqpwElRi9514qlgZPxe?= =?us-ascii?Q?yiSPiasJ3Hnu+IVEokcPv6AnIZPvFGNIYzzV4onbRZrxuGpNHaRgTqT0Qo3H?= =?us-ascii?Q?7QkGLWgo659/6TUjobrHoGFnOrsvbSlhfLmHMKXUIUFZZISl6ZYKkoMvea1D?= =?us-ascii?Q?YBADdk6pv6TxZDmqQSA4mbiVJnhjrm4UgAPO1gto/UNxYbND2qbsvzmPPzgX?= =?us-ascii?Q?CCNO9R9eQwaQhog2QaUT4QR0SWwy1+7EQYO84au6INDWxkkZPJVm3WxePR9A?= =?us-ascii?Q?KRYLNsP5WEstP8FI4QVaQ707uQHCt6StHXHHWCQSsoBa7NyFE5nf760b6Cp2?= =?us-ascii?Q?2KfHb11amT3Y08KUTsye0VuwY8qiwsrVDSNfFz7kbRF1b5PtY/5/CMD1fbmr?= =?us-ascii?Q?UhgW71Xwg+P99wBG/lDyv+4J+B1j6lZNBTmIk2XeMpDiWCcwPLxPLOA/xDNx?= =?us-ascii?Q?bDfRmLgqp7EmSESDEnAyFlEpXLJXVKlGB2c/vgOVSlF+N95QSaVB34Od088d?= =?us-ascii?Q?4FVPnh4ZnG8K5osNIwLSE4aJqsvfymLKaoyyvq4iq/VwUOCDmZlQBv1qk+kt?= =?us-ascii?Q?ozwFdJgYS2Ke/tU5ikKdObtD+7RKHqrerB35hvH5suI8tlP+W4pHWjoj3Dag?= =?us-ascii?Q?lxk/mk0yfwT83oOBVGWdyCwdaVweRzuA33CehuDdLxTow74IU9l4YtfbmHNr?= =?us-ascii?Q?dJk54ADy6JPM3txDz+DZcqB27fdlW4wenZT6+g3jxfEFYna7t3q0w6v5CXjg?= =?us-ascii?Q?A4U47IqtqBJ7lOdMc+o1NzDkQ+FzjypG1iCg9iFo8KpWm9ob/Njv7FJBEyFN?= =?us-ascii?Q?VG60fKCWv+aMhZDFalreYHox50Kr974g+nk+hmM0hsVorn2AjI/OCM0+LTuJ?= =?us-ascii?Q?aUAFb5mIzF1Nx57YIxAVPBk9VzwB30ZI2hA2opQplMBwY7bxsq2q9uF7hxVi?= =?us-ascii?Q?iPXwUEAON+vfvc5MV5ZgQ17SSZolrml90Qi39jpI+ielyogeqYGPb3XnaS9R?= =?us-ascii?Q?5naFX6FZqHtywNTFQCGjD1UBEzL/tryo85EW+fUejHd4gf8N4qtNfUkkWJLv?= =?us-ascii?Q?ChytTXlGjOQ1Ij5A0WubceePYzrkRqJPSv65cNA4aZg9Og9FFAG10+cmQCE7?= =?us-ascii?Q?xujTbKqds9d32tpPbkAXngQeQKeNlyWH425ay1NwjRE6IsNFkSeytNl5/iLH?= =?us-ascii?Q?yApjJK7OL/btwayzpD9zYLfCATtp6K1dz96jXO5CMZWqQzSjJP+/znRR0T0G?= =?us-ascii?Q?G0dKV95UCBUpQZhDz+gG4M9gcYmxefRNgdAhK3nx122WTc7/QpZOFPfzmxyP?= =?us-ascii?Q?xGeAP9uTZL3wq64h4yup8rv0SA/MQJgpMAfxTuQ5mfP4TrXgKEFu3H9YcDVG?= =?us-ascii?Q?1bs3ykGpWvZUbITnIq2Oez1q40WD9t7Cil7NZDS5lVltAtzTqIB9r8lg3ezk?= =?us-ascii?Q?+GExNny7Tg=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c3abf011-4116-4027-303f-08de85d134d9 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:31.5592 (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: r02a1KY5kZnLNzpm/vz5Lq6bfwFOms1DImneFLObVOdgVCsJHuSgMGqx7dG2PACAdeHsUCPjqSqcbJYbfX0D1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 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 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 417627e7a592..636429018b6b 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 Mon Apr 6 10:45:16 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012028.outbound.protection.outlook.com [52.101.66.28]) (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 815F73ED135; Thu, 19 Mar 2026 16:04:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936276; cv=fail; b=DiYLXBtvBD369hUAD17e5jwEpjJ9COFZMxL8pSUR5Py/02kuyI00DBpXgKymjqXNtYwkC3drODRsFIXE8e6VNJw1NW/0o6ITYd3JtMaVVLpOw8kzcBpM+5DPbb/uN6wO96/EW96GsG4UYVR02DNc1sBpVHuEEtAVHG72x8q2XkU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936276; c=relaxed/simple; bh=YoQE+c1IaDsmFGqDWrqicZ1j3azkob3erjbw0glkjNo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=I+GtauA8B6HZwuYz99RBB4L2s1tU7JX4Z1BBeIdm/omWQOEg+fjFKJqjherE6Je4IEWMfAgVnuxNcPrwuuQQP34aEtCSvfnB/dLRJ8ZZ5wGsJbgILDXlNc76hhQO4B97UATU+fRR0C2T1gzmpE+S/73Msxh7KseX4G6/OQYdHwI= 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=Llh8jAeo; arc=fail smtp.client-ip=52.101.66.28 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="Llh8jAeo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XXiwAteBKOGqACfkuDAS3zVBHXnrqRlbQR/aIaWLRtsnk9S1tKsPqs+5D49Fhgp9wOG0aaJROYOKamleelrUyBYM5LRewv+ePNyirVe5CwTYDb1I9P/sDv1VMq/3sHMgGqlnzpqMFzVGmy/6RkhQtMP58Lr5Eisr+Ch0DVYcidvY3Gmh7M7V8tpP2PdqVHrltam8OKJpaV8nLXdHnOqO+JoPKgfauE96e5CcqwBLXldfREWJC+7f9dEwpxEYiUkkJX08Hhwpp5SEX0gD3BD3BUSAwdj4lfWXLKjAUMfO4jI5ihWOfSsuruhN69wp1hb4vaRXpAhgTxA3LnrpLUnLrQ== 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=3qWeKT6vpSaifUvM9wngNWlnJE+UID5RVNH0oo57qo8=; b=iindvfqVp9Nw9Oz+uYcNeRjoVNgcrHRxrycg1u7nz+rnoPr0Xk0o/4vI+3FtZKgZ7wLAIA/ZO5Fk/eWJwVAj1fg86ylxTxx8kefNBzdu1FcFXqP4Pu7yPlZnchtxKRlBabaZJhObEj1q9iFF/GOxJKKhDS6uWT6esb5obnRrh0HjSjYbabV5shgqQwom7ogmToQwUr2ui6F1KAuNy2x/IA+kWT6XcShsT4VoSFjUfIvzfRxlx6Wn92cRtupzumBlZDEqcA0Er7MaQTuxFXvUrHNcxL2lZOOrTY51SdSf7/ZvluYcL8eweYZxXbzIJzlrwiDW68CJkyLP6lTtlEGQqQ== 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=3qWeKT6vpSaifUvM9wngNWlnJE+UID5RVNH0oo57qo8=; b=Llh8jAeofBxNLGL49DVUUTtMnmcNuqd8DgZPNlvPQW7B9jhhzLKay8hJMxD+xnwx7PXHI5o/5KydYLZPO07HzuHjLTW5DFiHgq80waZIh887moHp/Ql0/33aafHv8IQHOhnVc/puJDFeCAJuVj+GLGNpFwzRe0/1WdXyyTA2PoPk/brAmEFdyeotUcbyTmiqxj2KwMv5l+K/kS5U4Cbo4iRZutVt+C9WU/qWaK7O3NSWn9AaGUP25ABrd7D0PcrCQtXsc8BpwoFKO3L3Oi/eKYDFa/G4KBW3UZKh43sJGNDRUUWJ5u/grT7UPAvQBJRFiuobVIlMZS68/15WAHdyOQ== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:23 +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.9723.018; Thu, 19 Mar 2026 16:04:34 +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 Subject: [PATCH net-next v3 7/9] selftests: drivers: hw: replace counter upper limit with UINT32_MAX in rmon test Date: Thu, 19 Mar 2026 18:04:08 +0200 Message-Id: <20260319160410.2515105-8-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0321.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:eb::13) 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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: 7966768b-7ca1-4387-a1b2-08de85d13647 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: u/ixbt6sGt4w1vF432bLE81J2sTd7nNlIY86gfLnN2NVqlA9sHkxlEGVF8fpyCfziqOnbNCi4ThX7hqDNaQuw0fB0jv2FHJb440G7I2T/v7XdrO9uNoIDlk8kLMNJtM+tbDe6T/1eF7ejN/F8KcFNFctAxFUMI2kZnFVKkoM8D3uI0QPMUmelO/QDY2q+p8QRKfXTPxioAuscuRGmDO6uYAxjs3SxI7xwvRKKYPzWGh8h1MJomPgMvXSYsWqOdyTpuvqxZWDC2r5nd4ziGR9FyJ7odG8W3s1m2mBLMtGOSZLng/kl05lr382lMawbpZd1nFXSnty6wcKmairARkEt4084cxko0HlJf5+UPg1FO3EU6DBbstynxAKrYzVUqUiyxk0V4qd1yWu4BLKlOtQxxArCe2uq/AWUoNy48JzjtF7dfStmuGoexJVRrDXhm49TLIH652dhHnUQZm2NyH15RjpdQ+JXNlj13GhPh32sMOXMYoJ5Z3aWC+Yu8jK+F3r+YDQaV3izZvafuJHg6KW6LTvQBzfMYyPVGVsegoXCYqrZEkRxcc/Y8L8jzOkPWnc6fiN4F7VAhl3l2nAgE01Fuey8sSt+eb3zyTD4TS28ThIAGXz2EhSx6Hgwg4uVC1TmtWjQZWS7rQ8Fv8xZJmz4Unm9JfR0DvgyXIRwGA9aIZAQWuO8SDP3Sw12ddzWJitfC+jZynaPljCClRnmQouCt73oP1VSXuVpcRP/VItABA= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0al+LB/bAH45I9A0PY6LU4DLCPDx04DwDaakC9c3A3XpNV/k6Ay6gDHErPb6?= =?us-ascii?Q?fOrdbeZ7WYXVbi1X+d8eagB/3hJ/OvtbTGq/SlgZGsTA540owBysHzsOY2KW?= =?us-ascii?Q?T9mRX0ZYR/jQtoX4GoPhnnmpKN0wfhRw1UHplFayiWQUIjK3Mt3PXzdzAeCs?= =?us-ascii?Q?aGZS46bnxBa3cx1fEgNXEbL0qMpQkfP1RHa+gtfM6yyDpQ+atwnHZROjoa61?= =?us-ascii?Q?GpFJtH8/px7ymzSvvPDh/z7XeGdqDfT6hO3cSKZN5Sjot2qrxKXM1jvd2+MO?= =?us-ascii?Q?HuMozANfKdOHeWSXdIGpFfM3lnJlhLqTSKoUa6pCN0LPh8uwwbNbxZai0g7E?= =?us-ascii?Q?s7qrn8NkACERYDMB0LVjW+n/6M0nApKyDunztBsJHdWSFcthammE98N4d2Yj?= =?us-ascii?Q?Ok7cH3x+Jr6PUs0N9F8ctkrA7IIyhhdmQeDA0mkYpzr1cJeW31oZIWOzyoMe?= =?us-ascii?Q?7bP2gyMrE7zCmksw7vLnjeB5bEWvLtQ7gjOt9esvQ0/aw6mNPwf2mw8RimF5?= =?us-ascii?Q?C6apm8Xwpby8E93vA7zwbUmQ9ShD02B4pTUi1AsU/g3L8/1MVhMWR7m1rWb+?= =?us-ascii?Q?/ArDwam6ifk3lLePR78Qn69xjDvBMcn5UuyI3UXxG17DmToY/poFPI9L2eVe?= =?us-ascii?Q?hzv6NPV3kxfoNrx7zTXuFnjOu3AO0CrHoJwwg0Uo/a2kIgwe4sDD/3NoHS3u?= =?us-ascii?Q?VONzcHhOlewiFbYGO0BFpOqzI4F9/LJwbgcDDYADCCAVDz6MRqdt4ZhPyjej?= =?us-ascii?Q?hKc+xmkwUlGsrBQVU+PdEzpYLwZAunHijioL7LVtX3TwJxVD6ODfXliK+ITw?= =?us-ascii?Q?aKeaQfpVK0sYV1fjjqn9ltbLhjh81693yVb4wwgVgx+OoL42zLxIV7iC8dos?= =?us-ascii?Q?yKayorM8IzGZ5NR3e4gn5+A9gWBU1hn2yyh+JRvWXBACRNxqnmgl/0mzMInk?= =?us-ascii?Q?U/mis1Tvzz7PM795h8Co7sKfqVJ5UlC/oKNn5yRDLa2oVJ4mY0jPY8gMlWou?= =?us-ascii?Q?ob9EVm39tEXCRg9A84l3ZIiOoLPXJAaJgcCGLNtVaEycZxO8IsG5Nb/H3AD/?= =?us-ascii?Q?buCXpSQ2N+b44KZr7Bq4Ho1PfRkS/qHYRGtgRosq2pK+qfk8H+QDCuMQdHYz?= =?us-ascii?Q?dMlpjaRzs4ZjYI0an/h5HXBCPx+KkkRx7Ph3r48VZqMxfGgsvKn3OWk17E+Q?= =?us-ascii?Q?OHeFyPt+tl1fNxHLRfClZ/6FdlOc65TQjhL54TKND+WQLG0xHT1FfSI6+LER?= =?us-ascii?Q?zsbppY68OJMVZVyWcbjQ7lpF88FWGs4k67AkVDDid+UlYzzccd0zIxjUOljO?= =?us-ascii?Q?VuruZAvru5aAUfgG1EmSicbSmMNMMjhCDH1r+v0Qtf/9F7PExLXs8ed61Ymr?= =?us-ascii?Q?hK4sS01PO3Ek8pxNYdou6nacI2Ryjrv8WqqPt6pYr1NnG7hm23O+kdm3aLBu?= =?us-ascii?Q?6bq9gKH33RlOOeqZoPXwXdFHuXsjlLnWEHm2WGnXwumBn0OA1NTbCeKDByJl?= =?us-ascii?Q?mE/HqJRArDEr3hR6nq4yEpVjj8lKPNVl+CjNRjEwwdhrFASUZYsPD4Z/jTyS?= =?us-ascii?Q?6tS9qANBWqT+UsZsJcmFLBSoLjXBWJqAbI4QHy8QrT1+z1S9nM3kOpnrD+Qh?= =?us-ascii?Q?m48dQdJqfNZFUIAmgDbc/cnlWpuz2o8q0ewEViJuNQwANrq+l3/1lmcYd/OK?= =?us-ascii?Q?O6MKjtqzda5y2mhzRy6O3FSnwOnlQ2nOtRDQYng3WpRZcqkxD1dXUbXnvLWP?= =?us-ascii?Q?cJ6dTyY0vw=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7966768b-7ca1-4387-a1b2-08de85d13647 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:33.9640 (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: SPmmaRbfhMnz4XtIIh3oO7rGztxtuzDzp+k94Gmrtm81VOdOocUGmBihyU9NGs8zwLdH1yA903xq7j9F8xpj8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 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 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 636429018b6b..1baaaab3c3a4 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 Mon Apr 6 10:45:16 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013009.outbound.protection.outlook.com [52.101.72.9]) (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 3C11F3E51FA; Thu, 19 Mar 2026 16:04:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936283; cv=fail; b=fGCo2Rb45bHIbsrwGs8Gg4xkxmlRd+DapavNfF9386KxRQcp5Uikazee5lVovtcI34+9JP8LgrG2mQbBZD8UuONdSgPjOjkjtKHx4g7GzpWgVYPD28JGg4mBgi4FO9iRQEzPXWe5HTxUBHt8g+rVQAI6sS5L2TtxZrSfreM/mUA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936283; c=relaxed/simple; bh=Jvv5dexW0pzkzlnH0RYvt+iZDI1xs7s9F9ymUwyi1ag=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=MCvqoJGxHSB2X3USgkvbTqJR9nUln8rAL0wfcnV76leCUQ2VAoLyHav0Ko6Dbv6Zqvo7yDc3JChjocnGWuHnAVIbdgs2AOKtAeb6f68xGWxOpaO008LFaOARn9nUqtaKh6zwhj7vvA+uNxSn2Xx90SHOa3NjKxxTYHhvF/5dRYE= 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=cAsQC2Sp; arc=fail smtp.client-ip=52.101.72.9 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="cAsQC2Sp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wfbWI5AneNFFxct3f5Vf8WKCvY3WvBCL32il9/SHMFCvGCR96f0rL79/l4Isl7HNkjuh5AOVEFH/qL8OFCkeUiomWrKSxU2kfi+rbuDGqYJCTUhim3Hu7IL3GGJCxTMs1rdcoG0f9yLLv24CwjrRL9Iu9GlD+WHUl6Itv5Cp0bZ7Opl1AYS76Wzb87Ta8qQwBK53y/Z+CQeHaskGS+nNF5kDuEOWevBaThqS4VYHSx1FuOZ5r2WqE7PnljTy2C9X7m+hTKvhLjJQj/fx6EgaUL02WqRoaPVNi7xAfb8YWnRcoRGEqRjf5JIewkhlZ3ZlC0nTkaPSW5sivRcMucI69Q== 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=uLZUKmTgMdx4Ixp1pzn3I+AG1YipQrSITXWyeCng4Vg=; b=NRNYKI+B7g95y+9wazML0P2GOdnRPl5Rnh/V22Irh3Z8K57zXGXwcHoYyA4M31x9VOEhaPWiWh+ZxgzZ8QZ/L3g69nKHwJ8fgTAm9Csbd76LyAgVPXozUg/AFzZrsO5KXg7TIwrQTcfC5SWD4MZw8GCjjSgG2jD99QlGdmUGejCBH4UttfakdRdFdHiTv+OBMOcaSN9mvqVzUhKv+qjbNyuxJHJ663oBPvHQs7ZsukWZvFvhXs4dMh847D8ulL9z4o5kuXMwj3wIVuo5vj5VrqZWGEicrWIJmiA8eKX1N+5IIDyDH9pwg7/iBwtpCPgsY9W9RRc9HdY25PBQpQ0n2Q== 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=uLZUKmTgMdx4Ixp1pzn3I+AG1YipQrSITXWyeCng4Vg=; b=cAsQC2SpgKejoRL75lJQHAZ1JNILRsgSmmpuS5OxksJCg+Ecd5o25a0V/v2/AL641jSuT0fo3SU3cHBk/h2CzmrkSqOal73HKyitTleVfpb53T3Yi6xPhz7Tq6IWTe4I9Eaenud4dl+AmGtjVkzoLIqi3LTlDjv7on95+BviLKxK+toY+2V7UQlFqTtiVho/ReflTdWWGT6UEcVCarv6j7sk2QUCcE24jsupEJcFSxyDAd1qCCpJUJRK4AToWkNuDwAfv6d9kpbuxBjG4ie2tkxetPw8/l9vD/x5Pjmyp69TOrMZDHg0WhaKvDwpFlekCWcHp2O+J6JZmcNKns2mCQ== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:28 +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.9723.018; Thu, 19 Mar 2026 16:04:39 +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 Subject: [PATCH net-next v3 8/9] selftests: drivers: hw: update ethtool_rmon to work with a single local interface Date: Thu, 19 Mar 2026 18:04:09 +0200 Message-Id: <20260319160410.2515105-9-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0232.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e9::13) 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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: 15aa0da5-7fd4-4ff7-7c0c-08de85d137b3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: sBqKwBQnKhAgIIVUlf8rnWUXMHCCVPrkxS+WQRGFM/De9YnwOGaj2ajEjJTsapiia3smlFpudlDVx4gTZMVvFa0K7w894srmNP9g8GdJ4Lv4sPOUCXsNVllPG0SW91rd6Xt2olfMvjyP0AkX2XwOAXnF2FATRlnWO5GrkFFyUGYTRa7wvvuIUCBqQI2/QrkWi/pLiwDF3Wo8seGUFodDpgLqeOBmvwpu/bPa+DR8s2s6c357DTPztHrJ8xyRlG0Ir7zV7YDH01OLvlMVVCSav2XmwUtYh4QLliamuilH4heeVyGTZikkKdmEDeftB7cT4ipbuH76/Axhm9RhOwoW6rKvAvQ4n6RbtTqYjdXVE1EUOsP1rxZoX4WcGoXOdCaobx2+CG7XU4OTll8mVyLwRnv7huY5JTuWBpKZ1nFGA6yKQfdU5P4kiNbGq2TxKaKj59f4fb94Ccd13LsT0E4tWONjncywAC3Hmgsybd9g5+rGR01P4e/d/3hgQHt+bd72rHawSUjo8KeeYOpKSpNUVISn5UEk8VW8ctj45PWJXOhF2XhH/MWHjRmRe110Yv4wW3Wd0qnsY/8oGS3YobNEC99W8rsvUImb3x59cLj1Dd+TxGDFWjahjs5zurA+rh2djmXN+J8Ml2NIQAaAG6Tj5k+PRDEBrs1RFtsChFsdfQahewHfkDudlja+/9ZzM1UxOmJ9OjHZAdJUzzhQzVM8SRpkjoW6BoogLYnKo0JE5r8= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?X7uFX5SZUvGbOR7MQJRPqCkmyVyb/rcuDBtNC7BE1ekfirV7GOp6OeD55Cly?= =?us-ascii?Q?UO6w3Q8z+VRqyDBal9LiOnWmesWwNVLBcU4lS8wvxwZac2vH3ZfaYfltT15w?= =?us-ascii?Q?jQDozYanAZ+3NLHclUKVfYDrHtZHNRdUjF0kRtsAVVDewD6Uyd+WbsQerU3O?= =?us-ascii?Q?oMyDcR9sp2CKuBWAswdE/989vflBejH9EMFw4w1zNcPjuiwt7qfYsVXICdX6?= =?us-ascii?Q?yhmM3GqZxfyemSyITFa3diBckLFVZCFTwViVRJu7BiZv2qHv7phhNY155NT4?= =?us-ascii?Q?W+cwh5vM2bqATsz02Trfzr2HDGTpIzJ7F/ckQlf5hFpiWh10jZ0cY93LK8TG?= =?us-ascii?Q?uo0OWUdd7f23HU4aYUoKGEB6UOMZVWGXHqeM8kLchZ9n7d7CFThEw/BsVQyB?= =?us-ascii?Q?/CKiIYEegazxuXozrgfagH0BasPKwqmgcoIEL6kEn25snKzfZBJD50YBNJSj?= =?us-ascii?Q?kFaWUbZzFUuKViNhmaeaV5eMBFqHY8vRxzuiAMcBA/OcsZql2cLAef7oGiCk?= =?us-ascii?Q?ps52oz34z/nNv+LA2IymxcPp4YiJWPVSNx7I07qig6WxW0h8ESAVVTkx5KU/?= =?us-ascii?Q?MQMvnfLUr9zOex+r8ov8cZp1/eiBH/3XM3apzkXGBg6ZuZmAkYXQ4vHuVcSV?= =?us-ascii?Q?iiFmTPQTHnJx6CC986y7DrrOmws53waL6Swxrj/Mi0C7yn49X1bDJkg9R8Oi?= =?us-ascii?Q?957losKikyhuycQL1pz1DrDP1QH1+TloJUInLXACsTDYGYQgP8BcZI+hoi8W?= =?us-ascii?Q?Zbt7he+DOoEpxKV0I+WLyLfh+OkVCVZ43dSJNoNuUn4GKOrl4sBmk1C8frqg?= =?us-ascii?Q?Z0q5EFUg2BR1Y/uNRykgl16qLF5dsxj3sCgHReVlGXTs3wdGaHKVauKznz+H?= =?us-ascii?Q?bQ5jl6lMvqURIoiT7iu64B2hlNR7x2g5kmvNNaYfTqEb6tXc/StgPebGAt2e?= =?us-ascii?Q?8WB4XDCqaLfcxhJguNmRQYv5IYPh6WBlrZumRzurI20Qe8f8S/X2GV+B5/VO?= =?us-ascii?Q?D6zzUBmcSz5GIkS5pw+b2EUVzoC6OfGWLYnsx+uXbSRM96tSQ1sO2w4Gmi2g?= =?us-ascii?Q?9zBFApytWdFLsv5JPaHoDMc5C4uG6oJRoS0lWMxB95d/cqL6WwPA+yfBJTs+?= =?us-ascii?Q?PAf9SJRch0zQIwYqYJjUD4rDdFSR2a74e81UBZfXZBjvcIWagObT2rQueQ+a?= =?us-ascii?Q?ku9fvmR8PdOoKr7FEZClVCQWesXxVUhWuLlC23R5EatCR3Xb2RJH15ZqLt7Y?= =?us-ascii?Q?phhqAbd6NKhPu2dJsoBDd4ZbGh3yTqJSRbqYfZfnX7Xkvu6afOEiRmwxRbSF?= =?us-ascii?Q?Fap2olmqlHTCcp/C3jMOV810OIyqbyvauoaJenPeMprgvsKn00KQnOYqql0g?= =?us-ascii?Q?RsDfjLzRZXrRUFQbhRbhjjXkReJjfjifNwtSfTdhwX/iVByHGK2hVzwn5EeC?= =?us-ascii?Q?JDOZ/L+JVla3Z30Bv56xAbxQIhtduOPS5QEijUS2T8l9VWHKIXM5YZloazbz?= =?us-ascii?Q?gHoTXkgsi/pqhxh4L089nHQknqfIc+2JlS3lLHqgklGxeTm3Hu1/KdBgBa8Q?= =?us-ascii?Q?ObRyAJ7GAu23nXumjdhcNx1jEkeNfbWWCGbimL2E9B7ymqTtEJecK2M7WCb2?= =?us-ascii?Q?wUxEh9O4R/BNaGu5Gc/s3ytXO7b7vrY6qKO/0wlGfv/cK+JwaQ7l3BKMDaNq?= =?us-ascii?Q?EFO/z2QPz6y47UDN8ePJsVHh5EziUbfqMpyr7Ks+lJJZSDXDypi7yNMtn8xw?= =?us-ascii?Q?Z9DyJCoaLw=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 15aa0da5-7fd4-4ff7-7c0c-08de85d137b3 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:39.3876 (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: fGSl14Cn5t8Bm/54vNmiuI/lXQhnJb2IUkWyFhQJNo/MitR5aAwZHotBYbtCYXjgqb5arZE1Gf6Gc5FjLMD3+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 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. 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 v3: - none Changes in v2: - patch is new .../selftests/drivers/net/hw/ethtool_rmon.sh | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh b/tools= /testing/selftests/drivers/net/hw/ethtool_rmon.sh index 1baaaab3c3a4..5e5fc80867a0 100755 --- a/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh +++ b/tools/testing/selftests/drivers/net/hw/ethtool_rmon.sh @@ -25,9 +25,9 @@ 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].mt= u') 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 @@ -50,13 +50,13 @@ 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 | \ jq -r ".[0].rmon[\"${set}-pktsNtoM\"][$bucket].val") @@ -94,7 +94,7 @@ rmon_histogram() fi log_test "$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 @@ -119,8 +119,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 @@ -128,10 +128,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 Mon Apr 6 10:45:16 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011065.outbound.protection.outlook.com [52.101.70.65]) (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 908343EF0B3; Thu, 19 Mar 2026 16:04:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936290; cv=fail; b=FreK+xmaqsrsdl8tfA/BS5xYm+0pE8chAXWY+vx6/BPlQbAqfhdfKCapmn+jwVHGuuPX5pO6dALfiwMOFgwoHztgn8qRVkkwlBdvGA/2ObrZK7wd7P27mks+60wpgNaabrSFw7KCi+gJAipi2f4e3YWWrZOSUl9W5cP19TnmZkc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773936290; c=relaxed/simple; bh=ckDwvOeLVWTaFS+fhEdJiJEutCOnatYEL/5RyMD90K0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=G7xF6aGQkfASkooOavHpVMdiSiW4zUOtnV4VQsIjlHJRjXm4/qSZ1q+bAhgAdeuCab4gJCnleUtHMNWZApbTOpwNOft/mYVQYvNkgi0Ih4R7QWWj2th9aU/g1kiinwrVT9qbuJHotAEPGlIWXqDf9Um4UlqH3DbVm9sdVTphOQg= 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=WR0WycIg; arc=fail smtp.client-ip=52.101.70.65 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="WR0WycIg" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o270Q8DjfPyZ3TWUwsmkf73j8IkCL0xh2kc/WNTL5kHzcUepYZHKKowXTshbUR1J9nPifeJmRXXqgalq2GSAq4Y4liFpEeE8L+eSVfKxlnUMGoc8XbxyBYdpI226zJfBPAalcHQkrXzu5BVE6Ub8Ibuyx10QWGjgXuaQHXVeFgzu4xbx/TM0xe+XpqTYvM/z5D5CuHycs8/mejGV1y7nG4wSrX/0Y/ebr0mz+7ImQOe1SyUZVXdZKlAqOBiD/VN6W6+XYMuhdGmJKOx69p6d/o+oYMKgAZfEGGKaDPI6DzZtSbWxpaND0ZCRKAjbE/hhwY0WV+/S3xKpOZBaSTXZhQ== 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=kqzII8FSe2bsAUkbpCCdwg2EN+e23Ob2KjHRvZAsGzQ=; b=fToB/u5sZ//E99TLbD32RekExXnhbdLNrEGdsUgyYJHfE4ceAb0o0nQywg6f7wadL+eiPvT9YYdj7MYXMQvjn+ukp59o6VYCwlHn3/0AnlMNGBn60hYzc3EFvDsbjHPO82V4vXFKhSDlPV/Nfa8dv6Zy9XTpwPyPgyWwKV+LYs9iM+klHxUm5ugb1IXtj9N4m8zSR1gSLav6TXd/o4xt1KPGQqU6wlNjT28QvrcHyqfTCA80kbFNBZmF8iAQKfjt2Iq/Jm4LbBaHF+KEyse/xGDn6CZrXhXNO5NePE5S/i+fERGg+kq95f1zhrcTgG8Aj5c+RdBjAf9mFflMm3viqQ== 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=kqzII8FSe2bsAUkbpCCdwg2EN+e23Ob2KjHRvZAsGzQ=; b=WR0WycIgweabHXDmZtJGub1oG9B41JUAJPbf2ED4x+AR4bvv+HMTQ64QQrsAOau9QDnSNjWkaYZCWFR23qkIot6HAFSAw3zRjJJ/L0e8TQUA/FKAyxhFMmqKp20ZzSyDIdqhRHeBJV4Bt4OFa/U7MgB09NX8uQrWOs77HYQ+E4oaIg8VEaA5jazUklrLaAFHTW6NqW7SZXcr2VpbkIpJ2cPm5R/xW3GbJlIFjf9ibYbfYwI3hcZEo0zGjhp+xAPc/CMnhmb8CN0ViGGQfh4mXyu5dfYoOvDg6vZOc/mQsJxdryw8aJw5/m560kJ2Tvwh+phzyaB8ktpTnxxzbx6b1A== 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 GV4PR04MB11451.eurprd04.prod.outlook.com (2603:10a6:150:29b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 16:04:31 +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.9723.018; Thu, 19 Mar 2026 16:04: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 Subject: [PATCH net-next v3 9/9] selftests: drivers: hw: add test for the ethtool standard counters Date: Thu, 19 Mar 2026 18:04:10 +0200 Message-Id: <20260319160410.2515105-10-ioana.ciornei@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260319160410.2515105-1-ioana.ciornei@nxp.com> References: <20260319160410.2515105-1-ioana.ciornei@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0235.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e9::6) 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_|GV4PR04MB11451:EE_ X-MS-Office365-Filtering-Correlation-Id: 51600856-7138-4158-1b7e-08de85d13af5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|1800799024|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: Ns32dxiG91v6KNSZkwDd2yFiSX+khN+Tw8XUs3Z14YOh/1mruoXV+DzuNQ4B0+wr6f01AWME5vGqErO+FDMiknpis883Lnp4ux7mvAdch12J2nqalDmWS3sMFKsUmDr5cB23QFl94OLFheYKPp66xqMmxZOhL1yxLuIgEJTwofENMXOUnKFZQrc6vVH+TupmNRg510vkZX7IYXA4r1fcinn2wWGNEBLcOFE9wK+/ByJdzwyAerbBqB7F8JdMt0hk+DA7RTv1+CHCbq1+qR+SGOoabPaZOME+acVIEAlnDhD+VDhbE/UIxt161j4HiWxHPxulGo4gywkB8pDgiMm8n8IXkqTi6fjWjSLzmFmtRMSQuZzbJ7O/uHztWhPP3E3jr2zzD7F7aONpqm+0rADBlAXhmB3Fu0ZgtLny0qX3JLGa8HlBhDjKomw3/1+n3OrsJdaoW86pUCiTFSC5KY7rBL6X0oymU41dqq+N0OEks5RLST/Uenif+ZL697fQmnZZzb9eaxTjGQ9TAgeMq8SrPyfTPeR2Lt3EbA/cHFn3Vt63+/fXa9FageB8IhPXG4lg39OHG/nnxfDcxB464gNG/TetibuAQ4/YKmFqhBYb3FYOO3jeTaH+Cu23uNF/e2NmxXGDvm7/9odefnBapWNrF14GIsPEznZU8JwzkZBNkA051g3NGu7H6T0SYOHGIJDe3aQ6eoe+lyAaI+5aEU1Nqoi+RFyCezAEDDBdY/RUwFk= 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)(19092799006)(1800799024)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/axlh3lPcrxNtPzhUy4cBxEnPSJoLTaxh2FQFDDWwJFoWC2RKuDQ8WEKXh9b?= =?us-ascii?Q?bAsD15D1+Gg/SkhDmD3GUCrzr6k9rum+QTszzJucosQvgRMMm8Q6Rf3bbb/C?= =?us-ascii?Q?zXzbm0TYbDVd77IgCqWNBCd7h3XgUjNXCB3kpsQX7PM5HM/oifw3jIW7Rz6j?= =?us-ascii?Q?tC+yvygxN1RoegJxStWYkGMcygdChzz/0gpWfOpk8fnX4Xn1WEAnoQkRvA69?= =?us-ascii?Q?8z9OsRH01s5OTA8EfFFBKU/OoCGdcgdJhSAOouzajLjOlFgy7S30mdpFwLKn?= =?us-ascii?Q?gKSNW91SasONnV5b5HCe7SpxBXol5ZyGJQqaI62WpOaFTkABuQNvdrAGZVzF?= =?us-ascii?Q?WJ1oe02KNjzObGAYGR9f+XfoFJ3Z8mL+sQPX6Xfm2a213/d9PPqVAWKd1LU4?= =?us-ascii?Q?0VuOZuzDuxyFgF1Vjsjv3tyjDp4RMSg/Zm4E/CKYx8wnFspm4pKJYDyC7fIm?= =?us-ascii?Q?hT1W5ALMktqA0p307hDdeLT7EDd/UQyl7tzdoAGiswj+2v3Hebjy6qXn1v9B?= =?us-ascii?Q?Dq/3ya7DAKsvazFJTld35GFzKcVOo9LvGuyPQzyqKWrDzNdWuww5juj3lLiN?= =?us-ascii?Q?lL4RQZwCyTa2klAkPifPRWMyCtG39xXSQmV9o77tAFpum5qynEt5yM+BFWfM?= =?us-ascii?Q?A4ZkCV4DJfIY4wwOiNe5yG6nDDcj3FPRm31tsm9BQPrc0pVV22x25E+VmTmv?= =?us-ascii?Q?F0zzhLqwNquiTouncVEh+PiZ8brrZ1Tz7IqtBzq25Ev8DyAh1NF+dn+GYxRX?= =?us-ascii?Q?iBr9b2/McusauCrfAEpdzwf6uZEPWQYELc5E8rYkJfJ1OAwt9kp8w1ngDBDp?= =?us-ascii?Q?zeABRafip9BUiWfh+mJtMlchq5DTLMk8IApcsDWLpxMYAEZPkYy8xmw7+Rfh?= =?us-ascii?Q?3cfx48iOcKaZqSpkUjNcTY9NCuSUDITKeNC6QchaeFUcVYpTTGAgAdfxsa4C?= =?us-ascii?Q?1dNzsfFIriP2mqCvZ9mN2tt8lSbiTJlko4EZwyWCbbsA4okPzaXw8oxDFUfB?= =?us-ascii?Q?pGfo2H2qOR+ymh+phZekNt7Hhh4v0RpZDJTqsGwwXskdEVjc9g1b6vTKNmDr?= =?us-ascii?Q?Z3t6PL5vGeUNcboKrc4+TD5MJiSuAsJdN/u7zWl4UA3WW002puO2M0Fhr192?= =?us-ascii?Q?G2G0gMPsx+/ovyJRoDGFq8VbOWQFIedSpO/ZTDkRIkfZiJSHoNmVs3cTh56S?= =?us-ascii?Q?mUaZT5DGj+/6vs6nH9+lqowI8BA9ZKxymly7Gmdk8jlHAu4C8O4pSP/EqNSa?= =?us-ascii?Q?6PhTkhp6xbKgtyTHJEVl7XGvf1dfCfmd5h1Wdcip5/co8tbZlpaAXcVAj5tk?= =?us-ascii?Q?fhXSFNKZb8er7R47h6dbxn4gGM6SmXt6tEaO2B+XHdPFYksNEl1veM4E3sog?= =?us-ascii?Q?pc3Kd39lZwfDeTjzD729uXqTzuwnDwHHepX7pADk10ZXW9mkK6dt/pQnTdwp?= =?us-ascii?Q?HqyILKPyV+xXRhFaALTluLCE4v0AfVjtloy5TZBMaM2BWv+ZaMJLKvqctXeJ?= =?us-ascii?Q?E4lxPX0aleLJEfwvPnFsAxch5tB9tasw90Bl9D2bDfJiaaUJyNizTcMAnb93?= =?us-ascii?Q?UQF1ZlFNrtoKeZ7pZXy7wY5L1SP/zj3w+VmOrKOR9Joni4UV2ysy18lI7EZf?= =?us-ascii?Q?fkQewhc8PEH4xm9uB8n6SSZOj9IO6q+IO+eKRF3QYwuEoDit8mUYHp+ApmV8?= =?us-ascii?Q?gafQDj67syNm93YQeJ24MACOKueVG4opjJE3tGzlTaHn4VDL3bLDtvMdZCZP?= =?us-ascii?Q?dXSdQsBr3Q=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51600856-7138-4158-1b7e-08de85d13af5 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8253.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 16:04:41.8435 (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: /ks/QSsUNQ0j5jUnv7E+voeNAY0o3YjNbqElUA4mLpjcf1UwE+htv/qwQBIFrVH6uK3weH66yNWGyHG+CCza/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR04MB11451 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 # TEST: eth-ctrl-MACControlFramesTransmitted on endpmac17 [ OK= ] # TEST: eth-ctrl-MACControlFramesReceived on endpmac17 [ OK= ] # TEST: eth-mac-FrameCheckSequenceErrors on endpmac17 [ OK= ] # TEST: eth-mac-AlignmentErrors on endpmac17 [ OK= ] # TEST: eth-mac-FramesLostDueToIntMACXmitError on endpmac17 [ OK= ] # TEST: eth-mac-CarrierSenseErrors on endpmac17 (not supported) [SKI= P] # TEST: eth-mac-FramesLostDueToIntMACRcvError on endpmac17 [ OK= ] # TEST: eth-mac-InRangeLengthErrors on endpmac17 (not supported) [SKI= P] # TEST: eth-mac-OutOfRangeLengthField on endpmac17 (not supported) [SKI= P] # TEST: eth-mac-FrameTooLongErrors on endpmac17 (not supported) [SKI= P] # TEST: eth-mac-FramesAbortedDueToXSColls on endpmac17 (not supported) [S= KIP] # TEST: eth-mac-SingleCollisionFrames on endpmac17 (not supported) [SKI= P] # TEST: eth-mac-MultipleCollisionFrames on endpmac17 (not supported) [SKI= P] # TEST: eth-mac-FramesWithDeferredXmissions on endpmac17 (not supported) = [SKIP] # TEST: eth-mac-LateCollisions on endpmac17 (not supported) [SKI= P] # TEST: eth-mac-FramesWithExcessiveDeferral on endpmac17 (not supported) = [SKIP] # TEST: eth-mac-BroadcastFramesXmittedOK on endpmac17 [ OK= ] # TEST: eth-mac-OctetsTransmittedOK on endpmac17 [ OK= ] # TEST: eth-mac-BroadcastFramesReceivedOK on endpmac17 [ OK= ] # TEST: eth-mac-OctetsReceivedOK on endpmac17 [ OK= ] # TEST: eth-mac-FramesTransmittedOK on endpmac17 [ OK= ] # TEST: eth-mac-MulticastFramesXmittedOK on endpmac17 [ OK= ] # TEST: eth-mac-FramesReceivedOK on endpmac17 [ OK= ] # TEST: eth-mac-MulticastFramesReceivedOK on endpmac17 [ OK= ] # TEST: pause-tx_pause_frames on endpmac17 [ OK= ] # TEST: pause-rx_pause_frames on endpmac17 [ OK= ] ok 1 selftests: drivers/net/hw: ethtool_std_stats.sh # SKIP 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 (...) # TEST: pause-tx_pause_frames on eno0 (software sent pause frames not dete= cted) [XFAIL] # TEST: pause-rx_pause_frames on eno0 [ OK= ] Signed-off-by: Ioana Ciornei Acked-by: Petr Machata --- 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 | 187 ++++++++++++++++++ 2 files changed, 188 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 91df028abfc0..2b185d2fa32e 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 \ hw_stats_l3.sh \ hw_stats_l3_gre.sh \ iou-zcrx.py \ 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..b411a0c80bde --- /dev/null +++ b/tools/testing/selftests/drivers/net/hw/ethtool_std_stats.sh @@ -0,0 +1,187 @@ +#!/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 +" +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 + +UINT32_MAX=3D$((2**32 - 1)) + +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 counter 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 counter target exact_check xfail_message <<< "${counters= [$i]}" + + before[i]=3D$(ethtool_std_stats_get "$int" "$grp" "$counter" "$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 counter target exact_check xfail_message <<< "${counters= [$i]}" + + after[i]=3D$(ethtool_std_stats_get "$int" "$grp" "$counter" "$src") + if [[ "${after[$i]}" =3D=3D "null" ]]; then + log_test_skip "$grp-$counter on $int" "not supported" + continue; + fi + + delta=3D$((after[i] - before[i])) + + RET=3D0 + 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 + log_test_xfail "$grp-$counter on $int" "$xfail_message" + continue; + fi + check_err "$err" "$grp-$counter is not valid on $int (expected $target, = got $delta)" + log_test "$grp-$counter on $int" + 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[@]}" +} + +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 ucast_pkt_format=3D"-a own -b $h2_mac -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[@]}" +} + +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 + log_test_skip "No support for pause frames, skip tests" + exit + 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[@]}" +} + +setup_prepare() +{ + local iface + + h1=3D${NETIFS[p1]} + h2=3D${NETIFS[p2]} + + h2_mac=3D$(mac_get "$h2") +} + +check_ethtool_counter_group_support +trap cleanup EXIT + +setup_prepare +setup_wait + +tests_run + +exit "$EXIT_STATUS" --=20 2.25.1