From patchwork Thu May 24 14:27:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10424885 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id C6F846019D for ; Thu, 24 May 2018 14:27:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C6D0128987 for ; Thu, 24 May 2018 14:27:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BB2B8295DA; Thu, 24 May 2018 14:27:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E60D928987 for ; Thu, 24 May 2018 14:27:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1033267AbeEXO1V (ORCPT ); Thu, 24 May 2018 10:27:21 -0400 Received: from mail-eopbgr40061.outbound.protection.outlook.com ([40.107.4.61]:60152 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1030254AbeEXO1T (ORCPT ); Thu, 24 May 2018 10:27:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ev9kNML98h/zx5b+p5YeSAlMS7ufOJHueq2tts66kiw=; b=qWEgR6/ZAUg561/MeeSHjxE074rlel/KCmYb4hlxXFjjheCSq7DfYkTaD+IiuRbB1H0pwGg2AXuFbUrvGRpVCyf6um263ocOYAIyqGby3mZY3ddo527UoKp2Xgzx6h5htXa5NLTVo7InGWRkV739EvqSMaVQKrCNk22bA6L5IyQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by VI1PR05MB4191.eurprd05.prod.outlook.com (2603:10a6:803:4e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.797.11; Thu, 24 May 2018 14:27:15 +0000 From: Petr Machata To: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: davem@davemloft.net, shuah@kernel.org, idosch@mellanox.com, jiri@mellanox.com Subject: [PATCH net-next 01/10] selftests: forwarding: Split mirror_gre_topo_lib.sh In-Reply-To: References: Message-Id: Date: Thu, 24 May 2018 16:27:10 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 X-Originating-IP: [78.45.160.211] X-ClientProxiedBy: LO2P265CA0077.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:8::17) To VI1PR05MB4191.eurprd05.prod.outlook.com (2603:10a6:803:4e::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB4191; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB4191; 3:/bZPc3PPN8+mJIFhJzJGwlcBT6Dp15GmOY6J2fMEu0lUF3WKelLbdbBH5LutkRS0BuO9518Q2XraanWUSEaR4E55+4lKw1R5/PEQJjODxIGb+gNbaGz9dlvDFjv8k7+rwYeM5UrSj6Gju2W/vF2pK4br8NzcI3iV+gNw7Emr1msgdkwvAk444yBUGmdvt07Rvg/2grvGyUU2Pe6NDSyjxS4ha96qJBbLyzYhnnCFKtJor3+IsszGJdZjyFF7mnvI; 25:by2UUwPaaTLgCnv8ZK3VBzov9MXfBmdL1H8jyOY/53PE5XVgLIxqgms27nhDU2h2o1RI7eRMvqtSelCIc0uAXJtC09SJPcEmUa/nEyA8igMOqiOmhiMmGU5r/9lk/j/3rajJgcm90b8W2XPWythLbcwXSGDbgvMBZoGqUn3kDqo29/M+XBVO0e7CoFx3SXcrZ8i9Wtpb3SI9SElWyx33zG/m2clWfgbdNT4WUwfJeGPzG0/N0MjK67BGrkeO6P7vjcImtYbwZgiTDFw83XjwyzhIQJQoh/PMDAU5A/LStqCl0sFdB9NzI72ZM24BZdQMktvRV1n7sQBjE5NKFoZz0A==; 31:Iwqi28DUliY3WwDwl4Dk1tjVKnSnQnvB4NfmZyl2ubSlO9LrK2XhQjUWgw1o3w/+zVsXZXjp+JHMS3uh+4ZdcqEEEN6+daJHhSEpEN32ZPDY6BgmYIKcip4v+0RF5cAVCaCJY35xOdqeqWJF5bytvRWPa3Om/TO6GjBNlLZzTJ/SMSPn/qFLgpSzvEjOaxPXXOY5l0M0vYT0UIGdsJWcwtUmzBr0WMdppWe83gVJSiA= X-MS-TrafficTypeDiagnostic: VI1PR05MB4191: X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB4191; 20:qlPrAWC5GDrJp3Pls6kYrS8K+AoHhv3afLgDSTGUziytdEADKVqt9FA0xhoXzDAhUFXhMWw84q5eR10SEpxUGvVAnW8e0WSzpdurUPBaH3FcFYy7LSnFDRo711vL7IRXshV0bbaVs6FiWK/tgW7KyNGE1gETDDagj+ZUUwXUYzB6zmcPDLlWKab6QdNj6CLO9scVIZNv55oRjAlawEkAOZTckQqX0Fl3iFZNvxURKg+AsSo+IbC1cLMlYHWQQAdW5efNf+gtT8+Tx0795qQF2tlNfZjv/GdvP+N3e+kobYfZ+HDOzN8Ibmi2Kgmpj/J25TVzVmsVBsanSIUx57+WvYpgq+q62ToBrqZxH38mIX1A2O6dWN3G40xuCcZdzLEwGrI0mRHfH4i5UJzq3llhR59M3xa2cDqbSI0uXMYMKG+pVqEJE6+WzsR/6fGug87iRW9fz9VFS1PbgbI7SfLfeop/gN4/PKM8X1fzhw6y3j0LMydxJ6gouptXEa8Va/hB; 4:3b9/3aAgFH5JgAw7GtZGYkZ2UlyHmxF40h/+L+UY9SJLp6tBF7CpXNQaL9xW9ufthSQ5yhw4wDLM91gbcMGhRW5FCwQ2qU4phqTrKag4+yHPFmsSZ54cPfrLRuv8sGJTB7mLgi8pjhjTY3WVLZjpVCNnyOy8XWVnVOwIYuyOd9ak2S3qc6ocCYqh9UWTqxJRb11Vt4pzZef1ElmwnqRbU/AIYLbBmrDnmYE1um+Jm/mxXkX5lCOEzUWbv/NZRFTc4GaPiv3jdH0XhGz+BWlMtg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:VI1PR05MB4191; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB4191; X-Forefront-PRVS: 0682FC00E8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(376002)(39860400002)(346002)(366004)(396003)(199004)(189003)(478600001)(86362001)(2616005)(476003)(36756003)(956004)(11346002)(8676002)(118296001)(6486002)(81156014)(81166006)(8936002)(58126008)(16526019)(4326008)(107886003)(486006)(446003)(53936002)(386003)(6666003)(52116002)(51416003)(26005)(105586002)(16586007)(316002)(106356001)(97736004)(305945005)(25786009)(2906002)(7736002)(6116002)(3846002)(5660300001)(48376002)(68736007)(47776003)(50466002)(66066001)(6496006)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB4191; H:t540p; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR05MB4191; 23:I/gp2+lmTh9GVkMJx6M9xmcBnWepTAD/E5fGCK6kD?= =?us-ascii?Q?SsUTuS/OyjqgOMpiekIRJCf2DmUcuqL2LnzPE3GXYtNnLYftXrqM59eKiLXm?= =?us-ascii?Q?7oX8RZoGsN3EtgtR8pkvr45IJLQRUbLG7ZotOzJR9NtdCPFqW1M3NFyvLug8?= =?us-ascii?Q?FJS2TrCZ8f5vMCUIFUU7dRdspqmtS180SAtpoQy+//U1dlqwvrhBQ/8lpKpD?= =?us-ascii?Q?4TvRZDkuSxKGB6fNtTge/5MZQHFSQxb+Lw45lt+izF9Q06WXZxqAobJIIhks?= =?us-ascii?Q?V+0/QioZK82G+5tUy5tqTkV6vaJuFIZs6RqgGV+pJ70eFWLoZydlL2wMxrIi?= =?us-ascii?Q?zJH5Fi5CllqffkbCDe2QcSAAHtdTLv22McyEyTue0U/G21wq1E2ANL7mwKk0?= =?us-ascii?Q?1g7iD5/tSb25+iSBu+vlv+PSf/XlIY2fS6XKzxLONMXbwwxGJZmtY5B1AIzZ?= =?us-ascii?Q?6FiJEYlG8rThq29ZM2Ee8mvS9d5EkG1/Zy66GxQ6+91n/vcQWknljwrDz/US?= =?us-ascii?Q?Y5m3BrfB6+xVW4QkXq3mt7y/0t1b/GcXTkDfB0XYHxO7PPDWfZeh1w6yw/K7?= =?us-ascii?Q?YBzZcL5P/Kf1GV1dACFCemUD8d7A8RJqm6pVnjNIlUoz+ijqv6leN2pyFkSw?= =?us-ascii?Q?rdMfsfMfXJw1koZWMCar6m7i7DfAU5ccXaY1lL6yZ7y3Qm6e4YbWZK1BwLva?= =?us-ascii?Q?W2acIQZmwGr3NETsctv/DTBsDvDAXlGRXWbwsN4lV95TEX1Pn2wyYRqCEYHr?= =?us-ascii?Q?KxDXyAvG7X+FanNEPoSfo2imvNJbn5G+eIryj48TyxRtgap4LOfPvum3a6dm?= =?us-ascii?Q?ilOLcMwbEprcLtpKEkHP8YAf0eiWEcamKjoLB58/THhiPdkOb1fUS6Pf8GRn?= =?us-ascii?Q?zePQVcOXe+CvBV2kDHkcLgxoEfyux/d3xdkn9tBSvDfYzpvtSasnaBch/VRb?= =?us-ascii?Q?qnaq/rei75UVddFkZ4CFitegafQf+xJW0Wdt9zDjQcL8BxmajqDPizMxr9ma?= =?us-ascii?Q?qWqQMLn3OTJKmpBF6Rxjuy0NVZ4fgujorm4lwfDHAzUIODYLErmC1U/YKop9?= =?us-ascii?Q?LPRvG9S6IUs7Vb23z4wMN8i/1YG9OPscaZbBcY/xR3ismBZW9XUT16WECG/M?= =?us-ascii?Q?wsyADY1CIVcaPe2awDgDkIHO5QYzuaRkkBbCbQOqB0aDFZV92iU8Q=3D=3D?= X-Microsoft-Antispam-Message-Info: aVWkIrcss9ya8y7eEqdR3tML3NcHz7KX4yiznS52ZBvzmiU8r3tF8xnMoEebGkyoedSJINKyAS2gOKHJw9kRqfCImtGF5D7gSs3I8Kxbl9vvz8DlvHckGfPT/W2OUP7tK//qM7xqX0127E1LodxC8ylRNfMPkWPAY6QRu+yEPhWcTpLE69Rpbt3armdewSdy X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB4191; 6:7caJu95rJAXyMHsKC1RecrQ+Qo6KeaSy2qv/Q9COp+g7JpZhTYgdnTsP64n5Fhc8H3bBWlykgEqGZTYSu6zAKFa9bgGaXgtb0m4+SrQN2cIZt80sS0M5zZHGdPH5KtetnaRlGSL8Ta1raM/cbilJIijY/MVE2gOvmLLDGLTxmDcfUcddWdHj0V9z27mDV+bBfDdjbEGoF/wjiNzg9difHCA3OQftiu5Q6vZt9A5Dkwt1GlXilLiXyW25miqheeIzJH7jTD0o4aB3oKum3xKd5IklNs0laMK2dX4zGy3Fyszt1TaNRazqlL0B7Ev1n3GhTR1Up82N7hVgYtX3RqzbS+KCLTpyO3K7X3+efqQ6oFqq4xeZfaSYkSPx1vnyCG/85ibgy8DyuCGHpE+Xu8+CI4WzVhcsT3C2W8YXyw19TfkEyd8HoarwnFbYoNtkqfILGw2RUTEMFB8D5UjTqxYg/w==; 5:wmXx60Js6TIccjm6iTP8yfGpu4nr+GUlAcZJTutdB81i7PxFl4v2LZdJwTd1qidHNDEPqtM02N6BXXV5ey/WY9IvNay88CK49unQPN8eXyZsYIvVjNuCiOW4sWgsiaY5mJ9cuxJ2hnp0X49JU0k8fv0Vw2iHGz+3m+G5AbnGxpY=; 24:kkgHXzi1DG82x8fETSyqVM8iV8aXKzbmPEWQ1/IMLaUhU05n4PYb7SU+5R+LvjtqQ0RQz9v/LO7xw8KO2flebLcUR+W+YpzBwamuKMuRgzc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB4191; 7:Ybytb4DgGMs7eN55fSAz3OAeSFjaAaRsP15o6JjzUc1AIjGnAe0q9s4apgzMGtmgLhcpQL2Mb4TU0Oqz30ExGpmqRLlritbBOBYjbaP/5ds14NdoK//Bvzn0IKg75xXnakjDG0ACCoztBka3DT6iDnsTYrZGMuqUglAdIoLPzryIAazTNtT1uNg8SLwNyNceScmX5A/93gXiJvI1iT0aec106Sck4Ic0rLG6Zwh22ZwHAauqtb1iQxTx2zoK2ixB X-MS-Office365-Filtering-Correlation-Id: 528adc48-4905-4e74-0dfd-08d5c18272fd X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2018 14:27:15.6420 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 528adc48-4905-4e74-0dfd-08d5c18272fd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB4191 Sender: linux-kselftest-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Move generic parts of mirror_gre_topo_lib.sh into a new file mirror_topo_lib.sh. Reuse the functions in GRE topo, adding the tunnel devices as necessary. Signed-off-by: Petr Machata --- .../net/forwarding/mirror_gre_topo_lib.sh | 53 ++---------- .../selftests/net/forwarding/mirror_topo_lib.sh | 99 ++++++++++++++++++++++ 2 files changed, 108 insertions(+), 44 deletions(-) create mode 100644 tools/testing/selftests/net/forwarding/mirror_topo_lib.sh diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh b/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh index b3ceda2..2534195 100644 --- a/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh +++ b/tools/testing/selftests/net/forwarding/mirror_gre_topo_lib.sh @@ -33,29 +33,11 @@ # | | # +-------------------------------------------------------------------------+ -mirror_gre_topo_h1_create() -{ - simple_if_init $h1 192.0.2.1/28 -} - -mirror_gre_topo_h1_destroy() -{ - simple_if_fini $h1 192.0.2.1/28 -} - -mirror_gre_topo_h2_create() -{ - simple_if_init $h2 192.0.2.2/28 -} - -mirror_gre_topo_h2_destroy() -{ - simple_if_fini $h2 192.0.2.2/28 -} +source mirror_topo_lib.sh mirror_gre_topo_h3_create() { - simple_if_init $h3 + mirror_topo_h3_create tunnel_create h3-gt4 gretap 192.0.2.130 192.0.2.129 ip link set h3-gt4 vrf v$h3 @@ -71,49 +53,32 @@ mirror_gre_topo_h3_destroy() tunnel_destroy h3-gt6 tunnel_destroy h3-gt4 - simple_if_fini $h3 + mirror_topo_h3_destroy } mirror_gre_topo_switch_create() { - ip link set dev $swp3 up - - ip link add name br1 type bridge vlan_filtering 1 - ip link set dev br1 up - - ip link set dev $swp1 master br1 - ip link set dev $swp1 up - - ip link set dev $swp2 master br1 - ip link set dev $swp2 up + mirror_topo_switch_create tunnel_create gt4 gretap 192.0.2.129 192.0.2.130 \ ttl 100 tos inherit tunnel_create gt6 ip6gretap 2001:db8:2::1 2001:db8:2::2 \ ttl 100 tos inherit allow-localremote - - tc qdisc add dev $swp1 clsact } mirror_gre_topo_switch_destroy() { - tc qdisc del dev $swp1 clsact - tunnel_destroy gt6 tunnel_destroy gt4 - ip link set dev $swp1 down - ip link set dev $swp2 down - ip link del dev br1 - - ip link set dev $swp3 down + mirror_topo_switch_destroy } mirror_gre_topo_create() { - mirror_gre_topo_h1_create - mirror_gre_topo_h2_create + mirror_topo_h1_create + mirror_topo_h2_create mirror_gre_topo_h3_create mirror_gre_topo_switch_create @@ -124,6 +89,6 @@ mirror_gre_topo_destroy() mirror_gre_topo_switch_destroy mirror_gre_topo_h3_destroy - mirror_gre_topo_h2_destroy - mirror_gre_topo_h1_destroy + mirror_topo_h2_destroy + mirror_topo_h1_destroy } diff --git a/tools/testing/selftests/net/forwarding/mirror_topo_lib.sh b/tools/testing/selftests/net/forwarding/mirror_topo_lib.sh new file mode 100644 index 0000000..5b787972 --- /dev/null +++ b/tools/testing/selftests/net/forwarding/mirror_topo_lib.sh @@ -0,0 +1,99 @@ +# SPDX-License-Identifier: GPL-2.0 + +# This is the standard topology for testing mirroring. The tests that use it +# tweak it in one way or another--typically add more devices to the topology. +# +# +---------------------+ +---------------------+ +# | H1 | | H2 | +# | + $h1 | | $h2 + | +# | | 192.0.2.1/28 | | 192.0.2.2/28 | | +# +-----|---------------+ +---------------|-----+ +# | | +# +-----|-------------------------------------------------------------|-----+ +# | SW o--> mirror | | +# | +---|-------------------------------------------------------------|---+ | +# | | + $swp1 BR $swp2 + | | +# | +---------------------------------------------------------------------+ | +# | | +# | + $swp3 | +# +-----|-------------------------------------------------------------------+ +# | +# +-----|-------------------------------------------------------------------+ +# | H3 + $h3 | +# | | +# +-------------------------------------------------------------------------+ + +mirror_topo_h1_create() +{ + simple_if_init $h1 192.0.2.1/28 +} + +mirror_topo_h1_destroy() +{ + simple_if_fini $h1 192.0.2.1/28 +} + +mirror_topo_h2_create() +{ + simple_if_init $h2 192.0.2.2/28 +} + +mirror_topo_h2_destroy() +{ + simple_if_fini $h2 192.0.2.2/28 +} + +mirror_topo_h3_create() +{ + simple_if_init $h3 +} + +mirror_topo_h3_destroy() +{ + simple_if_fini $h3 +} + +mirror_topo_switch_create() +{ + ip link set dev $swp3 up + + ip link add name br1 type bridge vlan_filtering 1 + ip link set dev br1 up + + ip link set dev $swp1 master br1 + ip link set dev $swp1 up + + ip link set dev $swp2 master br1 + ip link set dev $swp2 up + + tc qdisc add dev $swp1 clsact +} + +mirror_topo_switch_destroy() +{ + tc qdisc del dev $swp1 clsact + + ip link set dev $swp1 down + ip link set dev $swp2 down + ip link del dev br1 + + ip link set dev $swp3 down +} + +mirror_topo_create() +{ + mirror_topo_h1_create + mirror_topo_h2_create + mirror_topo_h3_create + + mirror_topo_switch_create +} + +mirror_topo_destroy() +{ + mirror_topo_switch_destroy + + mirror_topo_h3_destroy + mirror_topo_h2_destroy + mirror_topo_h1_destroy +}