From patchwork Fri Feb 7 17:34: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: 13965522 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2069.outbound.protection.outlook.com [40.107.237.69]) (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 76CBA1885A1; Fri, 7 Feb 2025 17:35:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738949718; cv=fail; b=LQwIX2odx3T1ek2y836/xMfruQyl7jgZikP9pj/IwzdUegzHPq8IGX9EQG3S5XjNqZMuClbIBs4k13Nc0xesTWjQqfWjZFcebS8XC3a56eoPVu6ODSgKCysF/8dvYdPng14rPzZc8YRnhvdhEB2nZn+LVGdA8sobc9qo6y9t1QQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738949718; c=relaxed/simple; bh=NXDKJfrQVxM1vV+sa1qjdASmNH0UhLg+ToJCPmwQ7ng=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UbtE8HKD/YlksUJyXA2jOiBYAv7ULvjPwBNgMYVzSWAE8L0BKZnMcT6hRJKg9E74/20KqYmTwpKmG/QgoQcKPS8Ju/U7+3xXDmvD41u069GgW7XnN6U6DldqqIN01aD+4PY1gStc5n7wzCS7NLSU3H6+u7pV2OyOKeMwEGq2baw= 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=MNy3QPAA; arc=fail smtp.client-ip=40.107.237.69 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="MNy3QPAA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CpKRvQWYD9+E6pqxTIKZddLMJ2x3QLiwpDrfC8y/wzgOZalXyjWTpYsEhBlFRo/9X9QFQLbv+QwLQAbMK/Y+JOi21gtDVJjZb6NSgKOlzsVyvk2FjVHRzoE4OJa+bfm0Eg18K4Luv5wZZN7BB5dBCe73mEtKMQB0oTPT/weVFybqhqomLWe0p0C0jV8GbI8xIS16Kya/EJ02c+59jU9HN/UK2BixTD5ZfOoqX1/2L8J9adiM5fmd7KXmCweMqwSPYlU8MgxLcKLThBYUqVxDwSiJucB/BXU/WoBvxRKAOCfyqFj3JLSLVY3JutvvpKMuiUzQlzsPlXo3Jk3RiByjOQ== 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=ep1PpbVu2zBiqJXFSzuYw7/ZttPxx1HVDEGMVSjJFuU=; b=ed70GFCdFhRdxiSVpBv8CGA3uq3JY57LeMJealqZHn1O5zfallG16dLQF7uHatBZeofORY6ya9B9Fa1c7dJlKj8xCh8E/5/OoV27W/wDXyFMlaZ97av8L1DKNenLeAW0ngKm6/OR8zZyKq+ZBX1eXgFFxkZxMrBOQ8HI+rM6kTYRdid82nM1rIDAKoDs9Fn56syldVo7/CdkOjja3XEz98TgrSqEeGGYN47SXbP51TZVIludQ9Z9MifaNQONaCe9yyHTucZCamMgaEqSi1Y004Mo2DwsEDogrbbegjBaXRKGJq8XmArqC02/19GajLv2x9G6PrU6E/Qf6lTSWXyN1A== 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=ep1PpbVu2zBiqJXFSzuYw7/ZttPxx1HVDEGMVSjJFuU=; b=MNy3QPAArlYnVFHB+f/FwWx9VqtDJRBL9ghLyhC/Lr89DBDvQGQPZ0TvpJ9ATM/v4HV5Yr1La7trw6zO3Xo0tsibPFUD9cuS7a+lVLaYF4SWqSqLkhyGNcmtPoYhe6aIy1PIeYasnBuB1VBiQnVFV6XRa2TxhJV5xuiDU03vHi2uRi51F8NlIP8Wz50YU8jjsAfjkf1orEi+sZSGk3i3L34XLHh1eKfeGWbIN6y8v2OFTUH6j+5GakW84J65pzuWWkuJAFbdnnttUJwMtXoT8SiRhg5f5sM7VubpOg+DUN5at/laLvnNi1koateA62KmxW7wVZGdHemXzKlOKETwEg== Received: from CH2PR14CA0038.namprd14.prod.outlook.com (2603:10b6:610:56::18) by CH3PR12MB8353.namprd12.prod.outlook.com (2603:10b6:610:12c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.11; Fri, 7 Feb 2025 17:35:10 +0000 Received: from CH1PEPF0000A347.namprd04.prod.outlook.com (2603:10b6:610:56:cafe::dc) by CH2PR14CA0038.outlook.office365.com (2603:10b6:610:56::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.30 via Frontend Transport; Fri, 7 Feb 2025 17:35:10 +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 CH1PEPF0000A347.mail.protection.outlook.com (10.167.244.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 17:35:10 +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, 7 Feb 2025 09:34:55 -0800 Received: from fedora.mtl.com (10.126.231.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, 7 Feb 2025 09:34:51 -0800 From: Petr Machata To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , CC: Ido Schimmel , Petr Machata , , Simon Horman , Shuah Khan , Subject: [PATCH net-next 2/4] selftests: forwarding: lib: Move require_command to net, generalize Date: Fri, 7 Feb 2025 18:34:22 +0100 Message-ID: <954a4485f597183598da02de5d6178d8354a8285.1738949252.git.petrm@nvidia.com> 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: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A347:EE_|CH3PR12MB8353:EE_ X-MS-Office365-Filtering-Correlation-Id: 9af018d2-b833-4527-5b87-08dd479dc56e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info: 6hdGPixuD+hzxwDPUemxIKETeMNES1XRTBxQVPDP1X5yjrSgbIYyXy61lD8mrWMv/F6XTGJ5rfjZwXQh4UJGtRuUGLeGqdhqtsZ5u10l2a6GqfHCaXE7A2zb1uA1vOtDOljyZdpgz6R9C0O54/Lgadd0bBlWEclEhj3GGZ2dzPLiDLPNh53qBkViyosLJrQ/+m94jOgnq+4yYX7CFMl7eIZ6thE7VkJlOm880OJfRwJqtAOltkvyIb6kFkqa2EbF02J/5mvHDmsKfq1KpgGFIZuVx3wjyEzuDS3fumH2JIvVE8qVeHp0XUisKfsfw7Qi+iSjF+GP7tLTpiJRdAGM52b7+61C7MRsnh9H/M0ImTlWghCdfhNpZtO6n5urWVuMS8JdZVXGoWhNvHddiRuUM5SQ+fVDCEs0NOL0VktgbK8etQx/rUO+pFW41ffY1ScvLxG9dvIjuTKKS5DW/T2Xot+CBvfkOhxqdQGJTNMEh3cTlKPJky6yWh2fqZJJkKkSy0EdXcx2ytz5UuuvZPVg6xV4ymPFd7TtAZlcPBLkficqfWq7eWbQnwBxxKbRLvNLy/8knfG4oNwhsdksEFfF4OP7I+0cE1OuEL83IZBryu6nLwtpbxrdGk87e5vZWxKqpMOBi1oPkiJbjFLykBesXvaisQ53F1IBr/hRFNtOgcZ4ENfWoIL3RN22FZMmOnxExKD8Q5CSJIVoAF8nrfCa26fZl1apw0ltVhiu+F4TuW0khOi4hGRtdmFCyYzZTJahbwFCHCpRDTJVf+5ZFH94GeNm5PwXJcHdqNXp5YyjDkTVCc+MUEmectl0X8x0EySLqIs2r512EGsMd72Wq0aTRWpL+0iXpMnX6+3zecGd0+7jKbqr5JjjW3QNz4fsRSpBC1F7EvzC9USnzJrw9pKkpzUqVOY096Qc3R2Ja5B5qvMWhVb3VAYVlZ1Y5kI7NWXwfFY3Y8Beyf1my8p5GfcL49uLOhLEq2RYfRY88hOHusGacqWuwdR3VPcV3hCQgbf0DgQ49BecwZk8IqvBmqID/Bpvyc2tKcTQrdvmJZU8dloM8TPIfsvpxPakfRIQRVpKKlZvjFORx/k1VGhp/lnSFoRJLAdX+2v6I3amAWBos65DD1fKb6PVEhXEXikdToxiswrah9NuQgsW3vAjpAVT8vf3Zd0pcn27G6nb9T+c5+ezhZs84hiIfmAq+M8qIUh/OAHCc4se1JVrGOOyq8042O4i8+MkhN9j5hfL2qfm4ZqTNojyPksdv7cyav0nQjz8XcIJ7t2y+L2XUdGX4ojdQtec5jgNoaT+d8EkYJGkEICFbaUXryhagozsUMws+KmJ6qKFJHluD6hMbjDVR5EvUOaYTE0QsZmbmlje+GsEngOmcrJWvhaDa5O47oqJLyqaouXQeUuShD0Z44owltN33/gaNo3tX029ga/CD+irLlF3RwuqK9on+pO+aYCrnBAXQ1v+JPMyDFKKv6hqgFup5O6wpmZAhFs1yHKUeNkodPo= 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)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 17:35:10.2697 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9af018d2-b833-4527-5b87-08dd479dc56e 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: CH1PEPF0000A347.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8353 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 --- 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 7 17:34:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 13965523 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2073.outbound.protection.outlook.com [40.107.101.73]) (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 7C24719D072; Fri, 7 Feb 2025 17:35:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.73 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738949721; cv=fail; b=e0sxCqYcQivKAoCQX2PR8fjtnvXgwAZJAUus0UrGeiKopvPc/QWpGoZfmvYXSpYaAY0oCu0m3oZ8waGU9o6urPGCpluPVc5d81fmfgOsOPIIeomhkxkeLNZzSLnif2oGStGC9J1wxLrNs/+/NV98fsnZ+GriXJp0M+t4buEQeyM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738949721; c=relaxed/simple; bh=PyiBw1NN0MIVQSnwXJoJ5K5AYfHpBWypLlDQ0u657qc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=lEIoQ5SjAYcVVwZzySJUnla65fMRWxjVNoAAzNJnyA6wdhXe0zvAkrmE/K6ACtLc3TKGPDWWE9zZutO7Ubb/s4sbYfkOR6fzLtfEtvn7k2+0RKaPm+IPF9XS9Yok2MpLdkFq/Zbr41gPyCmLjwcggcemo+6ZQnQrWkxbXil5hnQ= 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=fIwmx8ur; arc=fail smtp.client-ip=40.107.101.73 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="fIwmx8ur" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=s0O8SEGwYDaQ4naAAePxdtjfVKSi9IjpytBtHessurm/gx73C2B+taeafgMWKNgkNjECP1BQwfZahQitFr1HL8tH+hIc/6qgnP2buy6dmphvSrjtIKJz3kgt/9abuWVnhCXcYWG3f72GiId8qlmNQKQ2nLJN1iv9CtiUXwJvooVfZgzGJcDqQGIBGjtumKjQkr5F7wx+dcVyMOzn3tCiRwO4DzNr3nLeQmGdsaCrHgI1u8A51yJnuRYqQV9/u3SMAtG67l6x2KrgCeQBuNEjsBLzRsb0eOoVpX/h4svVvqsg95+diuNuqiEMKYw4S+9QH8QH9DudyOGnCfXBTq4GtQ== 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=MEo5WWTK5khQiPIj7CoxzrR5tVDniFaoGDoi64w769Q=; b=FzQSYL0HG6t6VgyYX/r4LXdfckWQwcdYekS2ajWKHoc1MpkODit2sUqCeT1m1bLx6Ps+Brrg3gHb6MTuXMFhrA6vFbix6snYadKRVHvYrmY2aA0thdyu7FJKJOZoTrqhPcd1VBvWb0rZztdM8EMk4aCJAAZJdzWzaouRUZ6mObURfU1HpEqB15ppVmnenVea5Yg4U25f8SsAvMSgNYdaDvHeaeLIam0gyGu36fViN099pOrbxxixohZ8SU3Svy3j3z5dddXO67ltcnV3cmzndHfIzKaMyO6d2zwjk3VAhb6DfjPbKwifuBZMnJ3SFCNHIOeCLF6uCX/kSvtRUo+Q8Q== 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=MEo5WWTK5khQiPIj7CoxzrR5tVDniFaoGDoi64w769Q=; b=fIwmx8ur06p8MA6PRM5F6h+/G14pYA9bAY9lgiHs+T9EsL3WhcZO3BQkBZ/Xe3HOn9g8MLW0LG7PNXvjzVzI7hry2KEXwAw4ZWkI6FPwUEQLggx7VeLPbVoLlPYXgTCcoHyjJFTjyFQH1TJ2bfFyszJBlfs4rjiBERegBxD6km5byOM2zR0EmH43hA/ghJGHGMSj6C5/Zq6p/OgTHixmEriumFqP7gm8FOb8IGExnao/I/V2tR7mN/rCemCvU0tFS4rPIdNnKO0qkuVG6naZK0Z2wablQ6ixzlfPEnTIVZG0urowNIUXJ/GhFAO4q7Joy0N4bax2BXM0CLS1KA/vKg== Received: from CH5P222CA0019.NAMP222.PROD.OUTLOOK.COM (2603:10b6:610:1ee::20) by CH3PR12MB9098.namprd12.prod.outlook.com (2603:10b6:610:19e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Fri, 7 Feb 2025 17:35:12 +0000 Received: from CH1PEPF0000A34B.namprd04.prod.outlook.com (2603:10b6:610:1ee:cafe::e9) by CH5P222CA0019.outlook.office365.com (2603:10b6:610:1ee::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.21 via Frontend Transport; Fri, 7 Feb 2025 17:35:12 +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 CH1PEPF0000A34B.mail.protection.outlook.com (10.167.244.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 17:35:12 +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, 7 Feb 2025 09:34:59 -0800 Received: from fedora.mtl.com (10.126.231.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, 7 Feb 2025 09:34:55 -0800 From: Petr Machata To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , CC: Ido Schimmel , Petr Machata , , Simon Horman , Shuah Khan , Subject: [PATCH net-next 3/4] selftests: test_vxlan_fdb_changelink: Convert to lib.sh Date: Fri, 7 Feb 2025 18:34:23 +0100 Message-ID: <1fc265cc6b129698b00cf1e70a66b9939ed72acd.1738949252.git.petrm@nvidia.com> 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: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A34B:EE_|CH3PR12MB9098:EE_ X-MS-Office365-Filtering-Correlation-Id: bc5b7f26-02c1-4320-446a-08dd479dc69c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: VeY4GCbbaJiiU0w1neYEcyxZfhMbv2+bs/2fZ2b3TLlVzCq7qPmeeKcWgt38FaArwaruNfVX8VNoQr94m2Ok2v8wNQLjwLVrPsXle8gMYNL6/ekhr6jvMViSiXqbDM1/auaS9SE33iOO6dIkvq22dbRnvkoIFGY09oxwiU4pDKV6yv2GYBp94VlLZNPVx1zUaju78orLci/2zwyB4jJmO/ZbaBTU0p8HHbEUBhD9GK3mNAACLMn+t/wtS7jts8xjCPLk0hVCVbl52UmXD+2QVaSI8W9rwlKBwi/aeb317EahgRweMuPaH04VoD7RIlIsCj08DICQXwwRF3qlWA+DNsRYP0gNfguZ+mfKZ4+h1EwIrvQMA5gcOFZL++VjWQLPsBas45uVEvIEr9l93a7MT5IWGJuMel/ejMsb3EQWXt3AkEl6gFitoKx9LRSvbcadV5bdHz0yFa9R8hwjd5pmiyx5sIeC+K+V7Gq9NVDwMKPisW+Q5ISfeKqLQRwAyd2kWJdZqzNEkAlkF6nxuIJiXljQbVj+xfr5UaJaBw+nbDB8jpm/S25yfhO0npMO1HBpdgwREi777WLIeVPHwsWZj/waG5U1OtgxykB2XgwqGJVKTmT1kr6cd1Wp4R2Huyur2V7bsW4cA7LoomkdxNEC7RIqTFe1mMjGVjaccDZzc4io2WkxLXyX0e9PyP6Wp1IAm16IBjSfHzABkhHMLHTplIcVq6iLSCJrcI1hfK+RAvP0vcq+5+Im7aU6tqKJ5hUL6GMaKu6JbtoyZZ7q2b/nsP95g3R8kKA3QW1/JM5UM0nIr0Uf3FiQUFCqV2zY9xcwswe/sHmrdzapi2Cqy5sqWVZfcuJ/7vcrUFAaM81D6/y3DUp1rkfs7XV+5b4VcvuDW3p0ggl0JFS0FoOCCn9FRIujLfgJlGqumObzH5D8Z9qB4yITZ2zIniG0VFt1XsEt4tYT7xf7nYXpOEyNRPxewaX8dHP/eywFZjfRn3PMQq5G9uBK2/5RErBo1AvEPEhQuBRkU7IrRvR67rcY/w3jEJKUgQl82vIcKcDwEHxu/A7x8KJUo3vHlItkuupsLJ4VRAFcTQL9MTcxmsEkO4vuzvaIB74JBCbIzfM75zR2TVI39nUMCRgoWxTxugTwW5HUfrvXoZnUy+vPsjl6D1RfBBauuykb/4bRvPTZ5r87cpqHOd5RA3rWt4GwtVbOhfi0nJIilKX69nnb0KuXncJlFQSimFk+sSnpIFBqFZ+RUWSCPEEAkBCS/OxH8EmTQcWbmdgYS3rjVFPNes52+RjXAJrPi0RlGBb7P/dG49RloWJj3gstTBZd06tS/E6UFd2y10nswJbi/mZljn6jsZ+JsQjd7TM+ZaV27dHa3jkZDpt/6Fa7Ytna0lzJ9xiKe01oGQ1ryuTV9agrkyaxUei2764MTwo9D4l8Me1VKVeEIJsMgFfw44LLOjlGYkAlgA2mstUUsGKOo8qzlmN2iOirE3qsU6MMPJZJCpxb1T/1Wmg= 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)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 17:35:12.2327 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bc5b7f26-02c1-4320-446a-08dd479dc69c 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: CH1PEPF0000A34B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9098 Instead of inlining equivalents, use lib.sh-provided primitives. Use defer to manage vx lifetime. This will make it easier to extend the test in the next patch. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel --- Notes: CC: Simon Horman CC: Shuah Khan CC: linux-kselftest@vger.kernel.org .../net/test_vxlan_fdb_changelink.sh | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh b/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh index 2d442cdab11e..6f2bca4b346c 100755 --- a/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh +++ b/tools/testing/selftests/net/test_vxlan_fdb_changelink.sh @@ -1,29 +1,38 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 -# Check FDB default-remote handling across "ip link set". +ALL_TESTS=" + test_set_remote +" +source lib.sh check_remotes() { local what=$1; shift local N=$(bridge fdb sh dev vx | grep 00:00:00:00:00:00 | wc -l) - echo -ne "expected two remotes after $what\t" - if [[ $N != 2 ]]; then - echo "[FAIL]" - EXIT_STATUS=1 - else - echo "[ OK ]" - fi + ((N == 2)) + check_err $? "expected 2 remotes after $what, got $N" } -ip link add name vx up type vxlan id 2000 dstport 4789 -bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.20 self permanent -bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.30 self permanent -check_remotes "fdb append" +# Check FDB default-remote handling across "ip link set". +test_set_remote() +{ + RET=0 -ip link set dev vx type vxlan remote 192.0.2.30 -check_remotes "link set" + ip_link_add vx up type vxlan id 2000 dstport 4789 + bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.20 self permanent + bridge fdb ap dev vx 00:00:00:00:00:00 dst 192.0.2.30 self permanent + check_remotes "fdb append" + + ip link set dev vx type vxlan remote 192.0.2.30 + check_remotes "link set" + + log_test 'FDB default-remote handling across "ip link set"' +} + +trap defer_scopes_cleanup EXIT + +tests_run -ip link del dev vx exit $EXIT_STATUS From patchwork Fri Feb 7 17:34: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: 13965524 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2049.outbound.protection.outlook.com [40.107.101.49]) (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 BAA1919DF5B; Fri, 7 Feb 2025 17:35:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738949724; cv=fail; b=nRjw2ijWMi+f0eTL9UbGfnX79+RVBJsq4w+umiggx5Pcs9OwpH+nfwVh91m8/htSBAdQCDjQYa90BWa4yuKzSA2r4gH/fxBmqdwPh7R6zu9Qb8nSR/rH0Wbhf8cvH4Gd/jfWKx08bNKTR1WAzQpIZrim0dZJrUFj9XDEXGcHRgo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738949724; c=relaxed/simple; bh=3XjXfto6P0qjsR1W/QUmd/jm5gfgVp+P/JnETw4EcIQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Jdr5KKeiqsTAHCV89mDuUe5E7OpWcNtM2vnJX/uS1BZ5278LAHtPlkgUVzQL8CCh3BtXFQrogWSgMVsMybkOdIR56nHejge5haj+8Iqs7D/D+i8Ikc95lLcsbaMa4R7uFKTE2jjY0/tW+IlL/eCE5VL7d1wAKG2dAW9RSEBSb3w= 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=UrZAOXnU; arc=fail smtp.client-ip=40.107.101.49 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="UrZAOXnU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aFTpsZak8libZ6+RTDBpI53r1lIu8+6g2JkOxiY/0+5c5q1BG3guFk05AnJrZT79n7kBHMfaagtauc41hxES4JJOpzDKHteTjgieeIh/fBUGR+kU4lGBHwYxX/Tbvjxk8Kvvq/OrQ5q1alsFLspneriRksmD831KzjKaEmX/l556R8Ubb4m5XqJNJCN+YNdOG/vtuEWa1bsFR5v0cwBG+vMek5YLX89zk6mGZup+HrSw0Upj/TkmRIRHp+wDdQhiQoGJBJKWNhtH38UgYgxFqSCNfDnRGVdDBOQqgSng38Eud4PaSBrkkUqo8KGGdlIVy2isgXmjXioZRpJnzM+4Jw== 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=0MhM3Xjkb5YFXMq9KAAa9Kh5EpeSR0kvyyOKsjkwjA4=; b=JHEORm8PoaBTyfqhVb7x1rYfImmPJtYnzpbmWUOHIDyYrarqJvgSJzeKfvue/OyPMSMxSmLkKmRG6DYr7QyeYhSm7tZGXPeB/+84ywHIqTvsvqMVR07vH8XAfKRI4yXKuTHz9lOQvOqZZeqaZTjIDjtivdOTsAufsH3/q9xPImrn7tvS4f+CxOcBgnZlh+s4+r6n7TgvEFH2X86SDE3jt5UfI5zWa9+MRU1IWsO+BW2QmlnmbqeSDMs+bn1pMI4WuO9iQBh1buhl4200IIwgTQKLnwt1yQxlZ8CBaWFJUQaaJMW1ESEeyUaKjCfqRuibMg5t1v+Sp3FhJhaeWVOTVg== 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=0MhM3Xjkb5YFXMq9KAAa9Kh5EpeSR0kvyyOKsjkwjA4=; b=UrZAOXnUkSFneSYfCuis8p8keQcNlZoTpz9VyCEmlpqFoWeaxQVFUJlfNWXfSd3BM4vMK4iY6mEZn88Soi3uKlrs9niU+BOL7and90TXvFvuRFd7rafgCG8Ub7txbfPoNNouOrDWiODhqTAi/MKeKvzmXr+Dgcp8jSyBdzKD0pwi0UsK4WXBUuv9t3wt63NhN01OY70IKcZCukJmrQYPrhzFVm5vYHfI6eh880zcj6njULKWQajR6zwXRvi5Ct0ZV4WlTZmwyjW2Jel3kgufQqw01gaGUMKzlZNcgsPQHoWSKvJkkO5AaUbQpB3BzhWzEvcqhcyEE4bIQzJgJPKIig== Received: from CH2PR14CA0059.namprd14.prod.outlook.com (2603:10b6:610:56::39) by DM4PR12MB8524.namprd12.prod.outlook.com (2603:10b6:8:18d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.12; Fri, 7 Feb 2025 17:35:20 +0000 Received: from CH1PEPF0000A347.namprd04.prod.outlook.com (2603:10b6:610:56:cafe::d3) by CH2PR14CA0059.outlook.office365.com (2603:10b6:610:56::39) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.30 via Frontend Transport; Fri, 7 Feb 2025 17:35:20 +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 CH1PEPF0000A347.mail.protection.outlook.com (10.167.244.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Fri, 7 Feb 2025 17:35:20 +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, 7 Feb 2025 09:35:04 -0800 Received: from fedora.mtl.com (10.126.231.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, 7 Feb 2025 09:34:59 -0800 From: Petr Machata To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , CC: Ido Schimmel , Petr Machata , , Simon Horman , Shuah Khan , Subject: [PATCH net-next 4/4] selftests: test_vxlan_fdb_changelink: Add a test for MC remote change Date: Fri, 7 Feb 2025 18:34: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: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A347:EE_|DM4PR12MB8524:EE_ X-MS-Office365-Filtering-Correlation-Id: 75934141-9c12-41f5-1527-08dd479dcb3e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: 5nmD8ybz70xTVfVd5b/nWxr8EyVQpRRCULdj47qLGdq7xOAA8zbNl/rE1RLxHuD3TRd65TIXq3ks4ZaejoxhEjWCv1D1LJ65tkMuJCnO86UHDHHOb/r3+Y+KM4Ti9L3vg6CtMzbq7aThX3GJZy7wE76h5Ut1niNTTEeal0QrFThhqBikX4F8x1x22pvD/HO5PC/FvCzlEv8MYHiudyDX8bazsAhwaD2IR+L0uTIMReA1Nf202R+ZYy5cJaJ6WvueRojXbYyZBNR1GINdFZIOPKEHVukt5i5o5piUAK03tFCFry6LqNEYmmUX/W2quQKpvtZc57iJP8CrMLkS5ASjEnUFCJ4kdDldn1FAmV7AgmibW6Rp0t2Yw+cZIyvIPg7i2Pi/V5j9Ef9IEVvTynRahqCt2xWJeQg8QADImAGQmpyM6GQx9fG88f/e1A/3bHzDF5TdIGMih4zeWcB/+4kPjy10PG30uT+V/3nAzqgYAk1iIL3+fUwudBxbi/BYxX5mrr8Rqkj9sNnmvqMP4oh3FIxUjSuKm4EFPEAUHf0Ol+07KYFYZQz7xhxrdxbz/XKL7CJct9sqj9QDjJPc3Zty1Ek53CjwjNPCMfmkrxnBT7avTuRMzkmE5o3k5TiCQWs5ZE0phjY9DfMlpzMVPjasGuS+GrgJ03UQF4LozFhhgj6DVpTuWZh3MwGyJPD+q7iAN9RE4Svu0jcuiw9lyIPmWdi8EfViAKwGW9tpyIsNPyCpDYgMbz0xs5ejchdRnKyVizARMR7Tlvps125nyQ+QkaWeCao8X2qTcOZAqHkjGHQOPKm+/q+V/qtd1KaIerPO9Z7wqOANWqlU/biy2hiLyDro7kGeNIymEtcwIWztjI+ADjSM8BB7EGxZq9DfPVlAwMizR+IJFwWIYqotW1weB5UVXnBTa2rwyQA3nveixMo6Mt2jhj7tySLGa+4GcFSYLgeg+fX/sM9PtnrUK096Kdf38tu7bSt86RWG3OdYU2IK7UnbsrPrGoMfhLXOs1DBjcDz+/b7dQUlpjARO3wcfacWGgXTP71sdDzBJDf6L1lZ72oA7n2GlFBaGWGfaO1XOGpCg8Ge7a14892cmbDXu3IlIwdH8wU5rpNkfUEj6SkUlnKYxfLDhS3myDpo2DtaPAs5oskyiGDWegKIfCdoKhK7Em4LB7xGF6esr8YqvdVjpdWcn8Lkm0em9yu4SRKOnYW7U+1VaU5ZHhwMviJXXhSJy0+Hx8n9Z4X23jpZ5b8cEHjhaVSeBotWh8TJU9BbhYLQMapmkRYiha7T8PoJyox7604jiXagcB8I4RXsuT4uNhWFa/J8uphZaPEUXxMknhFgq0HgnNvPvTHuo/57SpUAguWZli2QopJJdwyveaRHJkE32PjlbKQPb+bvndi2F8kpR4ViFturGmpFDVrNYplFGV3+pCv2HGR2+hk7lQPhMgmrEVy27dsMAAgR11o3DsHN6Wn8fFuvOAxtOkSOv36QA6cPTnxI6W5O2sW0oUU= 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)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2025 17:35:20.0197 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 75934141-9c12-41f5-1527-08dd479dcb3e 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: CH1PEPF0000A347.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8524 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 --- 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