From patchwork Thu May 24 14:27:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 919892 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="ddwN+6pH"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40sBYH02Xwz9s08 for ; Fri, 25 May 2018 00:27:30 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1033279AbeEXO12 (ORCPT ); Thu, 24 May 2018 10:27:28 -0400 Received: from mail-ve1eur01on0063.outbound.protection.outlook.com ([104.47.1.63]:8603 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1033272AbeEXO1Y (ORCPT ); Thu, 24 May 2018 10:27:24 -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=sMHiGgF8rNzNQq71f16v84a1oLQv5DKnku5OX88vQYI=; b=ddwN+6pHY8cwx9xjfmz6LKl0faWJHIF1PyC0ATfWpxISo5BGvAllU4dAmBwnO+QenkVdtDJzCdqyvvhNFDh/2yW8oPKSIUJaF//oEOY3CmMFRAkWwgL9wwM9RwFZhGXoqC1ognjxMhVN3Yaw1AfBSMlrZenQTiNFr99coFoMT+A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by DB7PR05MB4188.eurprd05.prod.outlook.com (2603:10a6:5:18::29) 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:20 +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 02/10] selftests: forwarding: mirror_gre_lib: Extract generic functions In-Reply-To: References: Message-Id: <2f771a18324d9d904fc3e50600dcf8793fb6bd68.1527171860.git.petrm@mellanox.com> Date: Thu, 24 May 2018 16:27:16 +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: LO2P265CA0037.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:61::25) To DB7PR05MB4188.eurprd05.prod.outlook.com (2603:10a6:5:18::29) 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:DB7PR05MB4188; X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4188; 3:YquklcpHMhr0mwM02/rH4zgn7bBo0Z09Uj0yCgNMrZB+4n42MHzJeMQ2Ds53yIREmxLlZVvhg0LShpE60sBb4QDZG7/TuRUtpNNZcz/Xpp1yYemDxzQoFAiuQHdU09Thb82dk2Kyd1cotzss+VlkK5swTiBpXvFvVjqWRRILRusgMdzW4m2wqHSyOqCfcoe1CIoUrwi4U2+CHGJ5+UxaLEMTog7yND7AJ/JWmsGmK9aMvb61spaIpvuwsu+SUVxf; 25:TybLIRDJKxqqCPkBeDrHzbgioZq08eta6gK2uJnzfBphr/jL7dkSTXhz2E7tY59F9uuhRvhW1LwfhnxOuF9pWoq/iOIi3fi9etNmNeD4buYkDTW/r8KejadJ63/f3T/fgSM8Hn3EEugYCTBjfpdzuOu9iTI10ed/mRTtgbVa1d8hpbbDOi8jrgBymnIxquycrX5h6L/Z4fHcxYi1Zjg7t8CW7q6ObvMmRBo0Ruo9W4LKu+G/CL+7uI2OOKjgCTgEqOv6c/P5iomDZjuE0itc9btyH/j/MskzICKZPyVT3ZkkPqX3zGh/4kkdX4vyG8T2T3LUN89lEwDmloipmNFLtw==; 31:/+Dj0yMCE+hCQdoz78njVgqFqxwG80NmLyRfiwbeR7nzAdzBGI5Mk+0qqlE2KUktwhW55ar1cGt0TL9Srod3aqC4MJJkWNp1LidZXYYCzkjchat7CvKvnEpVNTleWB9LFzK9MWe/E30zB/oHVVb9ZcdzW5iMwqHSVdtwLuek52qxXvNOJAW0XsU/tjdiyOZIKZKojSoPZM8gdKC+v4Wh4Wc61COU3nH4f+OvPHH9W1Y= X-MS-TrafficTypeDiagnostic: DB7PR05MB4188: X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4188; 20:zSVi3JQC6knN+lS22XWyGS8/neXsoQOAHW8EnX8xWjDGoXx+EUef05blDdysY1Dkx6wmNIG+XzEukIj1ZZ3VokwohywrhkKK2GGW7vD90CmZGHlB5Yt+4gLHaAlBwxvx8rhxj1JOJMojRJ02e8I7aylzVke0zvB/Fv2iwTTgmTVYwdTtEBBFPrHfPdDXbKkw+a1Zqskg0C2uHiz5ouVrLLVOvvdzZRbcGmXbW9Nsx5FoYzjOU9gxCjj3XCXfZPDkj8T3DLEgc0rjbE9TrgSDKHAzSB6wdHfoqlijilLv68F9wgoUym3vvrL/dhAr6vfHLQaaoAMLiRIw6crPVAWCTRznVjex8XyK+8uMbaAeue1OXLv2EkPdGeApi3jaQkZKDBkFLg6XvwSYwZ1oKkHTIqGd6iSrmay6zxOg3sHLTMm0FJIl+zu/r16myjWDMMI984gpHULTO/zcINPLlQbKscZ8oh70Cj2Tj3ptHiQVuPd21UHh5zw1U9cywtefDKb4; 4:oQaWUHkt2czH79nmidGHrz+o6Sdadn1zK2j9Gf5ZP39qUUR7fgKM1NFfdan4kOdR6wdJoXMzhmllva+1OpFQ/ryObQ3O67HMu9EJVYf2nPggCQ8VfJRV+QjJk9NQVwRsWS8Io1E7jVjSg8b8yGNeni2YQiVyiYKtjaTZSZgokh6eBUexTjkmwCPx2chJLADqpGswteYaGnT4Ov3fVqvAZBB4Yeo/QnuxHUDOc/zDp5i+ITKdXYJp/TP9mwvonRFkSLebQXGJtUukbx8alb174Q== 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)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123564045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:DB7PR05MB4188; BCL:0; PCL:0; RULEID:; SRVR:DB7PR05MB4188; X-Forefront-PRVS: 0682FC00E8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(366004)(396003)(346002)(376002)(199004)(189003)(6666003)(386003)(97736004)(86362001)(4326008)(6496006)(47776003)(6486002)(2906002)(36756003)(26005)(76176011)(5660300001)(51416003)(52116002)(478600001)(107886003)(3846002)(6116002)(16526019)(25786009)(2616005)(956004)(476003)(58126008)(486006)(316002)(53936002)(16586007)(8936002)(68736007)(446003)(66066001)(11346002)(8676002)(48376002)(118296001)(81166006)(50466002)(81156014)(105586002)(106356001)(7736002)(305945005)(41533002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR05MB4188; 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: 1; DB7PR05MB4188; 23:85W4Vr8+wN0FTlwdFFuBUbSfTGYGQU5FSO5ecMnhTxo0672hCVqGedSar4ZocwmCx9SvV5C+JlOj5c1TzuBvFqxWMvhJ7Wp63ss2PugNNvIsQ2NzyKqBy2tZHKYAxIy5i/NrXyTw8PqQG2W3KV0irA3S0iwAV8QxsJIdETSPyNoR1Ls7OscVYP5d2s92bvoA6MrTCxrYpDoHCu8+lj19sgTiQOhI7YwF0qOITDuMmnI72ZGhYZdVIiLZYk+burL9Utmrfu1Jl5onkJeop9NpoWA3iR8vhAmhk3KXUyQYhQhadIU0FQubpJGRMK2SLmAo5ZgJL4KLYmk8CKnAjcbHhdtywIN2S/ygGmu5UnKiXACQ2Nw4ZMAm4S607FKvPS6yXvCRdunfl9yb9HI8w7ckXsUiwKRZfpE4rOuXVg0bvEy4IiB7TD0gFr6/DM0B8SE0nG9Cd+1KEq7q8KLxoEOFnW3lKC0XgINGqxPKdaw3U7f9Qv1Z7wKc8c4fGQb7XU7WHAIa1Ycc1Rl7TwQ1xv5OsYbFCVyPVbHEYwZhgmUwz265rmBo0BCT8DzqVpHijSCwLsFcPzA4IJiYWgHyUJx9POoBbWlpcd6qqXbGu9q+gjoteWSph5Ly0czKmmx17k9UJTZpB10ZSnIsXMkCIqbt/lIo7OA4gj3XjD2ebn9OizmcgqrNJT35Ui3MVd1W7w3oN6v/bduIL04xt8ojNETPtbZzL6guhklfORGT9KIehfxb/0UaCywvmagNi5j3fdsh8lwtFhXeE23McF4xkg9iEd0k5JXnimhrzg/NPXooKc3AStg2RkEKlG0Rc1voir+UqonvCqeVLvcmSv8UTbY9amLlTX5ZP4arwbL0pJOZwSkCDR9fS77WZZPbQOFWNxPcyFkVF3vFwn3wxGhgbQ8cIIXvpLH1RruyrzhN03tj/1sTjx5jKD+bG77DTE9yaKJmGzcioTSlX+8WXYwR+OJfxRxiDebQi95VCD0JWpBFSUvMyAuQTYRm5r8fVMF4quRTI0KjKRznEePdZxF8GXwDBHWqQSV8eyhCaX+uR4g1BZlyRmOJ9zXt0GVuZ2v7MZFdLrafsV709haA07/4+7EFLTOGDrJ6TGpLtEZ8VB7Az1qxpyrq7z9Qp0HmMjbENuXbpI/VsFvAs310upzX5Si7vZUbo+tRVPgm3DjzBTX/2gQ= X-Microsoft-Antispam-Message-Info: kTsINDQHloiWEEOTlddB13gMkQ8g1vSPv3gp3zk7U+CZsqmn1P9TMgLXA8S6z5QiRiLXxeW26huhJrfDMxTqV4DxBR38aYuTUAqa9M0ia7Ni5RLL8MMSAybTPjwb25CzdLYhT3RnOdoL4rRuZDkLTvKj/DV5qAzo/323VnNgCO9r8tTYIQz9QoP9Q7mirh9N X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4188; 6:BxwxHW+KwxB66eQdCL0P5zLi4mi+ZnzpoEYofsRFsczNvaynkATTe55cbCaZFixOIY4S7JkNFLfzj+uhHi8hVqk9ThKcRVhYYuY2HYRw1OpoH6iHRkXrgB0XK6zEEcdseAv0y1SAKBnVRS2i/Yo/ejadMZaAl7ZlQva2VtpHmRkstZQKwinAZgzYqV2Rpnu/D/niXjV5j1lr9Sw3Yz28Vhnz1Lvl/DymCeaYulam8XjGBiTKPX6XK63jSZSECtDg//69D5UpVzZq7IQXU2HPv/d8YQsgRkF9VLLPsvToOtQB5QGRvdr4RuBqlZXE/BmvnrLlOVh1n2aHB2/7tUBIuiyDnVovDNmsvMeqo9SUCMc9otBlGU8faUpGYmt5xe5A6gT1N3nMda+o+l9m+LCZeMbhkiu7aTbxko6/EHC/fAYLQFbPXcHTDpxXOyjSqTf7cgD7AvmvFXWzNBTAvWdoyg==; 5:oCjSlXbDQir353r4b7lv7+l4so8vxYDeKghXzsP1m2uoSmUY8ukGnF4Eh9lv4fxKkrELUiFBzPRI1KNHEmaGLBXOEYbspeX+BykKCKiNFyJUU/7QMawCto0K7dSZnlnV7NzIn+cc4AlF1YhwteXqF6RbNz6oAQ5aMoMnl5eedsQ=; 24:1ls94qCe7sxuhI5wc1tD/W7HTI7MkEakyxxJy+sEHYQ8oaJ/6DAHZexy38NY5etp9zSZD7Iw1eD9fGi4R04BOd/a70tF4FcY0EFbF9MeVQQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4188; 7:HqLkJeSPq62SyNdFmAPcCTDRg5fxBHYnm8LKnJmfWXdw5aRJkl36Lg9RPjXr5TaxQCxTlwGnfYcx48DbVcV+VEtGzaDLQojTTzCVLO3S2FhULCZw2thXRK9P514BE/0uBFVoxZj5r8M0jwsK6UDO1QYtuV7mQk20m37PcMfPu0GUv8VGxOVXvGTaxr1nFAEu33YHidZoBlcIPfv2Pu/PGz2Pny0sukEhZ7OhiVVcuGEdHoMzbjoXmrk3YCRqGcfh X-MS-Office365-Filtering-Correlation-Id: 3e00f34c-c422-49a7-aa8d-08d5c18275cb X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2018 14:27:20.5234 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e00f34c-c422-49a7-aa8d-08d5c18275cb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4188 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org For non-GRE mirroring tests, a functions along the lines of do_test_span_gre_dir_ips() and test_span_gre_dir_ips() are necessary, but such that they don't assume tunnels are involved. Extract the code from mirror_gre_lib.sh to mirror_lib.sh and convert to just use a given device without assuming it's named "h3-$tundev". Convert the two above-mentioned functions to wrappers that pass along the correct device name. Add test_span_dir() and fail_test_span_dir() to round up the API for use by following patches. Signed-off-by: Petr Machata --- .../selftests/net/forwarding/mirror_gre_lib.sh | 41 ++++------------ .../testing/selftests/net/forwarding/mirror_lib.sh | 54 ++++++++++++++++++++++ 2 files changed, 64 insertions(+), 31 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh b/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh index 207ffd1..c7b2cdc 100644 --- a/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh +++ b/tools/testing/selftests/net/forwarding/mirror_gre_lib.sh @@ -1,47 +1,26 @@ # SPDX-License-Identifier: GPL-2.0 -do_test_span_gre_dir_ips() -{ - local expect=$1; shift - local tundev=$1; shift - local direction=$1; shift - local ip1=$1; shift - local ip2=$1; shift - - icmp_capture_install h3-$tundev - mirror_test v$h1 $ip1 $ip2 h3-$tundev 100 $expect - mirror_test v$h2 $ip2 $ip1 h3-$tundev 100 $expect - icmp_capture_uninstall h3-$tundev -} +source mirror_lib.sh quick_test_span_gre_dir_ips() { - do_test_span_gre_dir_ips 10 "$@" + local tundev=$1; shift + + do_test_span_dir_ips 10 h3-$tundev "$@" } fail_test_span_gre_dir_ips() { - do_test_span_gre_dir_ips 0 "$@" + local tundev=$1; shift + + do_test_span_dir_ips 0 h3-$tundev "$@" } test_span_gre_dir_ips() { local tundev=$1; shift - local direction=$1; shift - local forward_type=$1; shift - local backward_type=$1; shift - local ip1=$1; shift - local ip2=$1; shift - - quick_test_span_gre_dir_ips "$tundev" "$direction" "$ip1" "$ip2" - - icmp_capture_install h3-$tundev "type $forward_type" - mirror_test v$h1 $ip1 $ip2 h3-$tundev 100 10 - icmp_capture_uninstall h3-$tundev - icmp_capture_install h3-$tundev "type $backward_type" - mirror_test v$h2 $ip2 $ip1 h3-$tundev 100 10 - icmp_capture_uninstall h3-$tundev + test_span_dir_ips h3-$tundev "$@" } full_test_span_gre_dir_ips() @@ -57,8 +36,8 @@ full_test_span_gre_dir_ips() RET=0 mirror_install $swp1 $direction $tundev "matchall $tcflags" - test_span_gre_dir_ips "$tundev" "$direction" "$forward_type" \ - "$backward_type" "$ip1" "$ip2" + test_span_dir_ips "h3-$tundev" "$direction" "$forward_type" \ + "$backward_type" "$ip1" "$ip2" mirror_uninstall $swp1 $direction log_test "$direction $what ($tcflags)" diff --git a/tools/testing/selftests/net/forwarding/mirror_lib.sh b/tools/testing/selftests/net/forwarding/mirror_lib.sh index e5028a5..04cbc38 100644 --- a/tools/testing/selftests/net/forwarding/mirror_lib.sh +++ b/tools/testing/selftests/net/forwarding/mirror_lib.sh @@ -38,3 +38,57 @@ mirror_test() ((expect <= delta && delta <= expect + 2)) check_err $? "Expected to capture $expect packets, got $delta." } + +do_test_span_dir_ips() +{ + local expect=$1; shift + local dev=$1; shift + local direction=$1; shift + local ip1=$1; shift + local ip2=$1; shift + + icmp_capture_install $dev + mirror_test v$h1 $ip1 $ip2 $dev 100 $expect + mirror_test v$h2 $ip2 $ip1 $dev 100 $expect + icmp_capture_uninstall $dev +} + +quick_test_span_dir_ips() +{ + do_test_span_dir_ips 10 "$@" +} + +fail_test_span_dir_ips() +{ + do_test_span_dir_ips 0 "$@" +} + +test_span_dir_ips() +{ + local dev=$1; shift + local direction=$1; shift + local forward_type=$1; shift + local backward_type=$1; shift + local ip1=$1; shift + local ip2=$1; shift + + quick_test_span_dir_ips "$dev" "$direction" "$ip1" "$ip2" + + icmp_capture_install $dev "type $forward_type" + mirror_test v$h1 $ip1 $ip2 $dev 100 10 + icmp_capture_uninstall $dev + + icmp_capture_install $dev "type $backward_type" + mirror_test v$h2 $ip2 $ip1 $dev 100 10 + icmp_capture_uninstall $dev +} + +fail_test_span_dir() +{ + fail_test_span_dir_ips "$@" 192.0.2.1 192.0.2.2 +} + +test_span_dir() +{ + test_span_dir_ips "$@" 192.0.2.1 192.0.2.2 +}