From patchwork Mon Jul 30 14:39:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10549177 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 332E614BC for ; Mon, 30 Jul 2018 14:39:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2361929EFB for ; Mon, 30 Jul 2018 14:39:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 172F529F0C; Mon, 30 Jul 2018 14:39:59 +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 E875E29EFB for ; Mon, 30 Jul 2018 14:39:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731902AbeG3QPO (ORCPT ); Mon, 30 Jul 2018 12:15:14 -0400 Received: from mail-eopbgr20079.outbound.protection.outlook.com ([40.107.2.79]:21843 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729224AbeG3QPO (ORCPT ); Mon, 30 Jul 2018 12:15:14 -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=roBLgH6NASWdEk8LJES/dvj/x/STWiHZgpQqXgIupGI=; b=xNmO34sJoGBodNSwNLwIUUImgjhM5+0ah/1iDefmjsoFTy1AxVZbBtoHDBfYHZAXj8m9Cckru2GI9l+lPPstxNd0ZP6oq5+oV6fgimNYZqIAVTjPTqNHVRCPoxfZKrTaDNYzrtnyAf2qJSWJtmNohFZGZNA1iMKoN0sxpnX0eHY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by DB7PR05MB4186.eurprd05.prod.outlook.com (2603:10a6:5:18::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.20; Mon, 30 Jul 2018 14:39:51 +0000 From: Petr Machata To: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: davem@davemloft.net, shuah@kernel.org Subject: [PATCH net-next 1/5] selftests: forwarding: lib: Add require_command() In-Reply-To: References: Message-Id: <1e938f8458821359f085a0815df487581b0da159.1532961216.git.petrm@mellanox.com> Date: Mon, 30 Jul 2018 16:39:46 +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: AM4PR05CA0022.eurprd05.prod.outlook.com (2603:10a6:205::35) To DB7PR05MB4186.eurprd05.prod.outlook.com (2603:10a6:5:18::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ddf208e4-de84-4733-f689-08d5f62a4efa X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020);SRVR:DB7PR05MB4186; X-Microsoft-Exchange-Diagnostics: 1;DB7PR05MB4186;3:h4lzJUEfYgxXcK5a7uSxM0aCIVrTH93a2feFVpIVyGJPCes9vWABck0eQeUS0aQLTvyP5ANWO1/8YVBV4CiIrx6JeRk9Tpx41x8ueUhvwSWV5UVO+a9PC1TGzZkrLMJSk+lnvtTr8yS+zK2j5dRkVOq5cGpVFEi6ITu9LEjV7Lo/yMJuapugUcrPyizCmOPGxawb9ijOgFGi2y+k0dkjsYvyFR2ooexV8BhobLxt8oEYmLLYezYhMbm/3shTYwKh;25:AwtFz6BpYJFnLBgebDWB7rs+AHnArAHLeO5gRvUTg73EYKu5YOfVLnDfxxXXtuegx4+sKBvZaobdKCEQAeIz+udFxnkjXPAka0n0DDCRjmqyHD4ai7VWm/WwVhnHISQdbXk9QLJ0jFmsMd/2jOymIyzEOVmGpl8mb2YLqarnELxOZSp6LD8Jwz7LiVgTTKQfGxnltK0Yq34gE3PqObt0Kwhf8EDkRZkcxWnSxzPmpxC/fhjQ+yT9R8GwG17/Z1j+BZHXieJwG2makh/hGDwyuGxm5xypSgbZpm+QJ1+QKrUUK8ycbAL0YYr7/FH8hnAlN23/4wVIetFNq8H6zCrqsw==;31:/uNEp4jiEo+MMlfjkYr7rL4I0OGX2OV4RzbgyHYbYBqlLiYGRrbLT/vvpRSdb4xMgj11ObdcpXFZzR9Y0qMxTz0MHyM7CG/hlA44sjlk7BQQFd2v8a27qveQunjcCtX2bOftDcpTN659vils3v0YHXWbThUPSH2rqfdktCfaKvYQowsgzQ7szaiZuoUOaz++StcFe1r/2dtHmqKJNxTQmj+am6oG7y6TcOw8KqruKKg= X-MS-TrafficTypeDiagnostic: DB7PR05MB4186: X-Microsoft-Exchange-Diagnostics: 1;DB7PR05MB4186;20:Qf5QTaTjTpfEJzIDHb/++Siv3XefBT628929XyoRPO3QU510r51Q8uKLhAeobZSsBHFngN0l8d/JekoeBT4WHYsH78stT4UkbjTxLkOSnq2eT+3GXsnXjqW6E0IlaUi/CmtM/Qod6pst1eFoo4rLIorR2h3HC10jLgmVsV+GeEEZbrHtsDIWbtAehpZoXTdNyfLFuB2C5suWaVp65Qo87mavXR/VtJXjFYvmna3nAEAT+GuZ0JN7I+uzAZlxe1xvIVPNk0mMerjidOdc/mzO4kKjRFb7KBBjH5saP//pZFZeM/A31dpnsJ/fnNFSff3HdQ1Mc+1hC9MMnLuR7CV8C28CtkHyC8qCdztjt7GtInDekb9NJRS6DS7fbcmOiqz4xITgYAT2rybREgJ3Q6MZut8UJB2cW0DSGa2kez1FQAkxqxSY8eQASeasMq24j4w7Md4oaE3mXbcnxyIlRrMh1cdL0bwqwwvvDnr4/3SAblhbtsotYogvMp4GvgVt9DvO;4:gdY2BUlqEs/NFJI9DvwaYTeRizu82A3i+hqmsk1dMr0iJ1x9ZiU6Tezr84rqGQz7R8cZMN45b75CACoyYGVX9B0gBZGUUCEAKG0wW613M0kHLyDe8f5qqKONkQDriK+yMM8AxmndUF8bxKHjwIsi/UCxjhSGsSZU/GERylBRvIbzMCAOV51/ycYQUSzXzEyJ3VQUISW9rkPEhOqkZEQYM7FV5xGO4FOV1WPhCuW1tjD8NfKjCT5xLkmA5YrJK8j9/e9WZlEZKd0EDSuRxNEtKA== 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)(3002001)(10201501046)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016);SRVR:DB7PR05MB4186;BCL:0;PCL:0;RULEID:;SRVR:DB7PR05MB4186; X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(396003)(136003)(366004)(346002)(39860400002)(376002)(199004)(189003)(478600001)(50466002)(48376002)(305945005)(7736002)(8676002)(105586002)(47776003)(66066001)(25786009)(8936002)(106356001)(81156014)(81166006)(476003)(3846002)(2616005)(486006)(4326008)(956004)(97736004)(118296001)(6486002)(36756003)(53936002)(68736007)(2906002)(5660300001)(16526019)(446003)(11346002)(6116002)(86362001)(58126008)(26005)(316002)(76176011)(186003)(6496006)(6666003)(51416003)(16586007)(52116002)(386003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB7PR05MB4186;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;DB7PR05MB4186;23:/zF6rmQDxMFtv2Bro2P+w2siEHp/gWvZpi//dRCuQRikidg5ZNb/OCJQy/eStBbvC/JeKHuWkIsUfkC2fIONX/u+UiRPNZZP5tyffxWdo8STKSHngqmZagjUs8hvwvpzOACN+tAkKnt8zsQYi4oIsClUavaVJ6z8dK3MMuxoxdVAIAMVkS+TBcoU4VfX+/CL+vgbTsrsunnFtWgU395qwFrrajvbhFGFMPH5DSr36RJnkeXCuyjlFycNkuRdvf7PbDR56jDPYqBwxyiWFeieUWI+653RY15bGP7x5MyTHu8XpESJgfZVckgSdbu09iRHd/hcdRjpZF7LYeGZfLeVS/xfWb/P0vmzgwrzOuBYwSGAPUrJM2yVIEqSPaH/BqdOw3kH51ym0qfFjZjKTW/lFtIpCpuT1Ihmsx8vqvN9Dtj3pOax7IXQoaN7BUDKk2gmldTuBIjF2nafpVFDSLg35hX0IbpfTLEfxz/rFfsA0qF1bQqRVSJxINhiAZ3+/G22EtwGGHJrUcwQuXuH1vwqQSWi0u/VmMAnm70dO+16NRNc/KL6BUXlcLaqLvfom+dyCPqmIdLt+vYiEFDw5VmlBJhtLxFkR59zd4zOXJv/kfxUif9MGCeO3siCRxto2Lf7wrrnEBrxVKCh7ZT9ftrXreNTJ17Vw9tdJ4Fa8ieG0U0nW0mjCFMMhQs8xGpMVtVxhgslxm6ovN7bCFMPCHmtd3PKXi5x21y6jEkJGU6QhHiWrKOEsH9c4i+itDujyXgi8W0darCSLljpMJzvLSJLS3tcwKfuXfTppIMyLrBv9F2MOxQfOeDSNKdm9KjtwTRniNWH+dL8Mq7FC+xmV9J/JQsp6/dCT4NZDn3/7EqykXAIEPhyNse45Uie7rHzvlyEnLeZ7cc+OKzlQgJ872CW4aBWXrRs1d1zByNRVgRc7zTSJ3D6ZasnAZmyr6fUaQCknDpkLq/anrf3iEKXfZ2l1Ur+irGXqYqXSpGvGsYTohOinplzTy+5csbWuyKtkLRI/dvSq3YDdJAelpvm3Q78Ooxgi0kP0F/d5KOjc3qLtUsyHCAEnlXMAzXWswSU0ozI6reSQDeMit0yFTqb4ACHatCtwV4M7xyusPaybcAySaQzfaJIkAFvRt2JhwwwuCAS X-Microsoft-Antispam-Message-Info: zJyXJRe929EZ5ueW2O2NJOFsjpk+7DUB3F0aAmzhjKlS366RIEUnm7mlpEBI/wghGb8vopV6ErGSYVVRFPNkCmxkzFCZ0gMsdIKr6+pj5vZBIQyDN+4E9yV/L5aq5lTaWP91QV5NSs457XX0U93Hp9gpvLG4QUrPCGwUdv2jliitSdu0yJocZ+nziDmXmtOoCtztrSEcl1lDhlQ6/kAmhyKzYayZGyT3RuRfJQnJdxYkHJeoixg/F+aV1qfBXPmmH+IO7kiA1OA6YFbs1LVyccq5tMZKMESyrvVCvCJgHCtiueuGhji9qnBQyFgF0DuXIVAYmdqfJ85Pt9SvdRxJNbDem/1ZMScfDPR4tHJf7kg= X-Microsoft-Exchange-Diagnostics: 1;DB7PR05MB4186;6:CPRzebjc7h2rrFxqxm7xcngC1XXoQKq3LENcvkKw3dWsCSQJHUd8X+RVtzk1gy07O3F1CYwNb5qLm1xzYH1i2vn3PrSJXAPVCiRuIEUiE3qOex8jNUffRZeHvji1i5XA1EBYr4Q6TRvP2q8JlipGsdHV3mvkXP/LFPPUfRQuZ/+G6SrH2RSDq/HqXJ9bw7CR9GN6kn+dHrhTmRuC7j/ExcI/mRDS96gISamGbUNivfGn1LcuM65NNkCBEPrTopCyBBCWaSebq34MDx6zJSDPOBvpk3AHm1rPHznaJIm0iqbJPqOyYgRkR4pW3ZQHxWCip/h4GSF3SFJVXkoH0D6fUmdEwoTnBez2mqHAugFZl6dlE5TD+lFECag11vNPgNwdY5bAQ+OgNLKdVE/Ff3HFlIJESZ2/alYVbwh4oJ/vBqDeILQlqfqYEDmDAoxbWCvePsKVr/bGmNX0fODw0S+5qw==;5:V08QWUWhQuGr9pm56YVlHg6xFFJ7BoY1NUKpYiHUMzaXAFWef1KuH8Q8APvZXL1X2HN4LHXfCiGdmq4iuXnRAXIcGQNB4IDx8nXKu+O1P4TfiaDCsQ9PPwwBZCo6bnbx6cLqXzUUwpRWkKl5Xe/WrWuAGNwIYlx7j7oEUupUw9w=;7:mPNSNwJ3aSSEYr+RaMjR/u5yyHDwH1tnev4lZU5nkhh3+GavPLPjZOZ7XzWoxBsBck/oN+dNXQ14zqCXYvpbYubG+8PWEG7Mr0F0xs0xqBmJjHSP8T4ajqfOd5qwo4jRJn1EFELBA84Jn59t/y7yRy3dGXF9apUMxitLCqSR2nuG5UuGoG5FQCbf1vxf9S84P2PTQwjStW9lE3LjMQfLfD2SZBmtteKld29YcKVroWKv0RiVrz8W7E/VFO6oal7k SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2018 14:39:51.3289 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ddf208e4-de84-4733-f689-08d5f62a4efa X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4186 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 The logic for testing whether a certain command is available is used several times in the current code base. The tests in follow-up patches add more requirements like that. Therefore extract the logic into a named function, require_command(), that can be used directly from lib.sh as well as from any test that wishes to declare dependence on some command. Signed-off-by: Petr Machata --- tools/testing/selftests/net/forwarding/lib.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index 158d59ffee40..81e36157bf16 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -62,15 +62,18 @@ if [[ "$CHECK_TC" = "yes" ]]; then check_tc_version fi -if [[ ! -x "$(command -v jq)" ]]; then - echo "SKIP: jq not installed" - exit 1 -fi +require_command() +{ + local cmd=$1; shift -if [[ ! -x "$(command -v $MZ)" ]]; then - echo "SKIP: $MZ not installed" - exit 1 -fi + if [[ ! -x "$(command -v "$cmd")" ]]; then + echo "SKIP: $cmd not installed" + exit 1 + fi +} + +require_command jq +require_command $MZ if [[ ! -v NUM_NETIFS ]]; then echo "SKIP: importer does not define \"NUM_NETIFS\"" From patchwork Mon Jul 30 14:39:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10549179 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8DFDD14BC for ; Mon, 30 Jul 2018 14:40:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7E57229EEF for ; Mon, 30 Jul 2018 14:40:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 717FA29F0C; Mon, 30 Jul 2018 14:40:03 +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 C82A029EEF for ; Mon, 30 Jul 2018 14:40:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731962AbeG3QPS (ORCPT ); Mon, 30 Jul 2018 12:15:18 -0400 Received: from mail-eopbgr60049.outbound.protection.outlook.com ([40.107.6.49]:30291 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731914AbeG3QPS (ORCPT ); Mon, 30 Jul 2018 12:15:18 -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=DAwbO29l3lAtDnLvnnb6NHArXPAT1WCrvBpvQJC8DZM=; b=QoMvW4ulxCW7giuHPYAS5NcnyZ0G87po/4npEd/KqoXz0o0ioO/JqdRK6l9B/BoQ2W9Otql8ahgMBCqci2VWikE9145P3gfaVNlLNCk8cs2QYbNdgHV5TN3pvdD/hhmrqwsZWQXoWFhAoNO/nniYfJYKXN8NWiTKl4t4geOVNqQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by AM0PR05MB4178.eurprd05.prod.outlook.com (2603:10a6:208:57::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.19; Mon, 30 Jul 2018 14:39:56 +0000 From: Petr Machata To: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: davem@davemloft.net, shuah@kernel.org Subject: [PATCH net-next 2/5] selftests: forwarding: lib: Support team devices In-Reply-To: References: Message-Id: Date: Mon, 30 Jul 2018 16:39:52 +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: LO2P265CA0064.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:60::28) To AM0PR05MB4178.eurprd05.prod.outlook.com (2603:10a6:208:57::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 955f2f96-0685-43bf-c5dd-08d5f62a520b X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM0PR05MB4178; X-Microsoft-Exchange-Diagnostics: 1;AM0PR05MB4178;3:AJiUMflRUzNrOEp6+SvZa8DlZnLoMJqw2hmJLKtZW4R9R8CwtqfCqQrGdFYBMEJIrUh6QwFHD6gjqw7A8N9tR1iSMvOO6omXEQdCgiZ9yUzktAjLllSA1Lv77TjLq8VWnEarH5Es777WyCss3Xbtqt9GCbDss0o9x5sP5e4vlcYtOc5TsURX0nVIE5FyG2gLlRVL74hCi24FHdwQPw6H74LxjAvcAOgJYkFNQAqOI1OrwuSYJkoVHiptFg8qRw1/;25:zzibmt74A7Zrwb8Zu9OEi9G0QFrjdcDyqUFjz7Y4xhHDBsWBW1fgi06ldEKh0aQ5gmDYFb8ZyjBNk7fIkMJJWsONY0A3k/Pa1pD5/JWpVui4+P2N19y9JY3SWeFY94brJvHMV8R2RlnGejzVI48yjPP1HF53MfLXjJBq+CEdjfRt/DaJ3CYRO4aqv0QpDRg3z6+6CUGkD5HYkdB7Z3Lx9tMFzUkIKMTlUc1Iu+TkWSA/k/0nLBDJvvk7t24yk/XmHzF1sfid9UP1MHcvwz/0CEYPIlgsyVWf/HaZTvb+M9Ev3AiepVcfV6VxA9ck2JwtrbARvPmsUowmHDsLwrXd3w==;31:eVtc/ogJmuR5fBDqLr3Jti1dWB/XDXw+TbghjbyD8zw8EEZJ4KDV/p0xiTQWUJSmiFiqJLdpN+Uy5HnadNhpJHmU3SOxwr0r/OvPoZW4OVgUQplN3f76ghq4F7009e3H6xpK4wbJgfLEuTpfzCbMdFRNCo/RjIFRf27epeYtzhRp1fz8Cp3TSF9ZYeJ0EaLox1Zc/YTqNbWA6KLAOkjfYSRkJIFPciNghlDHBez9/ns= X-MS-TrafficTypeDiagnostic: AM0PR05MB4178: X-Microsoft-Exchange-Diagnostics: 1;AM0PR05MB4178;20:le1H8qax24hrUaKfVL7esWhdlW13ydAgSnRAaMtmvEF2o27zRZqB9sXqi+kIo9jhbIlBI6Ih+TWykeSLAuXIRRODBc96KmBTMDOvoZkNZGePpqUVHd33a43z80Ln6x/X1nsdktoXbj6Z1gFPooGw2iirIEiHsOhCYRPrlk4oF3GVPyk1l46IG3FMCTkNZriSsh86Qa9x423mRHmUJPshamUXiP0RlAGtWLAPaaRIrvxyB7/s+6y8MgVT3IWgsKGd4DORexRz5SDd597G96mqvklRnxLVcVRtX5/YcTnslIMpSARZP1wDyrjxUxEOm8hWF2lhyANvzqzdS+OCQoa23dgpeqr+cvhitBebskyAiWCykbDS3U6Zmq+J0DKMIujL8XQm968fF84DlMvnEM2DhoxhSeBoKvFFDeeD2JewiFpxDMCNH7G672IfteIYt6VISpxlFtr3jAU9onjybH/MrsNWEbCizFvQJkBJEGN5XcYTXNF4HE6PLF55P2WsJtmL;4:hoIHGCf5VT687eq5sTW532nEwOfkbDPy5wNcIx/mc3yhLXL+Lt60TUhC/RJYNHTdAe/CTd9bn0AEr4mQZ0POJgIXrMYwNNjePlBBbgDFNlsHA1Lfy00Ev02fSatVgjzNM33wLCUQShJO79IrBIxAIH7XESvs6YID49stmgeCfkOv289cOcyuLC4Yv05OXujYhrFd2QPFegKt9jrEmSlC8dkkqwclNbp3nJx72A0h6+lVjYdTiwZXjMB/+1JdHc0GhPLiZornlBFUfbnLAPGXRw== 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)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016);SRVR:AM0PR05MB4178;BCL:0;PCL:0;RULEID:;SRVR:AM0PR05MB4178; X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(39860400002)(136003)(396003)(346002)(376002)(366004)(189003)(199004)(68736007)(386003)(6666003)(478600001)(53936002)(58126008)(36756003)(956004)(50466002)(86362001)(2906002)(486006)(48376002)(575784001)(8676002)(66066001)(2616005)(47776003)(476003)(4326008)(52116002)(7736002)(5660300001)(25786009)(81156014)(81166006)(105586002)(16526019)(186003)(3846002)(11346002)(446003)(6116002)(8936002)(6486002)(76176011)(106356001)(316002)(305945005)(97736004)(51416003)(118296001)(16586007)(6496006)(26005);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR05MB4178;H:t540p;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1;AM0PR05MB4178;23:wrrNlPodVUwbUc9P5dG5P43EIkFsuYndY66zbxQlfZnmVDDih/HktBOqrN3cNnMLCGc81bjpZhvGwIDXxXxVeVvPRladWA/14jI6nVORWjfQG3f99ra1QfYq6mM7lM4HMlnRKHImHtGig94OlKvSEtED0M3wfw7A+qQoyXSb+hXt5geFR8fu9iByUlTuWnRj5ZYmAKK6Rff6gGzltEdXu5mPHbO2d1md0QSsh/xVJ31JTFBxnN3Lx2U1trC/Vyoy3m/Cz/yRtsceCql6BqlWBYuyK2xoIiaCbpwFy40B0qT5jq+4yLoSZc6f8PbNoDnG6SGwuoDqx7gr3W8Ld5DLOoYAOHW/dsMY+U4o1w2NZFo9rEDBpKAV4hELonB3KxRZ4ZK6uPu4aWgG2wz/nB/ieD0dg6X6Dw7BlGEgVZc5MG9skr06QLYHnQMmZVfMm503mYy5AomMul+dhHKbJDC7ahcaNHJ3jffk8XPc3fsNcGiXnqtiIvBhHa66HzznOSIFPSg4asTghEr/zkd1XCtd9zT7NEiz+FDVVhv/ED/Kc41GIZ6rOEh5re/9nZ3F7Neakq7keTtBcNOTlH7wupvIFVxQcd06wZ8HcYhlJtlOxRtQqoe5kSvftaGE5u+6HH+btIlI2/SQJacswcndrJQ6bR3Bavq+owN/rdT20Ek8hg7f30fRrFnsqhLZbf8oKKARED4Nts/jyLBPtJm3DQLnYEvihYGcnXlfM02J9DfgyaQ17Ai97ER/pcadEz8TuX/0o/f2jEcbIanseE81WV7zzoU3y2vhFDhepo2d4qOSVnqJwBhvha6QkUu4dNdH6TcsuVbHQxS71DTOVZTJAFIIy2L5nTTLauzongtaaz+LpL0zYDFiA9vTXSiQ+RGzZwZxYHMThr8/M1lhsmqnfTz0qRtJop/TiHowFnIYdC332/QqEuUDqN5coqyXSbnRBgzsNF2LFOa/iDz88L9QKy5IweIuJI3Kk4LnZ9z8sFlgYc9bivEE7FjfFC0V29fXXnB/nRCx77eAJcdGAHbT1ut0megJLq/f1Emdl1rYN3m+K/9RCV7m9GPbjHSCV2JaOlOiEKyLJeYBDpuCty1lDHJ6QhbqsFJ0oFQVUDQFwBWPSHNvOcd5EkCzWirvCAleCrFvBVwFwc+HX77X1d3G4cpa+K6K4X6qaTbYCFsgJ0ym5tM= X-Microsoft-Antispam-Message-Info: tlBETDdmpOlUGMumQkPUGt7gghcvldMlvojmRrov5tZhjRUaGKr9v6y/9i2VFm8+w9FxiO2CeoGne7Ozxk1GqvURk2YQ1EhRMDVTmQbPsqompCkzo7qAlp2hDh9UqjyGVQX5xJU1IKWrpLlaf7wy13lllUQaUkhuA8cnE2LG1C2sLD0mZPMD1AW/WKl8eEOJbXbJXVrH5zYQgDOs8egM/FFdAzKzwEY/zwCFvy35Bz6e3KjcEWTsSK1Ow0m4wRZKF1W7UTpbRDSbTNjphlFXlabZ87vrCK4+QhCcZxOdVSRqrV4V/B/+Iiv2oQF/7eUURLzY6Bm1zDiz7SICeLT7NRvS4GXmlc87L1VVJXFG3ZY= X-Microsoft-Exchange-Diagnostics: 1;AM0PR05MB4178;6:Gz8orBOUbWZ3dXXWQpv0QIA0DT5gGcSTpdluamMcKNDJQFadZBwOJ1v8h6YMPCvXjsL5EFTiigetkdZeR5q1fDtN+piA5bhzTBRkXUdJ1K6ecE4WUrrC8v5kBT7bfFX+fND3BXB8KaPzs1Ld+ngA1EO/XJbzTKhULgKqM7VbkKawSZ+9BNIPFkXihlKORP5Jc8jWdo6J78kAFEInJlWRaLMkFv75zLgQGSdAL4eiN2JeaZHerDIEUiYhCGqOSAXRHgXHJWSEFwWhwIFE6EndTzHZJWZJi66fE0Yz3us74zuGqOzGNsOQECK8hIeU58ph0cwwECTRd3crZIwlMtZhQENHJYX4AlTUXjfKQx2hTsjKLkEtmVusO1DjyHw4hoOwqCxHbmEm4T5Ca56OiFO6wLKSXFnUYxqBBdtYyddG8ulpVkn/+R+kMQI4Zv+kdaHa3a4opnybJReFsczEl26NdQ==;5:xgEpsxtRATDmMNnGtE7G8ZvY84O8NtaI/Ql0y6LUOy5liKFxpVnhAr/6mEsARXnzcHNVKmGiA70ZgSXxnN/8PcwQoqo6OWEXgPDIDjDJsMa86z8zqncb/mRDt6QshCBf55Vl9P9IfAn3g0eN3vCJKZ8oCFwQ5OMYbErGqg1zMX8=;7:crvEQNjkwzWvlzLE9T06DjOOekFvAVGG/tesKbKQw5+1zvAdiwIE2dx6UW/TA1seQYoFwbL4m+wB3Nhi3BXiGRy4s0zEvugYr/vvH87cLdRLBTYB4mE3uIV5cBIIhYx4O+fbpfKOz2jHxJjI2/O8XYNLEwTYjPrU+MM6raBVXysu09gq/oF+foWCDKNuJEHwPHQjK4yyMqC84LgGPBEiCVTgEC/bGNHzhRTXNzFmT3wLbuAB4Km+/ZH6/OFd6UFm SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2018 14:39:56.5403 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 955f2f96-0685-43bf-c5dd-08d5f62a520b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB4178 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 Add team_create() and team_destroy() to manage team netdevices. Signed-off-by: Petr Machata --- tools/testing/selftests/net/forwarding/lib.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index 81e36157bf16..3a4eba4f0d08 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -8,6 +8,7 @@ PING=${PING:=ping} PING6=${PING6:=ping6} MZ=${MZ:=mausezahn} +TEAMD=${TEAMD:=teamd} WAIT_TIME=${WAIT_TIME:=5} PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no} PAUSE_ON_CLEANUP=${PAUSE_ON_CLEANUP:=no} @@ -425,6 +426,28 @@ vlan_destroy() ip link del dev $name } +team_create() +{ + local if_name=$1; shift + local mode=$1; shift + + require_command $TEAMD + $TEAMD -t $if_name -d -c '{"runner": {"name": "'$mode'"}}' + for slave in "$@"; do + ip link set dev $slave down + ip link set dev $slave master $if_name + ip link set dev $slave up + done + ip link set dev $if_name up +} + +team_destroy() +{ + local if_name=$1; shift + + $TEAMD -t $if_name -k +} + master_name_get() { local if_name=$1 From patchwork Mon Jul 30 14:39:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10549181 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 640E613BB for ; Mon, 30 Jul 2018 14:40:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 55A4B29FFC for ; Mon, 30 Jul 2018 14:40:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5401329FC3; Mon, 30 Jul 2018 14:40:10 +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 792FF2A010 for ; Mon, 30 Jul 2018 14:40:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732007AbeG3QPX (ORCPT ); Mon, 30 Jul 2018 12:15:23 -0400 Received: from mail-eopbgr40069.outbound.protection.outlook.com ([40.107.4.69]:26931 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731971AbeG3QPX (ORCPT ); Mon, 30 Jul 2018 12:15:23 -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=Qy3lV9kP4lWl+2HAuOsv4s+qs6Hrj1HpfmXB9TSaOHY=; b=x7PmwpoOvN7bn3Yg2y/xod/sAdgE0BQ7sbyb1LfpomwpErgOGMSLjnWJ5AU7qyGsF/jZkSOEZsfpgJj32y44J78+rkcjpa37NkrugcIPwHanQRqk0DSgByD0XJODhhpbAv6aV9zUNGsCWIFgrL8/7DenDKqSUg1VjCf8vsOM15o= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by AM6PR05MB4184.eurprd05.prod.outlook.com (2603:10a6:209:40::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.16; Mon, 30 Jul 2018 14:40:01 +0000 From: Petr Machata To: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: davem@davemloft.net, shuah@kernel.org Subject: [PATCH net-next 3/5] selftests: forwarding: Introduce $ARPING In-Reply-To: References: Message-Id: <9fc8bf6931e5f159ca61254639b02a2dfa5e1e32.1532961216.git.petrm@mellanox.com> Date: Mon, 30 Jul 2018 16:39:57 +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: DB6PR0202CA0018.eurprd02.prod.outlook.com (2603:10a6:4:29::28) To AM6PR05MB4184.eurprd05.prod.outlook.com (2603:10a6:209:40::29) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dbe523c6-53d5-4868-a51f-08d5f62a551e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020);SRVR:AM6PR05MB4184; X-Microsoft-Exchange-Diagnostics: 1;AM6PR05MB4184;3:kMnsR73KVL45Y9bTN3JlNBZkh5oiDoauwP8XXexiyIgO5aME28nbvDDOpxnbOM9OPihw9A5Ong8HyFLtMyfYeFUapOrpa2LY2mOY72j0nm8uF+APL6L7swdSjQoBc65ZPoAU6BSrC5YB/M8m3/8rP9a3gJaiPt4tXT8OJrG9Oq6SIlkcYPbpZe+wEHpMe7sXBNQJ4d5Z/7pRfKKy0AN+Ns0VdvBzhOAPW1nHfH66ObZkYmrLRpVvvXN/leUhJqNE;25:XawjnphSXBmAE563CjNxOQFEywGVmM9NKE94tr0EcHE6m5R36k7+ctXWVx9lOV3LHmGxxlhfWYcP7UD+tMrvdvv5HQQcpj8eSTecB+IrMts4cU/MI1yO8yZxblg79MhjeD+b2lvHPiH2rTh3Cr4D2rMNXq2dC6QqLi70G23w9jDxRYN9zReBRgYKr5eJTzzf+RpEXsMbo4KSeU38HbWdA4bRCicWxc43avMz8KfyRz2ZbW5f4tr0fieDnd/6AjL9Sbz2Rd/CEZm8S8XcCGHbQi5glDisXa7LcrcO+X7C8n4OobaoFTZ9HABjF/JMK52tGqsRfw97nYrCeNMwnYvdjw==;31:A4ZOndlN5/50Z9oJjgWGt+vwX4WCWr7ZfadVI3XK13HQdN/fCErdz+efBMlSFDzqWUtrNm8mg5fZdClQGcFP/sy+fJYDOgYm9DcOrUAUwbvesmPT0FYCizHSjM0Zu4ni8bqZFZKvvzJHjb2BbTIrOYeUCV4tAhN+WjyokkXTshzxSoMtdbrD8JPq3l5RCDuLPmWQoA1jbCvR+9cHMMHkiEPbHEQhlw06DYnZanhhnKU= X-MS-TrafficTypeDiagnostic: AM6PR05MB4184: X-Microsoft-Exchange-Diagnostics: 1;AM6PR05MB4184;20:xrWw6NiNgSNx/vQfB5pEl/AIm6+zwNHqdYpY0HBJ7qIK2wvcBM5r8NRfB4ImN+Wv4UEnNeyzkpne9EKllSFBUHmJjjLvDO8LQK4aYMdZuR/SwRs1parR4HuAVRzOnrl446JYhNlTO/KrVWpMj9d5rI3V36lNAr5ksg11k0am10P+KNtVWA/unkOVGpvb/7RTaG1fUUJoHx6811zM37zqKNp5g4jfQi9fPI1R1wucjKpVolRlzbUh8jHzc30oZsDZCixsMHzEzEchX3Te+x1R5wZB1ATNE/NkWU9/BwAmn0PTBvVmRNGXqgOj0nVu8oNDwKwNga488dWZTuWfPklsf7Dfd56iaSHsZt7cA/EEQcTXLZzFGHHsKhIPuljKF/gikDjC4hzlTIkXg25Sp0CCpPk2KQHdGrcQ8vRA997W6/PV6tDDUc8HSW4wuum5rQFblPuPmJVnE1mEP48WoipnhZaRxY22LDzKNb4NMDCOGNY6tdfDQ96PkzVJbjOQvsK5;4:RdtYyZH/NtwCbBcw4Wt8LWLfYFDiffBvIaERQPzFzGDEKmm2UWipL9wq8hgQtAzH6AgLydmC4EZzkozDXhLajUIYtnAGq2XklTCtmOMsdGv0NJaDwnHUaZSxi6AypzXO9pmiJIaew4z4S5jJdMvS+Xh0/PtcYo1HXTmOATLg/Y7Z2DqSFHh6KCx1hBodmK3SnCtCP31otfhuWzoOxl/VKetNKyxp/vWYqGE66/0FCQhLW5cf+tBwwgoRZBieOLcOFUMAB9swDbaQtbfB3bVchQ== 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)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016);SRVR:AM6PR05MB4184;BCL:0;PCL:0;RULEID:;SRVR:AM6PR05MB4184; X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(396003)(376002)(39860400002)(136003)(346002)(366004)(189003)(199004)(6666003)(8936002)(7736002)(956004)(446003)(2616005)(11346002)(476003)(2906002)(305945005)(50466002)(68736007)(48376002)(58126008)(186003)(575784001)(86362001)(316002)(81166006)(81156014)(486006)(47776003)(16526019)(26005)(66066001)(8676002)(25786009)(53936002)(386003)(106356001)(97736004)(6486002)(16586007)(4326008)(5660300001)(6496006)(76176011)(51416003)(3846002)(105586002)(118296001)(6116002)(478600001)(36756003)(52116002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB4184;H:t540p;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1;AM6PR05MB4184;23:ZlioCBOUOiT97ajEspYm7HHbrykEF54v397V+B2cSWWuUJBskHHuxo7R/BzaaYGFlzDOgZiu0liOPPJ4MqeXZBR4BScB59N9W8RK4LGcl4kzU9a9a7Mq4eIqqF0ZGpZAZn146ZXKiAkahRbXLC2fZWgPyl0D8z81mtvsBZPcAt0RhoDBb+YRXiauWv21RMFPeZuIFAVpwWfgkhWCLM8v3MIXk1oFZD1C3UzM9Xob6FHCB1Fkc23wF+x4T3RE4R3Gu9Z34O0LpkKkrtRHtam6U3bFdudtnm/WZ7Zait65CBqbNYLRWy6LEZFo4ScbEiJvj4daxZdBI7lpcowEcYr/1942hf/BVx/LFZGX/rUKP4d5OOyapFqxKdGvBr5bNc6G6yBvmzW8fzMgX1eZbrobIvlG05HepTErGYDnTsEQNf44TGJBvo6nFtS8BaJCHUIo6ertgym0apbK8h/8MCvERbhLxw5pXtvnhUtnC/dj6A6hJQVKL7NFh4EypidkuDM2/xVv1L9B1zSMIemtREI+6/VTJ4lLJhUL5KEG7rkepDqI00HJykZiNzkYR2eCugIghTMsMPNQKATEPicLcZe9Y0co68d1Z7zDJICFAV0zXE5rXkIFNxC83JBLf1952PSTtO6eGPH49vb+2gidwwlQteqUQzkGJ93xVDDidACRjf3zMlzpo4s+uVqWEzI459oX0e6Gv6Bumw7ulnDPWZvAq+HVPHCh/4jL4xgy5RWupW6cMAupmifxIwxSRmYyOj8TyamFDSSOrw+xh0JMCtxOdgSFYSrtpdWlPiSZtSVtixv2DdNCvaWJeghHRvW2x1YIQsk+eS4/M84gWu4dmQjhUKeNHIksLOcYi8t4QLoP1bBIvCBFXZ807YQcdr9WDRO7xw6pnP/sweZXDnrRmMZm5UKOmW6j/lMlst6tzQp9m/oKk3SEWTeUhMg+l2MBErKe+5Avjrv/NNI5PBIRfdkSfffIZ14zMl/v91in9UGZD6LWNZk46ICACN0c0bQ4zfwYBdCEO99ex6BPsPcdLDIJfAj1vNXLpqJw6QQfzuMTueSwk1s3dAtpJCcMun6nDutG645x0TpQhDuEOybKs0RnERhx2uuCyf33WAGy40cP4qygshfbumKogqCodt+SGFKFWFgE/IQCeZJJpdlmnicuj93gEdsy4aP0WDwoHGh6kmc= X-Microsoft-Antispam-Message-Info: 9K4p41QPrevkwRYHsq209poI5B0xuLwg0UthmG1szzb6YTSiD3hTughhmrl7+yDeI3NXYTe89K59ol4uK9qZw6CMGv0Qx9N10Z9gEw9PS7UQyz0pBrvRowCABS8MZVTiTxFhLRTUp2l/Sy7jpFPbtkz4nYO5d/2pJyPTJ//wrCVDZ1m2IwBQ3RUrXW2eXqgvquDVSyAG7I1Bgyy0+ZuMRXgZLR73Fk+EUEbKNcqTSCGIf1NKoUpAnukr25St3RZ/+CcHJI/m6jDM82md9Mis6pnnb88qCk3vftW95xe7T33tena2mImKeL4tMMrETHF4WLaoJ04BNi77AauJ7UAZtCn8EIwBlDojTbmuLpjo6wM= X-Microsoft-Exchange-Diagnostics: 1;AM6PR05MB4184;6:qvDo4baynLn21YJ28F2u5UOflZi5MHqQcO7fpanAw0fPJoE2B4w5mYvkr6eTrTT5eiybyuFmshvbdO0idgRLVEIfgDbL73976i/+U6R6ZHIbxzCL1SDjZC7M4bFQfnWcoDmCH3ledGK9TSKnFPkAPMKc2lVeeUAC/TnLxzU/WobOvUtw6+ttx24DL80BI1cN52peb/aigCY+9WmIo7rW1d2fFHZBUcMTLHKTgZ03UDa7Z5djcM+/tV+sJn4XZKsI0xCXD7qY+Txnvx3jCuavseRhKMtvGk2thwn/sC7MuZBFt7SQ8QQDZcJkfMlQg/I+TVNO3Jcl1zIx3ygCPmRU0CMg7m3T8LKCBk57ERw3tcGaEw8oBoYw3glSkzF4RLjSYdmm6/+XWmIR5NjIbS401tumPaipGUubZs8nN9PqDoxN7aUh1vO5UbEICNnoH+E9RnJWzyl8qY5FX7c8yEVv8g==;5:8u/FfADKMlUnCEVstApMQY7G/iwP0o25v9c8q3NlQoWJG4K7GHFzKQ2WhoxlDj1GjNq69gEu62O1HKcfq+prytpatmKHA+0vjZ7Tmo81nigU67dvFw/luz1JGxGMaWWiNFHep0TUOsLhNvBAmJbAvO08TP8fxzdoWCA9MU0DVUc=;7:VDRqIRNg70OlvGk9Ihri4xDBYj63aP15dSOwN1h36jeqnUvCsSZ7Zle9hb08D9D/i1GCwDfsdlrQ1j8W1Cwz14TyHVgdF84LNEZqTCFMqjqhdAon7Q2grRBkbzAD6EyaG4KgdIIUPvvEc9Ebt+ysh7h6okEXjRGJ5OmjX0hDzbqE/8lJA+aUxFUct9ThsynCtfB2IqZncfyFmwHy3Yk+ZfYeQquWPAAL2h3mTl9ZggJYggHrKYNtURNxVftScjmf SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2018 14:40:01.5705 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dbe523c6-53d5-4868-a51f-08d5f62a551e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4184 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 Instead of relying on "arping" being installed everywhere under that name, introduce a variable $ARPING like the other tools do. Convert an existing test, mirror_gre_vlan_bridge_1q.sh to require_command $ARPING and then invoke arping through the variable. Signed-off-by: Petr Machata --- tools/testing/selftests/net/forwarding/lib.sh | 1 + tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index 3a4eba4f0d08..843a6715924f 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -8,6 +8,7 @@ PING=${PING:=ping} PING6=${PING6:=ping6} MZ=${MZ:=mausezahn} +ARPING=${ARPING:=arping} TEAMD=${TEAMD:=teamd} WAIT_TIME=${WAIT_TIME:=5} PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no} diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh b/tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh index d3e75bb6a2d8..204b25f13934 100755 --- a/tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh +++ b/tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh @@ -28,6 +28,8 @@ source mirror_lib.sh source mirror_gre_lib.sh source mirror_gre_topo_lib.sh +require_command $ARPING + setup_prepare() { h1=${NETIFS[p1]} @@ -149,7 +151,7 @@ test_span_gre_forbidden_egress() bridge vlan add dev $swp3 vid 555 # Re-prime FDB - arping -I br1.555 192.0.2.130 -fqc 1 + $ARPING -I br1.555 192.0.2.130 -fqc 1 sleep 1 quick_test_span_gre_dir $tundev ingress @@ -223,7 +225,7 @@ test_span_gre_fdb_roaming() bridge fdb del dev $swp2 $h3mac vlan 555 master # Re-prime FDB - arping -I br1.555 192.0.2.130 -fqc 1 + $ARPING -I br1.555 192.0.2.130 -fqc 1 sleep 1 quick_test_span_gre_dir $tundev ingress From patchwork Mon Jul 30 14:40:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10549183 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7AD2B13BB for ; Mon, 30 Jul 2018 14:40:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6A63329FFD for ; Mon, 30 Jul 2018 14:40:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 67DBD29F98; Mon, 30 Jul 2018 14:40:13 +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, LOTS_OF_MONEY,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 A813B29FEC for ; Mon, 30 Jul 2018 14:40:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731971AbeG3QPa (ORCPT ); Mon, 30 Jul 2018 12:15:30 -0400 Received: from mail-eopbgr20041.outbound.protection.outlook.com ([40.107.2.41]:2752 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731799AbeG3QP3 (ORCPT ); Mon, 30 Jul 2018 12:15:29 -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=PTRTafE5N7N+j5/y0d4P3oSeyUaYLdNIJmH4TOA7B3o=; b=EVifA0mBqcDX5R7rhShoE0UeL9HsJnrG6lo9nGjAycrjbMct50+13J6X7zPR8gi0NR63kOk6dh2qBT04ET+/nnj2MaKEldCmzcMUOd6r7GOmouQ4tInxWTvHun2pkitDD5IYLJyKZxrt5zYC9W95G1kvGaEzNSI0Q5PXkjggKMo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by DB7PR05MB4186.eurprd05.prod.outlook.com (2603:10a6:5:18::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.20; Mon, 30 Jul 2018 14:40:06 +0000 From: Petr Machata To: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: davem@davemloft.net, shuah@kernel.org Subject: [PATCH net-next 4/5] selftests: forwarding: Test mirror-to-gretap w/ UL team In-Reply-To: References: Message-Id: <5f59e969cf175b57e1d399f3489d0e46811d6d65.1532961216.git.petrm@mellanox.com> Date: Mon, 30 Jul 2018 16:40:02 +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: AM5PR0602CA0007.eurprd06.prod.outlook.com (2603:10a6:203:a3::17) To DB7PR05MB4186.eurprd05.prod.outlook.com (2603:10a6:5:18::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cb26fc95-c3c0-4456-720f-08d5f62a5823 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020);SRVR:DB7PR05MB4186; X-Microsoft-Exchange-Diagnostics: 1;DB7PR05MB4186;3:t6QhyMGC9ddjNHRYIfcWAULRrxt55DvyecpdTkE9GoxWStYLbhBXKuWXXzTvzK3UnNunFpkDqhh2pySbBU2/qdxzoP264SqtyoCV6KhVqL7y11mISX2C6fnccXWTGHhBv8LbuoBjHWAU9Nk4w2p17GfvxIakIZI8f1KKQ47FU8KMkBOAclGREj5Uwj7awhgx56fWy2puWTxPVg9GNJhAqBNNCRS7A4xRhMOA3Cq9s9IeF4vzym3m549vOYD+Kbdw;25:UdujcygZhLm5FeLcRP7Z8L3SgkNjBTQOQ2q86SeDUf5Dmbdp1NoNZJe69gmhyVYcK6TUzFNiV8qOkQjT4qYh3hj5syRQOrxJU8uSoFhRF3Et7Xv7OmWCYof2KITHaf4RoSjW6CiowkWCgeM2C0fAVFEk/F+WUYjrtUsy+kLVIZROBKAcLTC0iixvz+NO05F+eZkB5NZdeA3po3TAy6kVrTkUFs3WItmRAWOs/SKsY+Ro0uu/majQY7BJlHnOS0yDwLay2KclvfhhnEk5kDBQ2DoL/lO1sIue1aBjgDLhpCaHkcAx4JiuzSPd9t/3WBvq7+A16fgWDxVZE+CH9tyC0g==;31:teHom4+7wYQd43zjHdDAF+RPEggWZ8UwAofso7Xs30ABZYGuylw1bjGxeBOhxfGv72FVt33JfRSG3hIrDzHz7BNXC7j0Md+RuE7XXOIEBdFqUZcTzI018/dhm1Hv4q0ut2lI7OzF6qJ/2ZrlWFGfZGG7yBc2BMjhm20dl3oO/CwJSEnQi1KtQRb95wY+nwnafxtbuGdPdVntcobWwE14Ce1Wcv6TNjERtHPyjNvRdMo= X-MS-TrafficTypeDiagnostic: DB7PR05MB4186: X-Microsoft-Exchange-Diagnostics: 1;DB7PR05MB4186;20:i45pDRsTKYNoPN3QdDY4v3Hxzz50ouN3MNgUSmJ2M0Hu3DE7q51eEQoG/YEMumx+up3ub56HtOVcnLu/YPacXucnO0OlZIs57fK7g5NULcPIW//1qPgctU08e99X9409Yjo1vWRpnmoPNZuR0Jc7e70LUnFIq5OEaIicyOgk72ziUnVqh8feJx2jNdYeEO4k9vGr0R5eDYI8WxofWo63Gtyd56zgK7w9t6/tJva6NVob8bGIjRc12655bu7V96o/3hMjI015mTBUTolHAFH6zLcEQbDmQhS7P1UVuYmnqOs0KCUB2ctcIZFxgEtXNasY4yF6oypk3gTG4jCcT0T+iUyq3Ziwhi8matrE3QhQBC4jvuP4k9PB3fNEH4QaxZFYcgiuucoMQHzMvxVwW77Sd0Cm2n4QIdV3+/P3l05WYKi0ue6Am2Ix9jAI8LGXYSsl5qGq6IxPkbsqLlZ1WNPwewFEN2epgW3mlNBHfBpS3+A4cGLTskdizVUD0j466n76;4:hyT1OjVJX9H9QYyKunKge1hZGeT/JV0qkdYDRwURBzXpNi0clASJEHZymwtoj+x9TOEOEJc1R9lZe0V980te55ke0qFXjyVsfCNK6Ap2jItemORcKS2c6bSAZ12cBXfQBFYY8G7W0Jf4cq/hBEpW4gQ6a/v81p7hNU/Axo1GxN20l5BFbFRJw5a5pwq3gqCWaDBOk+vVRS/LnuvIRka5J16XizFJgA64DMxrRcvTME3uuhyDyHM/B1EReK3Xqs8inRj/PFjUSriC8rwNYtAAUA== 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)(3002001)(10201501046)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016);SRVR:DB7PR05MB4186;BCL:0;PCL:0;RULEID:;SRVR:DB7PR05MB4186; X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(396003)(136003)(366004)(346002)(39860400002)(376002)(199004)(189003)(478600001)(50466002)(48376002)(305945005)(7736002)(8676002)(105586002)(47776003)(66066001)(25786009)(8936002)(106356001)(81156014)(81166006)(476003)(3846002)(2616005)(486006)(4326008)(956004)(97736004)(118296001)(6486002)(36756003)(53936002)(68736007)(2906002)(5660300001)(16526019)(14444005)(446003)(11346002)(6116002)(86362001)(58126008)(26005)(316002)(76176011)(186003)(6496006)(6666003)(51416003)(16586007)(52116002)(386003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB7PR05MB4186;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;DB7PR05MB4186;23:7cyhNazoar6wnGWk0zk4oYvCBmZxruNNE0nGeQrJKcFTkPo2i1u0jpsMQh0QOB0HxwLuHNiRnleQYeFBwhg6QeKsORxeZkhbd2Ie3qcInbt+4mn29IUe3KynmdznGmh+jEZ5bz4GvCZeBNcch3X/apJ4+Y7WZOrUzyjRufxIxp9oPslKi2xphmjbYFc06dPHV2Hko+vMMPUvM+BvBisRKF5oXb39/WtFwdea+4hIZp5i4vtd0VZQ6SXMkOHEHGE65ccVNvkub/vVDWfUWaEkbOH/swS5qpcVQeLa1hrtC6ijcGEHfEJVhd7f1JnNQWD59fXerQ75ajrP2BMpQewYsZte4Trh5Sga0beJxKUYII0eJwu5YcjD+CLzyz9KWq3KU/vGycGMH8d7kUkzv44mOmHinltSnW29SN5W6vgNq9IWv4TyXQ2m0qlecBcbOUsEySL5djdasfRXxW1rVsnxaS7oUmGP5HWeewIJFpwJ5Vs1Lj9YTokPrU/VbbHV8JF2GRwyhT8LVL0bybZROZf8Yi0z0wGqHX4ma6LCWIueETv1QMk6f8mWmzIFLFu39/JrL6vyPOSX43fE19jX7ot58/fruaaUGe4V6OPEVgmbmmSXDgZ5Ug/pg5u7V2ft5gGLLxnnWlaUzuzeOPpN7KsUA1B3vOn4c51cyMevmo/BtlwOl72lyCROQ+9euN41jofwxneN8fS78KaFXatVuCrpMWrMdtUAUxZbfG5mp5ztZiWa9c2zBt01iOOf62zJQr5fpH38JJ+VQdFxqgZYCqXMMSPEdNwtYEY+yQ6bVmLMdBif3ogTi6Nlmw2FEt15qKCHBHtJjTNcVhUe5jGwkp3nSalJQ9FMA2z4mY5z6EIolcOfLf5HgwJSdZdWAd+4UeJsnoIlJu2WF0FoSL2dvRkfECzTh0dc8yPmd41cGb0AaZEmlFbRQ0Na8alS71H1QNRVnCeaideEiyenn2vNZTHlQlNcTDEEAlCMjleEyW+qCjQE67eLql2sssKgx/l8eoErAqhHwCNWUG/i3ZiqRSe9XLYcFqNExTblhm0FHpN3ceHbLCNhWKEVdJhEslQWCe8+CH5LwA12akzLayizoGBGH5h2lHgy8hcHorhNkYxiSLgndLcHIHedLB/CH1j9b7lTRRG6sf5J3GEfQqQBWAEccQ== X-Microsoft-Antispam-Message-Info: iCDNwikOCbdAZ4I6BHDW6hZFbCiropHBNT1YiPmJ+0LyPkCoC24+vJUXOfxPfDz1mGlyXF1EebqTtR2eCXlOInCqyuX6+PVi7C3MHIZr9uPCZ1L2clRHln7sI/zzdpgNu/7lv3QURYSZg7vo3dav8mGr88Mdl8GkTKlPpWqiRFpieniTIg62vjzNABYvK0r2Hm03JSQmPUNGBm6oCsk6CnVC5K2/+nwTAGRW57RHxJ68D43R+6Jc955ObDtLsGbCXuNlFlZkHuuTUi0q+bUeT3ElJEx1EtCcvOOrWBMNXdwGEDGS02bjdg48chcAO3eNsmoui90o4EgFXnoHzxE8rTzj6rW2nU7DSUhSn4zhc2M= X-Microsoft-Exchange-Diagnostics: 1;DB7PR05MB4186;6:SNOQANpaldoU9Y30Ui6QNlmmHLdNwessaZ8KWR4tFa8gBY7XYAhXVhumsUHXCrULVFpm2kxQxoohr+bAkv202wUiuR+zDa65ZVR+yaQDOjP9MB5mKwean8Ljw/MNw448M0MsxgRXrFYSTV7Ah/jr4Zgjf8dk0T2OAur3421bToaz0UxeZs56jc+nCkeFHtLmWG0w8bKQ17CP9YHWwwSmB8uYusb2mms75VGUYkabb5tz8K5oyBDQdigo70eBgMREHpbi9OGTxhSw1MBAPrypUUx9DuEmsMO2qUq/vAbYQ+mblNLsZNJXtgTKIqVfMnLwk5DXYa+ZJtoXc+m3+Oc07gOycgwPS9AiN4SXS7gf+xrw2d8oV+Rw0znY9vZWMSze7fZb8NhHGkuK0YWQFMcSfsUvlsffDaRtraqI45XVFJi4kgxTcx0bNbAoY4tOSvP52NztHEP6U0T4B69y7lQIJg==;5:9NDWRDrZPB0zjAWXYcgcN4m+aCIGp6R3c5J97p6nmugaFbPUaTFxw9QqTiZrGDKvWHzJpL9l1cXYRUbjlHgZQOTneVF9b0WaRtvShoUI0Zl6AYTx09/hrJgwxcWFIP82seIQNYI3jxl7MUVJKbBA1rqvqQ94jpgPmk3lVZ3rrlI=;7:AUalVveMY0XtnjNYAvvVpQL/Jt4f/66LWYeQhnsRQ0F6JFPPwLc5aV4XzNMCMn4badA+TcaBlHTyrdTzlq6o97ZxmMEXQqHBlTIhlTNII+ApB0VuknrckGzBRVwWv8Lom2Pvtp7funY9/UfP8KMAmuSymOUByMKwXxvVmtmASYt/G/hx9EK6B23zGPo5Lwi1zOVL8+UMgyWZT2bsaRD/2wywSLZap1lfsI+1VQyPc10+d2WyI6NyeqFRd322Neic SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2018 14:40:06.7048 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb26fc95-c3c0-4456-720f-08d5f62a5823 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4186 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 Test for "tc action mirred egress mirror" that mirrors to gretap when the underlay route points at a VLAN-aware bridge (802.1q), and the traffic egresses the bridge through a team device. Test upping and downing individual team device slaves and verify the traffic flows as expected. Signed-off-by: Petr Machata --- .../net/forwarding/mirror_gre_bridge_1q_lag.sh | 283 +++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100755 tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh b/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh new file mode 100755 index 000000000000..61844caf671e --- /dev/null +++ b/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q_lag.sh @@ -0,0 +1,283 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 + +# Test for "tc action mirred egress mirror" when the underlay route points at a +# bridge device with vlan filtering (802.1q), and the egress device is a team +# device. +# +# +----------------------+ +----------------------+ +# | H1 | | H2 | +# | + $h1.333 | | $h1.555 + | +# | | 192.0.2.1/28 | | 192.0.2.18/28 | | +# +-----|----------------+ +----------------|-----+ +# | $h1 | +# +--------------------------------+------------------------------+ +# | +# +--------------------------------------|------------------------------------+ +# | SW o---> mirror | +# | | | +# | +--------------------------------+------------------------------+ | +# | | $swp1 | | +# | + $swp1.333 $swp1.555 + | +# | 192.0.2.2/28 192.0.2.17/28 | +# | | +# | +-----------------------------------------------------------------------+ | +# | | BR1 (802.1q) | | +# | | + lag (team) 192.0.2.129/28 | | +# | | / \ 2001:db8:2::1/64 | | +# | +---/---\---------------------------------------------------------------+ | +# | / \ ^ | +# | | \ + gt4 (gretap) | | +# | | \ loc=192.0.2.129 | | +# | | \ rem=192.0.2.130 -+ | +# | | \ ttl=100 | +# | | \ tos=inherit | +# | | \ | +# | | \_________________________________ | +# | | \ | +# | + $swp3 + $swp4 | +# +---|------------------------------------------------|----------------------+ +# | | +# +---|----------------------+ +---|----------------------+ +# | + $h3 H3 | | + $h4 H4 | +# | 192.0.2.130/28 | | 192.0.2.130/28 | +# | 2001:db8:2::2/64 | | 2001:db8:2::2/64 | +# +--------------------------+ +--------------------------+ + +ALL_TESTS=" + test_mirror_gretap_first + test_mirror_gretap_second +" + +NUM_NETIFS=6 +source lib.sh +source mirror_lib.sh +source mirror_gre_lib.sh + +require_command $ARPING + +vlan_host_create() +{ + local if_name=$1; shift + local vid=$1; shift + local vrf_name=$1; shift + local ips=("${@}") + + vrf_create $vrf_name + ip link set dev $vrf_name up + vlan_create $if_name $vid $vrf_name "${ips[@]}" +} + +vlan_host_destroy() +{ + local if_name=$1; shift + local vid=$1; shift + local vrf_name=$1; shift + + vlan_destroy $if_name $vid + ip link set dev $vrf_name down + vrf_destroy $vrf_name +} + +h1_create() +{ + vlan_host_create $h1 333 vrf-h1 192.0.2.1/28 + ip -4 route add 192.0.2.16/28 vrf vrf-h1 nexthop via 192.0.2.2 +} + +h1_destroy() +{ + ip -4 route del 192.0.2.16/28 vrf vrf-h1 + vlan_host_destroy $h1 333 vrf-h1 +} + +h2_create() +{ + vlan_host_create $h1 555 vrf-h2 192.0.2.18/28 + ip -4 route add 192.0.2.0/28 vrf vrf-h2 nexthop via 192.0.2.17 +} + +h2_destroy() +{ + ip -4 route del 192.0.2.0/28 vrf vrf-h2 + vlan_host_destroy $h1 555 vrf-h2 +} + +h3_create() +{ + simple_if_init $h3 192.0.2.130/28 + tc qdisc add dev $h3 clsact +} + +h3_destroy() +{ + tc qdisc del dev $h3 clsact + simple_if_fini $h3 192.0.2.130/28 +} + +h4_create() +{ + simple_if_init $h4 192.0.2.130/28 + tc qdisc add dev $h4 clsact +} + +h4_destroy() +{ + tc qdisc del dev $h4 clsact + simple_if_fini $h4 192.0.2.130/28 +} + +switch_create() +{ + ip link set dev $swp1 up + tc qdisc add dev $swp1 clsact + vlan_create $swp1 333 "" 192.0.2.2/28 + vlan_create $swp1 555 "" 192.0.2.17/28 + + tunnel_create gt4 gretap 192.0.2.129 192.0.2.130 \ + ttl 100 tos inherit + + ip link set dev $swp3 up + ip link set dev $swp4 up + + ip link add name br1 type bridge vlan_filtering 1 + ip link set dev br1 up + __addr_add_del br1 add 192.0.2.129/32 + ip -4 route add 192.0.2.130/32 dev br1 + + team_create lag loadbalance $swp3 $swp4 + ip link set dev lag master br1 +} + +switch_destroy() +{ + ip link set dev lag nomaster + team_destroy lag + + ip -4 route del 192.0.2.130/32 dev br1 + __addr_add_del br1 del 192.0.2.129/32 + ip link set dev br1 down + ip link del dev br1 + + ip link set dev $swp4 down + ip link set dev $swp3 down + + tunnel_destroy gt4 + + vlan_destroy $swp1 555 + vlan_destroy $swp1 333 + tc qdisc del dev $swp1 clsact + ip link set dev $swp1 down +} + +setup_prepare() +{ + h1=${NETIFS[p1]} + swp1=${NETIFS[p2]} + + swp3=${NETIFS[p3]} + h3=${NETIFS[p4]} + + swp4=${NETIFS[p5]} + h4=${NETIFS[p6]} + + vrf_prepare + + ip link set dev $h1 up + h1_create + h2_create + h3_create + h4_create + switch_create + + trap_install $h3 ingress + trap_install $h4 ingress +} + +cleanup() +{ + pre_cleanup + + trap_uninstall $h4 ingress + trap_uninstall $h3 ingress + + switch_destroy + h4_destroy + h3_destroy + h2_destroy + h1_destroy + ip link set dev $h1 down + + vrf_cleanup +} + +test_lag_slave() +{ + local host_dev=$1; shift + local up_dev=$1; shift + local down_dev=$1; shift + local what=$1; shift + + RET=0 + + mirror_install $swp1 ingress gt4 \ + "proto 802.1q flower vlan_id 333 $tcflags" + + # Test connectivity through $up_dev when $down_dev is set down. + ip link set dev $down_dev down + setup_wait_dev $up_dev + setup_wait_dev $host_dev + $ARPING -I br1 192.0.2.130 -qfc 1 + sleep 2 + mirror_test vrf-h1 192.0.2.1 192.0.2.18 $host_dev 1 10 + + # Test lack of connectivity when both slaves are down. + ip link set dev $up_dev down + sleep 2 + mirror_test vrf-h1 192.0.2.1 192.0.2.18 $h3 1 0 + mirror_test vrf-h1 192.0.2.1 192.0.2.18 $h4 1 0 + + ip link set dev $up_dev up + ip link set dev $down_dev up + mirror_uninstall $swp1 ingress + + log_test "$what ($tcflags)" +} + +test_mirror_gretap_first() +{ + test_lag_slave $h3 $swp3 $swp4 "mirror to gretap: LAG first slave" +} + +test_mirror_gretap_second() +{ + test_lag_slave $h4 $swp4 $swp3 "mirror to gretap: LAG second slave" +} + +test_all() +{ + slow_path_trap_install $swp1 ingress + slow_path_trap_install $swp1 egress + + tests_run + + slow_path_trap_uninstall $swp1 egress + slow_path_trap_uninstall $swp1 ingress +} + +trap cleanup EXIT + +setup_prepare +setup_wait + +tcflags="skip_hw" +test_all + +if ! tc_offload_check; then + echo "WARN: Could not test offloaded functionality" +else + tcflags="skip_sw" + test_all +fi + +exit $EXIT_STATUS From patchwork Mon Jul 30 14:40:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10549185 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 45C2AA801 for ; Mon, 30 Jul 2018 14:40:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 34AB129FD8 for ; Mon, 30 Jul 2018 14:40:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 32E852A00C; Mon, 30 Jul 2018 14:40:19 +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, LOTS_OF_MONEY,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 5507D29FFA for ; Mon, 30 Jul 2018 14:40:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728666AbeG3QPg (ORCPT ); Mon, 30 Jul 2018 12:15:36 -0400 Received: from mail-eopbgr40073.outbound.protection.outlook.com ([40.107.4.73]:31904 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731799AbeG3QPf (ORCPT ); Mon, 30 Jul 2018 12:15:35 -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=Ic0qNqSBybilw7I82QInyc+le8ryPOg0+Fuwz3WTbCA=; b=orpktEWyaTZoRACJy755eK5/Jo0iLWbbG7j7kM9N4cQdCSx3m3AI/c/gZ2mJLOX/iT5A1XKP1vIGmDE2aKCWkQw2Q0TkB9sH8syLXTTBbiKYXpS0HaGf8KrvvssL0HljZysXwYEqZBqMQcVbCWV/bcsfo/pCnz8tGR2lZs4Ks1A= 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_GCM_SHA384) id 15.20.995.21; Mon, 30 Jul 2018 14:40:12 +0000 From: Petr Machata To: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: davem@davemloft.net, shuah@kernel.org Subject: [PATCH net-next 5/5] selftests: forwarding: Test mirror-to-gretap w/ UL team LACP In-Reply-To: References: Message-Id: <118764ddd590dde7801d99ee235079e8781aecf6.1532961216.git.petrm@mellanox.com> Date: Mon, 30 Jul 2018 16:40:07 +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: VI1PR03CA0046.eurprd03.prod.outlook.com (2603:10a6:803:50::17) To VI1PR05MB4191.eurprd05.prod.outlook.com (2603:10a6:803:4e::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ca64cc2c-eac2-46c0-bdb4-08d5f62a5b4d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);SRVR:VI1PR05MB4191; X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB4191;3:OINNYchjdaa67+zIggA/cmw/715n8K5zfjyuvmdE6t+gWymnF+8iscq/w/o+IM4g2RtCdEOrh83SPh8N/TlxZk8q+hfTa8a9y1hTWATUg1WPHsbdUwGlNendmycZHiyduXMQnWRLxDkm3hz7l+I6AcqKtqPDwSdWhd+e//q4/h4s8Lg5itVQcYXZH8tl75/qDSWyFXEgPPQWMhxdgitYq/m5Xxf6vVJa5TqJC3BXSjFQfbD/tofxf+yF1WOWHWnY;25:ldePylysc10wG25KffO6E4+7aYW7u8x5N2QmMmWdqe0pS04fTEs0x7LD158GIMNCsMZ9MIYKemlZjB7jPfK4ncukxR5c5FPf3nlBPdKV64eHN0q2BsVhW2/u0vI9bI7ofMpdAyEUBvPM6LcMm+SnFSjRUqzN0g19d0SbZJJnM1raM2bpEUOkI8SyLdx4cSqNVf7lEaNrJV7Zyy0q9odVr7WWKRt1wIaXFGFNf9Ta//74Vm6iSFLB/Ay9ElPpnXt4xElfg8W2dynXKpuCXxHrPWiTZkP4UuimCwrer49QGqub1EX06rWIRtyMihCwDWgUttL7O2kP/lOAhnI2iBbiwQ==;31:/ad8Zh48ZYlOKKibx3Iu2xzmOBWqYwvN7eTQoROeRGUKG3WJd9ioKwxL20Wc3rOExjWV3SQIoPwjJmM68HX1v/6eZesEiziCNSFxQvzJRLF3DqkerUnaJD018vL6S8J4L0IgjmvFzfkvlXXVM60BXe7IC8TaiB2rWY1O0k5WHU6Cl34NYTOpwkjTaGfdKn1Z/Ey2g5RLB8IDN8wZBcJZ/iXfOSsMd1t42Gf2pYythb0= X-MS-TrafficTypeDiagnostic: VI1PR05MB4191: X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB4191;20:f9HCb4/IHnE5uuhrpJJMljbV0CArp7Hq37OGA43lpoRs+V6z10Z1PbROAvGkZbf/jhe663WXGGnWLmW8vHDP4YKAoQmE5VILn9rB2FV/Kyrb38eRy/05/5ESSPfffywPSzNebZygSWp2zP4tYKAiN3nJCoDY8Ek+JUqtdjxmatwZpKNI17iQvy/Eyi/eCRkQg42VXNT9XXYkfSBsdaglStRZcwMxJO75nZXf82c8U7JZflOFffQ4oFAHBFQ58myOCnxwFrrvXO0M4+d2T+BpdO+oJdKt3Loek9+DHUBcaCGkbJKK+M8LyCQFY6/nl5qPjTyhey4vKKC0+tffVH+6W5vWpwuHMzwEL3cRqaltPj6IgWRKCzEJ5MUGaQ8l+UvidOSE+atjTeRL/f7pN6T5Ueiipv97WbfSc1YXXJQECpZYd6s+eyqCBVWi6OoJvPDZRYktDx6Apnjplpaa5/k3IchgWyGQfm/7pYQFjl40q/KDf1AvAGczsCV7GeuazwvH;4:9xtWDcMQyga0YeF8H0AKDLSzfVyXW2kuLq4FSeU4IxBaaWmDBC8gupCoYJ8tcS1vaF5MOfemdf/CTfYbaKvegvuqdi77682FFR6v24T/zojGwodbQdKw9aiuuxD7r7nuluQ8SoNgL+mZSeX2mn3HWDUVksaTvQH4XIYAMfHL6ZMcA1EWN7QfnJxco0aqo6MQFf7bqTVPZFhkQLnT3jeDFXPNqec1UoHlpCEwgBqqW/XO8s9oiZnvJyV4qg+iV7bxWyrtbvYMuNliN+2Lts8DRw== 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)(93006095)(93001095)(3231311)(944501410)(52105095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016);SRVR:VI1PR05MB4191;BCL:0;PCL:0;RULEID:;SRVR:VI1PR05MB4191; X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(366004)(346002)(376002)(136003)(396003)(39860400002)(189003)(199004)(66066001)(956004)(4326008)(81156014)(81166006)(476003)(2616005)(8676002)(305945005)(6666003)(8936002)(25786009)(486006)(48376002)(14444005)(118296001)(5660300001)(50466002)(446003)(36756003)(2906002)(52116002)(51416003)(478600001)(3846002)(16526019)(6486002)(58126008)(6116002)(86362001)(6496006)(186003)(16586007)(316002)(11346002)(7736002)(47776003)(53936002)(26005)(386003)(105586002)(97736004)(106356001)(76176011)(68736007);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR05MB4191;H:t540p;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB4191;23:alPtcAx8frQV4mtm6Brcn5ufa73MOLZRR3FaxmWzC7sdVtfB9bCBYruCMhxsP8qLb2BYLbxWa1H2+VKZ+yP0hWoSfED0CjwEklFImg+AbEK7DDG+HeMOYY6p8+NQItTn5ebPlgdo7/5uvB5fFf2KedsesHz1X8i0EnPTDPp2Y1ErMBoqa2DFQVjmmxShihS+eBCt3u0ZrkU/pH3EP/Uv1mm8B4/28+7cCbN/x6jWZ8XSVl3Lo/c3mjQa1m1hLEEYmVdgkWZ/gZw+bOFAkf7zSC/ATckd0YhwJxcFviVPAt9TGiKccFgZNSul8So6Jidphu0QiM4GyWcCyzitw7nNh14yUuQct6+tNx9kWKxAouCZpQthf8lNeA3QI7ijtayyScErb3bCCaawhvVo7mllEQknqoQ/BJCvB/ZOCnDr7yBiAROOCwZlZtuCzyD2YApwF2eQHT4IBDBAOK+hxAgT9aUHzr+kK+iq+kn1FPOLVp0A64un/v+6zCLpWAqbATTYJrr1wSiQGb/mk6ljt0B1Z9mpUKXIHMWoIymO6i45Zo1+CAex3GH4bfL/2TtcEJyCvLQ8BWURSbUKu0iepPxCeIaGHtEzuhGk84nHZ9hmdRIth6wH8a+aA41bg1vvvKk3voEeItrDg3xzI5tyxjyXhWdN24fR9s22wkoKGIqZ+DVlHVAn6863cY6Rsb5pX/HKmP89WEMjQ9cyInsiYqVD8NdW+gKwy88rYskRHAm8oSnWabcjFSoJ6hbd7Bw1em7g8L8V6SsVDELqxTeyupNkumEpFMQi2I/vtGJrxvLuRHav5Wj96O/9/NSusZXoO5U0mOtlJR8MdGTajhsxi8Mj5wLvTErZzKs51n7f9tFVUQK8Pi5yqAXEi8zEVmpj0Dxh6XLJMeWDpf2iInvr8goNoS7JvSs0LAxRMJQNnnIv3f2k4FM0edJ7/OkGHlsD7nECi2xVsmzSZ/ZGoWZ5FQg4qSzlKkkj7NB6FXzdOBkx1UF7qGSc8n80CxXZyYSWGCc4zWLBOr4hCfgLXUE6hxVeh1xe85a4HB5sIY1WMAHts2gM8iTjJSGreGg5GKQHvNvOl2jKwDwgu4P4UyxeuadMVc5TOz1rwoeLr22HIoHZxSgfhZcutbCIBb3pvf4Cs4RsfCtn+OsPiHK0itCXzrR6PA== X-Microsoft-Antispam-Message-Info: KiOqWMg0fAqVw3n58j68wl2VhkNTWLdb+rPjA1noEqNDGw8imzwu5Nbl0XBdPK3IR4o6+71JwaMJDHQq06TGt8ooMwE8x7/2m8hgPNO6r62Ci39SXYNgQH4zMTi1D50c1qgyOCoVN9qjGvRQr0nMd7J48dy3nceHvEvnECKaO0kVkli63IEhoWYvTkOuv9u3coktZpg9mrhXV8XhJA72vWiz9sXLFdFSo13nvQi+g9YFF8R9xwIZVH1jmiiiYaSqztxRBro2Et+tKuakVxXpBD60akyLadSEl8ifgjMYWT9eIEm/EpbbM5QerVGpBcluylm2sa734wDX3ED+nnBwZHT0liIv7YEeQq8tv7yI0fo= X-Microsoft-Exchange-Diagnostics: 1;VI1PR05MB4191;6:betaB5QMuG1gtF/I1xo+0vaT3ryO3wkUm/7r0R+xH7oTGACL1q6pO50pHC/5j9ulqpwWZV/CbzyJQt7tgFu809lsT/isM4D8ho8rZT8owOJ0QfmzlAeeft271ZYxp/9i9+y6C4M1q7pmXoNLefoJulcExJmfgPVTvU18TYb/b9urUK+18GLAfEaB+Ib2gthaqlSIqRNH6EUDh6HaFMmcgknrUpxZdBcU8lhhlmq7MXN9fOx9QTv26NwIqdJT15tp4azGOaL0+bCpjflgKdlUXkyIbeopheQyce5w+uLWx+9aFcpG0en2YRWVUI8C+uG6rmaYQxyg2sfli3YlIuQ5NaZBP3eWPoorXIvDEqkAf4M+BsSzkQs+G/HRXkzW+OE5XhvVAbmkHPW6H3Ut3/nmDeXN7hOX+RVlKCmmbg3saMGTCEv9jX7FfGxQ9sJuu78ifaWLjDugZJbD2h8dDTl2aA==;5:jdiZ/XRttmC7kZ2wejBnvqx4Vd2RmYkz5WkTCjgdrEpH6zoa4+VfgC7O29TrOCwebiOBsltCgt9+Cu9DHWlwQTOO3G7aEx6ExATj0nT1W/JOH7FnRqe681JGvHi/EhtawRXmhDgxXHZMxk0mLrTOjPH+CLgDF08euSKLKVnoyPE=;7:j7WZiXzCaOp711eKxBh3Bid4Acp6f7bGqxY75mn4K8TWqpZ854hIhIcUxmxustRQqmPR43/joBwqPPbJg6PXJ91nvdRU+lRPWTJ7Skpfu1hanZXbHoS1hHUuY8EZxzFe3zHxMxdwcArERts2f4zSm7DJfepgixrnKR8WfPNLQ0IZp5+Xlb16uSgsqzKXDZgFkdTZftL6kpTRxCibYKcMVTYTzFd8EmvLZEsOwMiZBimLWL5PRFjBl4BFSZQByMRn SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2018 14:40:12.2423 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ca64cc2c-eac2-46c0-bdb4-08d5f62a5b4d 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 This tests mirror-to-gretap when an underlay packet path includes a team device which is not in loadbalance mode, but in LACP mode. The test manipulates LAG membership to achieve changes in txability, thus making sure that a driver that offloads mirror-to-gretap doesn't just consider upness of a device. Signed-off-by: Petr Machata --- .../net/forwarding/mirror_gre_lag_lacp.sh | 285 +++++++++++++++++++++ 1 file changed, 285 insertions(+) create mode 100755 tools/testing/selftests/net/forwarding/mirror_gre_lag_lacp.sh diff --git a/tools/testing/selftests/net/forwarding/mirror_gre_lag_lacp.sh b/tools/testing/selftests/net/forwarding/mirror_gre_lag_lacp.sh new file mode 100755 index 000000000000..9edf4cb104a8 --- /dev/null +++ b/tools/testing/selftests/net/forwarding/mirror_gre_lag_lacp.sh @@ -0,0 +1,285 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 + +# Test for "tc action mirred egress mirror" when the underlay route points at a +# team device. +# +# +----------------------+ +----------------------+ +# | H1 | | H2 | +# | + $h1.333 | | $h1.555 + | +# | | 192.0.2.1/28 | | 192.0.2.18/28 | | +# +----|-----------------+ +----------------|-----+ +# | $h1 | +# +---------------------------------+------------------------------+ +# | +# +--------------------------------------|------------------------------------+ +# | SW o---> mirror | +# | | | +# | +----------------------------------+------------------------------+ | +# | | $swp1 | | +# | + $swp1.333 $swp1.555 + | +# | 192.0.2.2/28 192.0.2.17/28 | +# | | +# | | +# | + gt4 (gretap) ,-> + lag1 (team) | +# | loc=192.0.2.129 | | 192.0.2.129/28 | +# | rem=192.0.2.130 --' | | +# | ttl=100 | | +# | tos=inherit | | +# | _____________________|______________________ | +# | / \ | +# | / \ | +# | + $swp3 + $swp4 | +# +---|------------------------------------------------|----------------------+ +# | | +# +---|------------------------------------------------|----------------------+ +# | + $h3 + $h4 H3 | +# | \ / | +# | \____________________________________________/ | +# | | | +# | + lag2 (team) | +# | 192.0.2.130/28 | +# | | +# +---------------------------------------------------------------------------+ + +ALL_TESTS=" + test_mirror_gretap_first + test_mirror_gretap_second +" + +NUM_NETIFS=6 +source lib.sh +source mirror_lib.sh +source mirror_gre_lib.sh + +require_command $ARPING + +vlan_host_create() +{ + local if_name=$1; shift + local vid=$1; shift + local vrf_name=$1; shift + local ips=("${@}") + + vrf_create $vrf_name + ip link set dev $vrf_name up + vlan_create $if_name $vid $vrf_name "${ips[@]}" +} + +vlan_host_destroy() +{ + local if_name=$1; shift + local vid=$1; shift + local vrf_name=$1; shift + + vlan_destroy $if_name $vid + ip link set dev $vrf_name down + vrf_destroy $vrf_name +} + +h1_create() +{ + vlan_host_create $h1 333 vrf-h1 192.0.2.1/28 + ip -4 route add 192.0.2.16/28 vrf vrf-h1 nexthop via 192.0.2.2 +} + +h1_destroy() +{ + ip -4 route del 192.0.2.16/28 vrf vrf-h1 + vlan_host_destroy $h1 333 vrf-h1 +} + +h2_create() +{ + vlan_host_create $h1 555 vrf-h2 192.0.2.18/28 + ip -4 route add 192.0.2.0/28 vrf vrf-h2 nexthop via 192.0.2.17 +} + +h2_destroy() +{ + ip -4 route del 192.0.2.0/28 vrf vrf-h2 + vlan_host_destroy $h1 555 vrf-h2 +} + +h3_create_team() +{ + team_create lag2 lacp $h3 $h4 + __simple_if_init lag2 vrf-h3 192.0.2.130/32 + ip -4 route add vrf vrf-h3 192.0.2.129/32 dev lag2 +} + +h3_destroy_team() +{ + ip -4 route del vrf vrf-h3 192.0.2.129/32 dev lag2 + __simple_if_fini lag2 192.0.2.130/32 + team_destroy lag2 + + ip link set dev $h3 down + ip link set dev $h4 down +} + +h3_create() +{ + vrf_create vrf-h3 + ip link set dev vrf-h3 up + tc qdisc add dev $h3 clsact + tc qdisc add dev $h4 clsact + h3_create_team +} + +h3_destroy() +{ + h3_destroy_team + tc qdisc del dev $h4 clsact + tc qdisc del dev $h3 clsact + ip link set dev vrf-h3 down + vrf_destroy vrf-h3 +} + +switch_create() +{ + ip link set dev $swp1 up + tc qdisc add dev $swp1 clsact + vlan_create $swp1 333 "" 192.0.2.2/28 + vlan_create $swp1 555 "" 192.0.2.17/28 + + tunnel_create gt4 gretap 192.0.2.129 192.0.2.130 \ + ttl 100 tos inherit + + ip link set dev $swp3 up + ip link set dev $swp4 up + team_create lag1 lacp $swp3 $swp4 + __addr_add_del lag1 add 192.0.2.129/32 + ip -4 route add 192.0.2.130/32 dev lag1 +} + +switch_destroy() +{ + ip -4 route del 192.0.2.130/32 dev lag1 + __addr_add_del lag1 del 192.0.2.129/32 + team_destroy lag1 + + ip link set dev $swp4 down + ip link set dev $swp3 down + + tunnel_destroy gt4 + + vlan_destroy $swp1 555 + vlan_destroy $swp1 333 + tc qdisc del dev $swp1 clsact + ip link set dev $swp1 down +} + +setup_prepare() +{ + h1=${NETIFS[p1]} + swp1=${NETIFS[p2]} + + swp3=${NETIFS[p3]} + h3=${NETIFS[p4]} + + swp4=${NETIFS[p5]} + h4=${NETIFS[p6]} + + vrf_prepare + + ip link set dev $h1 up + h1_create + h2_create + h3_create + switch_create + + trap_install $h3 ingress + trap_install $h4 ingress +} + +cleanup() +{ + pre_cleanup + + trap_uninstall $h4 ingress + trap_uninstall $h3 ingress + + switch_destroy + h3_destroy + h2_destroy + h1_destroy + ip link set dev $h1 down + + vrf_cleanup +} + +test_lag_slave() +{ + local up_dev=$1; shift + local down_dev=$1; shift + local what=$1; shift + + RET=0 + + mirror_install $swp1 ingress gt4 \ + "proto 802.1q flower vlan_id 333 $tcflags" + + # Move $down_dev away from the team. That will prompt change in + # txability of the connected device, without changing its upness. The + # driver should notice the txability change and move the traffic to the + # other slave. + ip link set dev $down_dev nomaster + sleep 2 + mirror_test vrf-h1 192.0.2.1 192.0.2.18 $up_dev 1 10 + + # Test lack of connectivity when neither slave is txable. + ip link set dev $up_dev nomaster + sleep 2 + mirror_test vrf-h1 192.0.2.1 192.0.2.18 $h3 1 0 + mirror_test vrf-h1 192.0.2.1 192.0.2.18 $h4 1 0 + mirror_uninstall $swp1 ingress + + # Recreate H3's team device, because mlxsw, which this test is + # predominantly mean to test, requires a bottom-up construction and + # doesn't allow enslavement to a device that already has an upper. + h3_destroy_team + h3_create_team + # Wait for ${h,swp}{3,4}. + setup_wait + + log_test "$what ($tcflags)" +} + +test_mirror_gretap_first() +{ + test_lag_slave $h3 $h4 "mirror to gretap: LAG first slave" +} + +test_mirror_gretap_second() +{ + test_lag_slave $h4 $h3 "mirror to gretap: LAG second slave" +} + +test_all() +{ + slow_path_trap_install $swp1 ingress + slow_path_trap_install $swp1 egress + + tests_run + + slow_path_trap_uninstall $swp1 egress + slow_path_trap_uninstall $swp1 ingress +} + +trap cleanup EXIT + +setup_prepare +setup_wait + +tcflags="skip_hw" +test_all + +if ! tc_offload_check; then + echo "WARN: Could not test offloaded functionality" +else + tcflags="skip_sw" + test_all +fi + +exit $EXIT_STATUS