From patchwork Fri Feb 14 16:18:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 865215 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2084.outbound.protection.outlook.com [40.107.96.84]) (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 7ABF62676CD; Fri, 14 Feb 2025 16:19:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.84 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739549967; cv=fail; b=Mz3afn0MQvc89eyFmK19W02qA1ZVXPTAyNtMhgiHeW1UcaI+RVrSSghlP05BeAEFyulYF8G7InWpuUB9aP6ooWVcA7TskVUFeidRD0txUPXfR+UfKshhPJp01sgSI4MRWa8IB1vaO10v92fyiPctASFyDQzfZ3GE+JIH28LmE4A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739549967; c=relaxed/simple; bh=KDlBNGscFqhHj5Akip6PuuUtcr2xGUYlnTdwl5CJJsU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=t0nhbl3UFHaEH6mdDpgPwanqQU/W6p1fhu08/A71qCaFKACmkVUSb4lHq9VYKXwmIGUY6Vs7Esjs+fsMnxDbBcQeTe+KUn/qiXL9B8XI7qNTEhhzzq96EfD8Nxlc5xzypm9AXcicAVsp+FvG51Tjz9NQp7fcfhuTIPZ0srq7bo4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=UBltOYl9; arc=fail smtp.client-ip=40.107.96.84 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="UBltOYl9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SPBXYL8l/S1oEYeTnLiupqVjFJhjTEO8RUJ5VmkQMV4BCDUhP+j2e8DOpiR1mnvkG+HGIqP7zPMpApe2S7fy+H12jtH8hfJevSH9G7gvbEsmKCck5dk3bKF69PhxiyT/2bCmavf7uYvYhDwCUK2M09CfC2phSCSsej0Nq00bCatQc98qW/bVohiWl2mTA9CWitesdEFwBdSmr9cjQpr/Uim+BhAI4gkxAIwhb5qSdYAXzgjZeDm1itZ1hYS3J3KIPKamIqPO+anDeBMyFB1tCc6BkfGsLY/ZcvIUElMcUcUPOaoMHvIWxOUtExvrl2qZ1YjHlMZbkl6AP+TS/A3dSg== 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=LlkE5zVQk6F2H1Rkl177/CHBtGiLSSvmAtSSyKAnwh8=; b=VbkU+s5fwTn80m/lvMEhkk2iqv5+CrnQMD2XpPqiezYpe9DtV5yk0AoqcPGNdweIWh9DcbpCxLtcZ4vdgP+WcYv+vqROVvO7irzdX8xhjUXQcDNtJXuHIcfU+UZrHFe+yvvat4pOoBxGlaPMJE7f9tXKbbMHNoizX2m1B81s952btXE156CdISRJGsVIeqobNzmOIVUcCn9c0AYGOQ2p9xdDi9enFlkcX2RACFzOOHrPW0+ga1SPSEDp1zdHxY6WDbH0d5U6Ak8AuJgiSBJVk2OyjFODAlUrXm5y0I6od6auj2wdKFHbcaYhF1ETTxosIc1vi8eAp+x5F1R+VQBc/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LlkE5zVQk6F2H1Rkl177/CHBtGiLSSvmAtSSyKAnwh8=; b=UBltOYl9WlooMr2Wv2pbjowgvEk+6rYJToMn05UgxpM8z/LTrwCOyLIb3R5/8DYlgf8MQ8xG/owVtJqXlDcr+FkiHCRIZbvUJdYhLgq+9Badw7dbYbdYYoq42MarkMGLPUsZdXcSPLj2IiOI/XVyuhxexdW8J88IhHyIW6Is+Vm1zWeOX0HuqWu+7kcMlwfF3Uj80CcSJ6+/jTWRpgBm3R+KaAsEUqhQcCNS4UQg5p+q7G3Wlb0iblMEZuN8Es84wB7ST2fsEvdwGhCI0prWVzbdsHya1b2GrvUiuzml/lKyLmWkfQg+jsv6yKqMA+jStkViC0hcPFqDPixedNndoQ== Received: from DS7P222CA0027.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::35) by CY5PR12MB6226.namprd12.prod.outlook.com (2603:10b6:930:22::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.14; Fri, 14 Feb 2025 16:19:20 +0000 Received: from DS3PEPF000099DF.namprd04.prod.outlook.com (2603:10b6:8:2e:cafe::63) by DS7P222CA0027.outlook.office365.com (2603:10b6:8:2e::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.16 via Frontend Transport; Fri, 14 Feb 2025 16:19:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by DS3PEPF000099DF.mail.protection.outlook.com (10.167.17.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.10 via Frontend Transport; Fri, 14 Feb 2025 16:19:20 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 14 Feb 2025 08:19:10 -0800 Received: from fedora.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Fri, 14 Feb 2025 08:19:05 -0800 From: Petr Machata To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , CC: Ido Schimmel , Petr Machata , , Nikolay Aleksandrov , Shuah Khan , Subject: [PATCH net-next v2 3/5] selftests: forwarding: lib: Move require_command to net, generalize Date: Fri, 14 Feb 2025 17:18:22 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099DF:EE_|CY5PR12MB6226:EE_ X-MS-Office365-Filtering-Correlation-Id: 2763c842-535c-4030-008a-08dd4d13567d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: Gi6IkTX6vXUeWBeq5DiEZ2EBIv2OV6m+hNAj5NCmDCfbcvI+F19v3Y8oZIyoyKvjnCMerdaYlobWRff6/rVplGpO5/1qmnJ3QZm04AMxYAtqZ1c8YQr2cNY7bvnmvExZ4vzDZJYdo9mYxF6EOG1hhPKCSA+ix2B9GlrAIUOQoMu9oXwnxeK018qAO1k25C8wOPrHGilwUzotMH9ZJ6JcD4iQCKeWnkm1pEwocS12p4S39WajkqTVnPJZrpTpnqrTGyuPum24Z5IzxydAXN6D5pNsl7hXqTPYPSKTfDzzfatZ5kRVc7WJWUzOkblL55KGYxcIH7cGMlo/DdbAoufncQ4iV0NC1hfLyndeoqHIKlOBnzXGlK11ERgjYEI3K0Xxdsvazy6rTl6vPWhRPeUcb1W2RvrFJjDA9VtOeAZSCeyx5FuWPuHOVfpZGUnbXgltB+2R9rOaF56Ts0vSap2uAzuVI3VxBc+GkWbSEbnS8MVPS4qH1tFWTIUX4nkiE4y4mBt0N0QvUITH1j8n96PsOf0Ly/vFmxGPPRoJHXhjQTv60iIIu63ur4JqKs/UDSm4ZzFf6yCeaHCYNMNhtPon6mdCNMJtWvVFdgohQ6aZN3ogkS9Ezjw5hWGJ7BdsjOiROF0vJfM8yaoKm7PZiOx0UySUV9rhjCJK2sgrDuWjlQLboTuOYiQgS/ZIYucYyl9+eAeU80rhbEKFbfTGyK+6gsPyYgw/8TqjBvsTqcklBD9D3GaWoCap+1tN6YJK2pVkFbJL1wdktdDNJSS8pXOon5GcEvloIN5EfaED2qeeYsYInW7VIYNX69rr3V6t9DQiRAg9HU0faB6e8qvdtmhWyUk7U3XIwnztQ6n0E79ENc5exPzHIA5gtbTZwygPmDBCd/6LJBFvq4BTgB3bR3OVfYrs2H0SMM4ynsIHPd1IMR2r/ftIT7VfHlNA6R4gHOK/zM1+C1byepWlnRojh4OCmCwKijS1lVZhsTgwSJaqvAdXWmVm2sSofPWxD+e9UKXdHUOkDCqrHmjvaaUNga5ZK0MIfRvOP50GwLru73yTECi3SxuQvPLIq7tHKznipliAFJScCqG37yhLJRR9o60QJuYg7aU+tqBo8U800zzlHY6wo3hmHBlzMxQkr09LvYbNks/lXQviQWTwlt50AcLGxLT5oz8yN+qoFbxMKJqriZqzgkiHAJdzlF9oa9DpMmceIPLws0w2U+7+sKj/IFUdyWDDgUDn9n3iAqr86NxvPWBtWUAqv3PMNC6oD+xkvRz7Tt8JQhLRXL5KSgp9GnLl3nqlXL/xQ2iEpnVmYBNFiOo5Sa505WHFewPysvMkBQ//lf10AOfHoOcddoJJ3ha55fGbEOc3Cut67l407stmzfEXS0XTjukYIAk38d1z69i+ISMYyC5eckvajfkny0a/O4cxmCj9mDCtFvHZQNjdbVi4DaRSTmUZY45f719CS/IMlP0AAO0BpICSpyhp9+PiMBkEsvEeLzBVcc1ZbjojN4g= X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2025 16:19:20.5666 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2763c842-535c-4030-008a-08dd4d13567d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099DF.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6226 This helper could be useful to more than just forwarding tests. Move it upstairs and port over to log_test_skip(). Split the function into two parts: the bit that actually checks and reports skip, which is in a new function check_command(). And a bit that exits the test script if the check fails. This allows users consistent checking behavior while giving an option to bail out from a single test without bailing out of the whole script. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- Notes: CC: Simon Horman CC: Shuah Khan CC: linux-kselftest@vger.kernel.org tools/testing/selftests/net/forwarding/lib.sh | 10 ---------- tools/testing/selftests/net/lib.sh | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index 8de80acf249e..508f3c700d71 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -291,16 +291,6 @@ if [[ "$CHECK_TC" = "yes" ]]; then check_tc_version fi -require_command() -{ - local cmd=$1; shift - - if [[ ! -x "$(command -v "$cmd")" ]]; then - echo "SKIP: $cmd not installed" - exit $ksft_skip - fi -} - # IPv6 support was added in v3.0 check_mtools_version() { diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/net/lib.sh index 0bd9a038a1f0..975be4fdbcdb 100644 --- a/tools/testing/selftests/net/lib.sh +++ b/tools/testing/selftests/net/lib.sh @@ -450,6 +450,25 @@ kill_process() { kill $pid && wait $pid; } 2>/dev/null } +check_command() +{ + local cmd=$1; shift + + if [[ ! -x "$(command -v "$cmd")" ]]; then + log_test_skip "$cmd not installed" + return $EXIT_STATUS + fi +} + +require_command() +{ + local cmd=$1; shift + + if ! check_command "$cmd"; then + exit $EXIT_STATUS + fi +} + ip_link_add() { local name=$1; shift From patchwork Fri Feb 14 16:18:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 865214 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2056.outbound.protection.outlook.com [40.107.223.56]) (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 048CC2676CF; Fri, 14 Feb 2025 16:19:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739549982; cv=fail; b=rCoxkC3kBe7bJOdzo89n9Y/RuFMncjMrykwffNTobnXVFwhS0FJ570dYmku+XVSOHhVlPggQmUOFcymLhL/SgGKQsQ03ITDDzisqt1sNt//YtUfigY4dyJqj2ZW6+1v8sQpO+VteFzPpR5/Xzwtdol9TWPfenBDDHHGemFHMm2E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739549982; c=relaxed/simple; bh=+wbcbyXnXvn1PMP9ymid+vdhhzJIeOlZcycTthupwoU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Ncvou/nj1GsnM1U2+rMW7xNXpopLhzABUVxwdY+nFGotDaFbiAhGThDq9Kp0WfRcA3eOvb18x97udSoAlnnU3nEiMdamEOGRowjqDnNePzop7wUDfOGhy6+ZwbGzXdNrzrRbsrzRYPI1jzM6Aw/lq9/ZvTKXkp4rYbbtavPp++s= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=eVxhKRPO; arc=fail smtp.client-ip=40.107.223.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="eVxhKRPO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JhG0gX1/3moI3gohl6Gm02ZvqcXrwO8XEPVDy2TSDrozb8IdiIESB+RZlG2FJeZtxM6xQ7MjzFYcfzfIi2c2L9wDt2Gw3YXjQ50qwjJ+V9zInaE6zAkn7Y61l+932yIVEBbRuz4LGRBvwT9Zj52tdGjCl5itMlHNTjz9wjWQJwoZ+6ow6FriSTUlQdOcaadeRuc5soC/jtDviD+Ep75pE39Kv76890ZfWjNLkuXAIXDVFQ50fiw3WeQxBVC56xah3cTl3H7FelmIc3PVsKqq9EJ2tEgq+H60ifx0f429I25O04r5T0W04HTJw3FG546MyNxqgeoZ1gAHSfj93rpihA== 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=1mKSnH03/+WnGU1/2SdKtQRHTDHaRyS3u5W4LHT2oMU=; b=orNe4leUZlbqt7MNC6FlMfClrh7PnWS1mOTIBjcoT+55qU1vGqx30T3ghzRuHe6rYt4v/0FRWSA4w9E9YPt3DxMnpyEmnUIpGOi+sxsA7q8dEhMNGzMWacs4YGnjIfxBFCQGiSbRvb7sBY0cFkpupT+GwerpTM0PjuNQa03U6HaNCnAURqHq0kn1wNQGthu3yxIzLnvswXGBbEBBc0G0ndU29WpceBSfdKiZYkeXsT0PthHk4R/EP7/zbKdx1PbxCfF/1mcEssovjC6BtQw6aJAKyOJKMaqKvaCniK2eJ/+D9DeOcjVSEE2fCVD3t3UHfwc4dwxfUTkmVmwV2V1q0A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1mKSnH03/+WnGU1/2SdKtQRHTDHaRyS3u5W4LHT2oMU=; b=eVxhKRPOLQOipJK9y1SVgupvcjGFk06UYiSlRr9Vd7P4LyzSLIclU5GfFSED0ZTYdXb2HiGH3DXbY+Ouf9ZFgncpEEx8oTK6cZcWb7y/V42VrFflCIDZvaG1ZB2/xV5wGOP5x6hlMAJZfAqoS122jh5lL/kQkkt7T01n+xXfCxGYv1dhuCUhmx5EINg7n6aa4gqvL+alk+4KZ2/+WD5NhF8LplQItjUc6wjqcPKTgtPIzN00zcO5x5KNMtnIIDJhfXc+pOzd6ih/yEM4mdSssKdzbqAK5P+KzWD7C2akGfZajKZ0VEmObDkCypgDV6QK9TCNpV7fUrfOWaOpN9nzsg== Received: from MN0PR04CA0021.namprd04.prod.outlook.com (2603:10b6:208:52d::32) by CH3PR12MB8581.namprd12.prod.outlook.com (2603:10b6:610:15d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.17; Fri, 14 Feb 2025 16:19:36 +0000 Received: from MN1PEPF0000F0E5.namprd04.prod.outlook.com (2603:10b6:208:52d:cafe::49) by MN0PR04CA0021.outlook.office365.com (2603:10b6:208:52d::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8445.16 via Frontend Transport; Fri, 14 Feb 2025 16:19:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by MN1PEPF0000F0E5.mail.protection.outlook.com (10.167.242.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.10 via Frontend Transport; Fri, 14 Feb 2025 16:19:35 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 14 Feb 2025 08:19:20 -0800 Received: from fedora.mtl.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Fri, 14 Feb 2025 08:19:15 -0800 From: Petr Machata To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , CC: Ido Schimmel , Petr Machata , , Nikolay Aleksandrov , Shuah Khan , Subject: [PATCH net-next v2 5/5] selftests: test_vxlan_fdb_changelink: Add a test for MC remote change Date: Fri, 14 Feb 2025 17:18:24 +0100 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E5:EE_|CH3PR12MB8581:EE_ X-MS-Office365-Filtering-Correlation-Id: 53626a83-1c5f-4767-10e9-08dd4d135f56 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: QtuTrPUMcpzpEELvXlEUuGspf7A0SoG2WmVdny4qE+/sQ+NC5AAZLBLpg8EPRWGwUwqpxBCQwI+5QyVmGZ1WdfNAMC5QGxP1szemzMBfalVYNQ2UNHEskiXwOl+20HkxX5u4LY3CD2lEHUl4RbaM6OPWiBlM/fNVXsTMMC4D9TsGVcgNg3u8qLr5dpP5MgA3pV7/A5dN93KyNViqp8adSkaOkLYmC7P3g+yQXPro49o+GvAZkjB9XsmlzjVEOoQPHMueYMVBO+1wuDzQjOuANci58ylNYk78Loso14FuqMspy52B573RX8W9x3kd1cpPkKILwnekVAex+PcgYMX9oL5InHfuIn3Cvq5+vLCJHYgYQEfVqLCfl2DkK7dvFMsT/lqb05wCmCc3MDK05bl2qFnQrcw2nE5cURINdsxpFWaVVzKHBucoHvNtdBIa7o0xBJLxrTRUr26XwqJaVbNK9XjyZxwsiGcdzhzo6fiT1v/kVejD86aVwsqHph1nVgBFynEy7jUCJs9QOPnvDH7YTfMfLL2hrB4LTgvtBUvVIIVUBaJOqRZBPRd2rh4FT8SiA3bmnaoWURgpU5koigxt0Xo8oZOKJj1sIxbyuqXlziNm/lwbHdTaHRZW5XL7z8z7sNn81JKkXT1TDO4LkOsTC27FC4NOe158eZEYx9BcU4ePVxdwQ7ZTvEmkfAsox5vWcG9F8lgXqufaDW5c7zNjFgUeSLXWQSPjPApcRonj5j4xAAFwF/LrkgxBwxIvmAgnSPewSpAYfhGQgjAFONlLqD8wgW2OXlQxye41vDkPVyJA9OJnzdy/TJV91YFy+yLF0XtodatfT+fM3KmZzUl5pPMNbFCYQiuV7tEkfg3fHs51c70yUstgPQFFQWW2zdVEwjDEl7S7W57jbFoER9t4fnQnG1CDQb+j+9g+AbtSBAg7768LvDBttTVIElbpMvJun+SL9opZIn7L6juyqj89+KC97d0JbrqQUtaUgGf5NIl/PYydUXIOoKZ/L7BJtQg4CNhhhfloTJFvswx/TE2WxLloE0H/FwD9DI1LrzKosJjaCd2rxb8YlZMPC529qCI3cjH7IoC/oOJqN5e2+hZ8sIr6kYIiIzMlZRwZxGhksHzjXjDdLN2qhAYDlgLzcj2Q5ejpGXDEZYuBJeBPyExxUCJ1gjRzGlTgv3An8reXdt01QUCCWzXSHSMg4dm6JrFsg2MujlHKndjApBJZT8UHFfvPHhuPONAfiHhPyEv5ak18uIlYHJO/VSL4iRhDI7gKkQ1SkQKb5h8+yYYHozOdRJjoPDlP3bcdO981546Vko+TNftis9NWKIEBrd4jnsu1nRTgt85pIxj0BLUeUP/OR6Sf9xV/ByeHShFJk9llCQZGBcs67jBUJc4oIXG8xeMhODyiM3LJ0jVbx0GyX4+E/2C3tyfflD5Gro7vMlxcebMo6BxDUsjy5jaDF9tfOKzFxrVBosfKhOXuYegrVLClXWkrR8UaRQ/VwEIHoQ4ZkLk= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2025 16:19:35.3640 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53626a83-1c5f-4767-10e9-08dd4d135f56 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: MN1PEPF0000F0E5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8581 Changes to MC remote need to be reflected in actual group memberships. Add a test to verify that it is the case. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel Reviewed-by: Nikolay Aleksandrov --- Notes: CC: Simon Horman CC: Shuah Khan CC: linux-kselftest@vger.kernel.org .../net/test_vxlan_fdb_changelink.sh | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh b/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh index 6f2bca4b346c..062f957950af 100755 --- a/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh +++ b/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh @@ -3,6 +3,7 @@ ALL_TESTS=" test_set_remote + test_change_mc_remote " source lib.sh @@ -31,6 +32,81 @@ test_set_remote() log_test 'FDB default-remote handling across "ip link set"' } +fmt_remote() +{ + local addr=$1; shift + + if [[ $addr == 224.* ]]; then + echo "group $addr" + else + echo "remote $addr" + fi +} + +change_remote() +{ + local remote=$1; shift + + ip link set dev vx type vxlan $(fmt_remote $remote) dev v1 +} + +check_membership() +{ + local check_vec=("$@") + + local memberships + memberships=$( + netstat -n --groups | + sed -n '/^v1\b/p' | + grep -o '[^ ]*$' + ) + check_err $? "Couldn't obtain group memberships" + + local item + for item in "${check_vec[@]}"; do + eval "local $item" + echo "$memberships" | grep -q "\b$group\b" + check_err_fail $fail $? "$group is_ex reported in IGMP query response" + done +} + +test_change_mc_remote() +{ + check_command netstat || return + + ip_link_add v1 up type veth peer name v2 + ip_link_set_up v2 + + RET=0 + + ip_link_add vx up type vxlan dstport 4789 \ + local 192.0.2.1 $(fmt_remote 224.1.1.1) dev v1 vni 1000 + + check_membership "group=224.1.1.1 fail=0" \ + "group=224.1.1.2 fail=1" \ + "group=224.1.1.3 fail=1" + + log_test "MC group report after VXLAN creation" + + RET=0 + + change_remote 224.1.1.2 + check_membership "group=224.1.1.1 fail=1" \ + "group=224.1.1.2 fail=0" \ + "group=224.1.1.3 fail=1" + + log_test "MC group report after changing VXLAN remote MC->MC" + + RET=0 + + change_remote 192.0.2.2 + check_membership "group=224.1.1.1 fail=1" \ + "group=224.1.1.2 fail=1" \ + "group=224.1.1.3 fail=1" + + log_test "MC group report after changing VXLAN remote MC->UC" +} + trap defer_scopes_cleanup EXIT tests_run