From patchwork Thu May 31 17:52:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10441585 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 BC5BE602BC for ; Thu, 31 May 2018 17:52:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A9CF128F4D for ; Thu, 31 May 2018 17:52:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9E37728F92; Thu, 31 May 2018 17:52:58 +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 15E9828F4D for ; Thu, 31 May 2018 17:52:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755962AbeEaRw5 (ORCPT ); Thu, 31 May 2018 13:52:57 -0400 Received: from mail-db5eur01on0082.outbound.protection.outlook.com ([104.47.2.82]:56512 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755952AbeEaRwt (ORCPT ); Thu, 31 May 2018 13:52:49 -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=ioFdLSaAjzdu6Go71eeHd1HDKhvFiFRG2xBvl70VEAY=; b=js1Dmw+uJ4T/3b/amehHX0oK4OqwkiUtzIDzyYpVbPZpOAQI0iiWQ6DyMcuJFJNniyFEAwof7OSUfe8KBW550fgWjrQrC4ITs4lSvES59vH9T0hn3dvCibVp7kLgQ0mn2CV1uN8IJBnOLYqW8xW6AI3N1oVDg1latX4lXg+mPts= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by AM6PR05MB4182.eurprd05.prod.outlook.com (2603:10a6:209:40::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.797.11; Thu, 31 May 2018 17:52:46 +0000 From: Petr Machata To: netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: davem@davemloft.net, shuah@kernel.org, idosch@mellanox.com Subject: [PATCH net-next 8/9] selftests: forwarding: mirror_gre_vlan_bridge_1q: Add more tests In-Reply-To: References: Message-Id: <97030eb79ff7eefcb457e53711ec68e225a44d33.1527788672.git.petrm@mellanox.com> Date: Thu, 31 May 2018 19:52:42 +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: LO2P265CA0117.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::33) To AM6PR05MB4182.eurprd05.prod.outlook.com (2603:10a6:209:40::27) 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:AM6PR05MB4182; X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4182; 3:xxv4OQkO/DQHK+NI8z+6RmGJgTOcZ49bspyG+Om0oUAGz2qE95EGHDW+FrL5AuYQeMoCU7qR/VjxPs+wmzg+AGVgaqVZlxGVjj2qKo9yp0fNwhwzCLGVTi36sRNzlGv7CR5muHZiOLI7R4c5DFl+/Rdnzk4frQJIOaWOQsFdlO/xkqTD9OtDcBwgA+Zo3eMAuQL+utvEmrt/EdTANc6UidJPrhmwS6ilkjwvdI9VxLikiR3DVDnSkvCa94v+FdY9; 25:Tjzjpmr8l9nP9SShpd1lm0q2q/VtyHEl6SQzTxKH7mS3tt5YpPACfzhSnp7lvHUV4W3uf9v7r0yEssciA8x0hbOtxP2lMBbeQn5vSqAU+uqnFSuPKHIdN2W8a7mUH7QhIUl0cu7Ftl+P6kpRaXafjkeaY8nbKEmcY/8lO0c7Q6xK6rEP7nONsJJeP+GL5AhKh1d1H99oKWbhCE9jbe2G8v0P5icD6jdKXjuL49aDZQgiqyxs/0INVab+Y5cEDpbJlydJ4xh66xklhVaf5Af2z97Ljbmj5NtjynS3w4Q5eYwd8sxhNO3aiXusMHBh85HLFNAplKu3lHGYza5Q6UgSWA==; 31:5MmJ3M8JOFm0YFt4YeIZ7y/6qqCKPscZoxx/ROafiioq1n5xVuv2CjiGi4ZIvvZL2RFrhs6LwNJvJdkH6d9vBu/5kleVOT0bn6qcDwOvSnND1KXQjKB5/EHhwnVQuBWJIL6F4GP8cjCK62aG95E7FlJClvbXQcuPZ9YcExPwCBmsnw52LtWiyOMMcxq6FWF0dYOBJVoOiERbb8+3kC0fQ+aPV/zk00r0se5DQgnNfLw= X-MS-TrafficTypeDiagnostic: AM6PR05MB4182: X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4182; 20:l74Vt/lNWTknV/CPsD06HeWJDt9bcN5RL/6UnRdB2mEle3Ue2WK3F7J05MmSnISPYsF3w2tFPEBQjK8Kz8xei1cGTf/OmFLbQASdgH/mMo6qYr0896uSQl3yhTf/kP8AWvZpQFyZr59pGcISU6yc4oNLu7+/IyFQ1apiPzAAPzB8sCN1RB+Z12i59ALRwzBabObNTHLleyutlPZKeSED1xxubdagSgetzTfz7q3Uk1MGTSySGZR0IIf4hn5z8eNFexqHuNKXueCd1NtZuJleaQKWb+NUbL/oV67WxbXMQawPlRj+1ZtFb6lXCc2+Y5sHzB0SoHQzRPUXZVEOOX6fctuTIRfw3p9WR4YgTpXtO67S+UrTV7E4V/WLTys4n6Gg6crTS1i80sMGYhThr7QttFTOoC5GtL3Keqd9N/vWru4YG9mf3Yca2yA9pz2SL77tFYeO2fqYRGKSkrtI7M5fEIoImuclLbNlCuzP2Ab42RSfl13D4CBXn6rSuNUJd7Fd; 4:M7dxz4QNmXdb+viJtQatV1h+5YdOkupzn73qBAszQRV6VFjVKC6hL1E8W67ZA8PuzeHgc6CW1rJh3F/uXeYKXuipDr1E91TB/gjXfJYD5okV0UQZcYyhQGdBe8SMulyogxBKjKSTM5a2emIZXzZX2+ex0hmEX7TeDiN9XpY+iy/zBY5CnY/9+ZxtcaYG0vpGYfxKpfJTC+9Ihr2ZyESQnB+fImFek9Kyuqzan5Ohp9iXxYk+/ZAkBUogD74cYNdbftBxL9Vgu+gr3PkY1bZUHA== 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)(3231254)(944501410)(52105095)(10201501046)(93006095)(93001095)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:AM6PR05MB4182; BCL:0; PCL:0; RULEID:; SRVR:AM6PR05MB4182; X-Forefront-PRVS: 06891E23FB X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(39380400002)(39860400002)(396003)(366004)(189003)(199004)(8676002)(316002)(76176011)(118296001)(81166006)(107886003)(5660300001)(86362001)(36756003)(446003)(386003)(51416003)(6116002)(3846002)(25786009)(50466002)(81156014)(2906002)(58126008)(16586007)(48376002)(16526019)(15760500003)(68736007)(4326008)(6666003)(486006)(47776003)(66066001)(6486002)(106356001)(11346002)(105586002)(478600001)(53936002)(52116002)(97736004)(956004)(305945005)(6496006)(476003)(2616005)(26005)(8936002)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB4182; 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: =?us-ascii?Q?1; AM6PR05MB4182; 23:kq51UwMk5milGylrT03fMM9Npv8xsvh+p0RM1MuZ3?= =?us-ascii?Q?iQHckP1ffuNmCYmWniTamDPvGd9BCbXbaDKPCOX5Ai5Q9ziGh4KT4sBaSvnB?= =?us-ascii?Q?gESsM87qCH3qpqBUg6+6t82dktCJ/CyXpWcdxNQ2xj27rwGPFm9e/W0/KHxn?= =?us-ascii?Q?o69ciMCTloJX7dEPeyAUDgHJUZDQPFvMCRmkDMwlF0TpD/N9D+MaCTTc+rkV?= =?us-ascii?Q?FABbzgJUs1AtXK8oHCqevDuE4cnQGeQEX2sZkdwQOrlw8e7v+DLg+849huet?= =?us-ascii?Q?hGBBjbFE0aRbDN+JdR11YWCu0U2cfywK8AFhUPym7Tb5sDEyl+4QiTeB6StS?= =?us-ascii?Q?+Ywyp6D4Wl8kZ/kBmclV7jNVky+qMpMsr2LF3SHDH8hNC+BJNHugL7WdahOO?= =?us-ascii?Q?DvyUKy7sdJX3g/gD8mW4i3ldd9Ljb90I1NNVrasQHxvgh5Q9pjsRZRtj0ERA?= =?us-ascii?Q?uZj+czEAXlkKNjTHqdYjazdEGpXousVD/m3R3rCJpRKwhC7cFRxOmf0gsvzC?= =?us-ascii?Q?SHxuuYTlrAnkSwoXk/T2Kflm7jngXDgrNiTURzYUScIRwnk7vPoEnHv66ES1?= =?us-ascii?Q?SsfNCZA1pfyAgGOqoEJcKpxbOYtEsHyapE4uk+2qQUpgtvA/dOFwfLsT1XXy?= =?us-ascii?Q?sqSd+oBFBNGd9aozu8nxep49WB5B7XX3t76BKOujBFZsF6FChSy0fwuq4qm6?= =?us-ascii?Q?pPI+CqpqrwqSZPzxb89xc8qCusAHe8TwaZuhWMUsBijfNRiZZbz1luvps94Q?= =?us-ascii?Q?G+HWmOMtsmQkacmqVzf31LGKlFitf5qGnrsRRkH8iPeke0JuVxX2MoNf3viJ?= =?us-ascii?Q?M5kct/km7/KSVb3qUZcZSS2GloeN+lq7tfXnCMrq06MMq4Y66VWrWTZGlAvJ?= =?us-ascii?Q?7+uGjer98JJxpqOMwCXu0px/hTWQGMHLyGjiefoU7Riyh9LJMW1RZSCzfXnd?= =?us-ascii?Q?7i+G48jvq8oLkB9Q5aBQsmtYly0H7bY8dZ92vRjrTsojslzQJ8RFbCPKSZqi?= =?us-ascii?Q?7AQZy95aL4a0x7jByPtAbH6Dr4XnORVkv1X45pNqYwjIneP1+Sno5BKSISlY?= =?us-ascii?Q?18MQjawT+BSwBdJPn88W08LQROM60XSqpt7OhjDln+pDHLfqwY5i9PCtA9HW?= =?us-ascii?Q?D3fCW3IBS6tSZ57SuH2yWC458oCYwC/4lXGuM+SzOAPT/I1lEWmAU1w7pVTG?= =?us-ascii?Q?txUgK9bmmr8wTs=3D?= X-Microsoft-Antispam-Message-Info: nsExC5pB7t0H3G9PlWH/mLdUJuysJCCIeXfHAHTKW0x0q4nYFLvTtF51hCzBJD5C9cn3TWIfkbJbHYQ+pBfi5yhNomlKHmFz0ju9Fg4iWxGbAx/M3ivKijEDfVr+cWZAlJb5q7mb+C3YdtWlcXRIVwLdydtxlxAtmfCovnriseFn5M508X3M6tucBSFpRK3h X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4182; 6:bFnytG9704TtDiv3vcxFcqWZf3YA2WALulUQmoMr8oCfl9/TVjvzmegZRzDEd/GESOexOb4fDvdMncm9kSMQmiK4xFanM2BfKJbOBxkfEhSA/khC6Y193BEgBNNbd0hin5Gy0NVbnWQHDHX0Y3lirPH+u5PwcHPEsYDUhEptG5UFfe9nU17klqf4vDfXqXDE+k21hb26ev4fu7Tw0kwVwWLhy+mgjKGeGz5L8gHjo/xUXJQqQDNS/WKC7XWZSG0UklP3ssdc2N4N/6SS/vjlcPey3Id4vHTrGBGEipA/hAXFyhK6zHIqpl+ljK75NWtnZxOcpL5cHyf2cX2QLdmULuJtH18NsRCs3QG0e0PehdiPlXjmNYFGQHgxiq9KofMLlUVt2h1DgtPrFm+Zj4i9y8VFjxErSaFyujHyIrVRaqashzQ4xM3KyHDxsj4x43C2MRPzU5HAvpgL6DbMd0kt2w==; 5:jfARQK0Y4sjRo2IM49bZ42ci+LDS/RIsWRlQZvdn5+4/OFH4ozuvVMSTX/ogtLi2YkuP/fjVS3IEDuVOYZgFCzFWhrd5AoMGzSKKlvY4BmNSMsndmmfqklL3gWmfc1HN07sMms0uUcMGHGohFmpaD/6A3EYHF8/SDTbJYS7Aeew=; 24:tT0pTBeQtI4R1ftTaAmGAhFBjmKcmBUzokW9g62IBzqMQlWtPeAndisoYFQlBNcNzB/CIyWoQM2zZuRrIfl6ogTHbDhcqoFngNWlVZlwrtc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4182; 7:ZwQvp9qMRTCuhJbgpasNAVStFO52dprsEfvEqKRmc+yZna9wpbmR1aZBPJZsVsFOsfCILB/87391gEOmQ0IAcYIw20Ci2lfNhDAhW+HtAV/p1SpSNLLLDq7wOtEBpVHNI/OgcWpSItSFU2xhcywGKusW5IMF5oyRokXeQBxHeoezXp+YK/clTmNzLJhCLyhfKwRfMnp0j0FW0KRclXvgiO7/TxwgiPNwowTFXFV5GYV7eOQFmNQwP/hZ9mCWG8I9 X-MS-Office365-Filtering-Correlation-Id: 6c643347-7878-4aad-3f1d-08d5c71f5197 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2018 17:52:46.6292 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6c643347-7878-4aad-3f1d-08d5c71f5197 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4182 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 Offloading of mirror-to-gretap in mlxsw is tricky especially in cases when the gretap underlay involves bridges. Add more tests that exercise the bridge handling code: - forbidden_egress tests that check vlan removal on bridge port in the underlay packet path - untagged_egress tests that similarly check "egress untagged" - fdb_roaming tests that check whether learning FDB on a different port is reflected - stp tests for handling port STP status of bridge egress port Signed-off-by: Petr Machata --- .../net/forwarding/mirror_gre_vlan_bridge_1q.sh | 129 +++++++++++++++++++++ 1 file changed, 129 insertions(+) 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 d91b347..5dbc7a0 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 @@ -12,6 +12,14 @@ ALL_TESTS=" test_ip6gretap test_gretap_forbidden_cpu test_ip6gretap_forbidden_cpu + test_gretap_forbidden_egress + test_ip6gretap_forbidden_egress + test_gretap_untagged_egress + test_ip6gretap_untagged_egress + test_gretap_fdb_roaming + test_ip6gretap_fdb_roaming + test_gretap_stp + test_ip6gretap_stp " NUM_NETIFS=6 @@ -43,12 +51,14 @@ setup_prepare() ip link set dev $swp3 master br1 bridge vlan add dev $swp3 vid 555 + bridge vlan add dev $swp2 vid 555 } cleanup() { pre_cleanup + ip link set dev $swp2 nomaster ip link set dev $swp3 nomaster vlan_destroy $h3 555 vlan_destroy br1 555 @@ -112,6 +122,125 @@ test_ip6gretap_forbidden_cpu() test_span_gre_forbidden_cpu gt6 "mirror to ip6gretap" } +test_span_gre_forbidden_egress() +{ + local tundev=$1; shift + local what=$1; shift + + RET=0 + + mirror_install $swp1 ingress $tundev "matchall $tcflags" + quick_test_span_gre_dir $tundev ingress + + bridge vlan del dev $swp3 vid 555 + sleep 1 + fail_test_span_gre_dir $tundev ingress + + bridge vlan add dev $swp3 vid 555 + # Re-prime FDB + arping -I br1.555 192.0.2.130 -fqc 1 + sleep 1 + quick_test_span_gre_dir $tundev ingress + + mirror_uninstall $swp1 ingress + + log_test "$what: vlan forbidden at a bridge egress ($tcflags)" +} + +test_gretap_forbidden_egress() +{ + test_span_gre_forbidden_egress gt4 "mirror to gretap" +} + +test_ip6gretap_forbidden_egress() +{ + test_span_gre_forbidden_egress gt6 "mirror to ip6gretap" +} + +test_span_gre_untagged_egress() +{ + local tundev=$1; shift + local what=$1; shift + + RET=0 + + mirror_install $swp1 ingress $tundev "matchall $tcflags" + + quick_test_span_gre_dir $tundev ingress + quick_test_span_vlan_dir $h3 555 ingress + + bridge vlan add dev $swp3 vid 555 pvid untagged + sleep 1 + quick_test_span_gre_dir $tundev ingress + fail_test_span_vlan_dir $h3 555 ingress + + bridge vlan add dev $swp3 vid 555 + sleep 1 + quick_test_span_gre_dir $tundev ingress + quick_test_span_vlan_dir $h3 555 ingress + + mirror_uninstall $swp1 ingress + + log_test "$what: vlan untagged at a bridge egress ($tcflags)" +} + +test_gretap_untagged_egress() +{ + test_span_gre_untagged_egress gt4 "mirror to gretap" +} + +test_ip6gretap_untagged_egress() +{ + test_span_gre_untagged_egress gt6 "mirror to ip6gretap" +} + +test_span_gre_fdb_roaming() +{ + local tundev=$1; shift + local what=$1; shift + local h3mac=$(mac_get $h3) + + RET=0 + + mirror_install $swp1 ingress $tundev "matchall $tcflags" + quick_test_span_gre_dir $tundev ingress + + bridge fdb del dev $swp3 $h3mac vlan 555 master + bridge fdb add dev $swp2 $h3mac vlan 555 master + sleep 1 + fail_test_span_gre_dir $tundev ingress + + bridge fdb del dev $swp2 $h3mac vlan 555 master + # Re-prime FDB + arping -I br1.555 192.0.2.130 -fqc 1 + sleep 1 + quick_test_span_gre_dir $tundev ingress + + mirror_uninstall $swp1 ingress + + log_test "$what: MAC roaming ($tcflags)" +} + +test_gretap_fdb_roaming() +{ + test_span_gre_fdb_roaming gt4 "mirror to gretap" +} + +test_ip6gretap_fdb_roaming() +{ + test_span_gre_fdb_roaming gt6 "mirror to ip6gretap" +} + +test_gretap_stp() +{ + full_test_span_gre_stp gt4 $swp3 "mirror to gretap" +} + +test_ip6gretap_stp() +{ + full_test_span_gre_stp gt6 $swp3 "mirror to ip6gretap" +} + test_all() { slow_path_trap_install $swp1 ingress