From patchwork Thu Jan 31 22:35:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 1034501 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="rfZlQ6Tl"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43rFS02cLNz9sDX for ; Fri, 1 Feb 2019 09:35:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729623AbfAaWf1 (ORCPT ); Thu, 31 Jan 2019 17:35:27 -0500 Received: from mail-eopbgr70075.outbound.protection.outlook.com ([40.107.7.75]:14830 "EHLO EUR04-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729472AbfAaWf0 (ORCPT ); Thu, 31 Jan 2019 17:35:26 -0500 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=usOJ/rymEjtc2GZnjWhfUBGx2s9MYjfU6Kes0VV3CVc=; b=rfZlQ6Tl8KcS+rY/zY13ZU4DS9DOk/rVyJXvcbTMri+TXjUIZF2uwjp3LzwoK0BBVa2tQhm4Fk3vyvBjCmCUcHS3Xij0kD4akfciYEY4nnYef9k2OMWo4RP9ViOwfzUATl+M6cjDc8l7giefuq45/MP9aDKu6GzJ3eF8n4vlkDM= Received: from AM6PR05MB4885.eurprd05.prod.outlook.com (20.177.34.225) by AM6PR05MB6470.eurprd05.prod.outlook.com (20.179.7.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1580.17; Thu, 31 Jan 2019 22:35:18 +0000 Received: from AM6PR05MB4885.eurprd05.prod.outlook.com ([fe80::3830:b2de:562:1fe6]) by AM6PR05MB4885.eurprd05.prod.outlook.com ([fe80::3830:b2de:562:1fe6%4]) with mapi id 15.20.1558.025; Thu, 31 Jan 2019 22:35:18 +0000 From: Petr Machata To: "netdev@vger.kernel.org" CC: Ido Schimmel Subject: [PATCH net-next 06/11] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix untagged test Thread-Topic: [PATCH net-next 06/11] selftests: forwarding: mirror_gre_vlan_bridge_1q: Fix untagged test Thread-Index: AQHUubU+NgfbflehP0eRgyDBU3SxYQ== Date: Thu, 31 Jan 2019 22:35:18 +0000 Message-ID: <7b8afa1552197693dc2ddfb563ae1926a23fb6a9.1548973731.git.petrm@mellanox.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM5PR06CA0027.eurprd06.prod.outlook.com (2603:10a6:206:2::40) To AM6PR05MB4885.eurprd05.prod.outlook.com (2603:10a6:20b:b::33) authentication-results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [78.45.160.211] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM6PR05MB6470; 6:75BKKixB0MuNxUVb11cPfx+qJY8z/21ERkigIZgmDfx44eFzYAiuCcePhJE4VWXUPMvloo7I9P3Xqkg40OchbAn2QtJQJU+5ckGkPuf0in00+W7a1hBiMWqAs6FAXxl0YL89LxPuz9fVXB1DdKjcwIwA/Y6bR1+qEFlZoLCIw7FRKpDCOuclgj+wrnUCiCVmHuMb9r9qJGhumqf2lj+FetE5ctgLsq1FJUMENiy92JYW3rQBjmG5iVBnhEqRn4Wvpbw+QPVdAA+dSOnAuY2A9lRZJ6Q4h9p5VG3k0uF999Q9NPEEYfVQ9Le6XqnJki5Xsc6fpnvis5Byd9xQ7GVAHf7ogvAvlwBDKInwEiNTwSiX7eu3OjTgxZg2PxMHOsbeoGvzqINETPArfAXY3FdzF1fmBH6aSojvVaGYVEy20jwdk07RbRJkmaJ6w9QYs5M0HP4fbFNXhH/VKSSRRhfnKA==; 5:ud1NOCYhOt4ymApyokD48qRUvlPCvRqChoXuZMzqVfIcuNcZQe0DJavpoDoG91FX2RRhJcgqXKAqt9bnxCjkzXJam5rKFdj+UWB91V3d/SmljciJKFWnMKhMes31kbQhKH1o8wjC6DarK4k5nQU66YcMe+PwscQmF+ljC8mv2obtgNcQ3Nt9s9kquwsLu7sML5IpHfaldqgB+6Vsj4/2IQ==; 7:vbVo4OYltW1WXmE5Z9RU7OOK+f60AQoFwlYKaN9ICz9RBq4JxCHl+qE1HySMTvATjCkZTo4L/uLVQ7FCxtJ7K8535SHHd62Is2DuwMuVKaDVaFaOjMTS6wQ45rrZzzWK+sQ3lGUVtRx7RQ1jZ71Jqw== x-ms-office365-filtering-correlation-id: 1e8515bd-a048-489b-1a14-08d687cc60b4 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM6PR05MB6470; x-ms-traffictypediagnostic: AM6PR05MB6470: x-microsoft-antispam-prvs: x-forefront-prvs: 09347618C4 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(136003)(346002)(376002)(396003)(39860400002)(199004)(189003)(105586002)(99286004)(6436002)(3846002)(7736002)(86362001)(6486002)(76176011)(4326008)(6116002)(305945005)(52116002)(5640700003)(36756003)(316002)(71200400001)(256004)(71190400001)(106356001)(6916009)(25786009)(53936002)(186003)(478600001)(476003)(2616005)(118296001)(26005)(11346002)(446003)(2351001)(486006)(6512007)(107886003)(2906002)(81156014)(8936002)(1730700003)(8676002)(14454004)(2501003)(68736007)(66066001)(81166006)(6506007)(386003)(97736004)(102836004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB6470; H:AM6PR05MB4885.eurprd05.prod.outlook.com; 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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: ZbiuChj0wR781T0WDEWbEHd2gMbhAIgneUPGLLlwn+IQYYP2K51UOjfX5MSGwnyE10yW4r87Yhj+Yr8zhXJOCnuhefr0F12uvUdXNykANzUi9NTr4Ip/dkbdVzNXtRRjKXusbnsCk19HiczManXxycUZyqx9N7sjGh5a8suSJWes6mnkD0SDkOA8W7bwZ5acTsSIuElqU+QMuql5g+t9cnVnPJQD9guRne4rjmuTdYTSlF87MRCN0SYZepiuNvqlU6fpBHUhCGQMFycb1d8iDTCLEtNKCtZPsMC+xumePDdFa2X4Kw8tN/Ov9W8pyw1LEl0z/XsvJQ0jSdFarrCZzqxyWQ80fxsazPcoUjm9MUK8dbDJXNjygy290znX2gf5KCtRB/9YztGgUv0tozzjdnysk2lfPlzqgRlwZC77qbU= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e8515bd-a048-489b-1a14-08d687cc60b4 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2019 22:35:18.3606 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB6470 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The untagged egress test sets up mirroring to {,ip6}gretap such that the underlay goes through a bridge. Then VLAN flags are manipulated to test that the traffic leaves the bridge 802.1q-tagged or not, as appropriate. However, when a neighbor expires at the time that the bridge VLAN is configured as PVID and egress untagged, the following discovery process can't finish, because the IP address on H3 is still at the VLAN-tagged netdevice. This manifests by occasional failures where only several of the 10 required packets get through. Therefore, when reconfiguring the VLAN flags, move the IP address to the appropriate device in the H3 VRF. In addition to that, take this opportunity to embed an ASCII art diagram to make the topology move obvious. Signed-off-by: Petr Machata --- .../net/forwarding/mirror_gre_vlan_bridge_1q.sh | 63 +++++++++++++++++++--- 1 file changed, 57 insertions(+), 6 deletions(-) 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 204b25f13934..43ee505f9f71 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 @@ -1,11 +1,44 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 -# This test uses standard topology for testing gretap. See -# mirror_gre_topo_lib.sh for more details. -# # Test for "tc action mirred egress mirror" when the underlay route points at a # vlan device on top of a bridge device with vlan filtering (802.1q). +# +# +---------------------+ +---------------------+ +# | H1 | | H2 | +# | + $h1 | | $h2 + | +# | | 192.0.2.1/28 | | 192.0.2.2/28 | | +# +-----|---------------+ +---------------|-----+ +# | | +# +-----|-------------------------------------------------------------|-----+ +# | SW o--> mirred egress mirror dev {gt4,gt6} | | +# | | | | +# | +---|-------------------------------------------------------------|---+ | +# | | + $swp1 br1 $swp2 + | | +# | | | | +# | | + $swp3 | | +# | +---|-----------------------------------------------------------------+ | +# | | | | +# | | + br1.555 | +# | | 192.0.2.130/28 | +# | | 2001:db8:2::2/64 | +# | | | +# | | + gt6 (ip6gretap) + gt4 (gretap) | +# | | : loc=2001:db8:2::1 : loc=192.0.2.129 | +# | | : rem=2001:db8:2::2 : rem=192.0.2.130 | +# | | : ttl=100 : ttl=100 | +# | | : tos=inherit : tos=inherit | +# | | : : | +# +-----|---------------------:----------------------:----------------------+ +# | : : +# +-----|---------------------:----------------------:----------------------+ +# | H3 + $h3 + h3-gt6 (ip6gretap) + h3-gt4 (gretap) | +# | | loc=2001:db8:2::2 loc=192.0.2.130 | +# | + $h3.555 rem=2001:db8:2::1 rem=192.0.2.129 | +# | 192.0.2.130/28 ttl=100 ttl=100 | +# | 2001:db8:2::2/64 tos=inherit tos=inherit | +# | | +# +-------------------------------------------------------------------------+ ALL_TESTS=" test_gretap @@ -30,6 +63,15 @@ source mirror_gre_topo_lib.sh require_command $ARPING +h3_addr_add_del() +{ + local add_del=$1; shift + local dev=$1; shift + + ip addr $add_del dev $dev 192.0.2.130/28 + ip addr $add_del dev $dev 2001:db8:2::2/64 +} + setup_prepare() { h1=${NETIFS[p1]} @@ -55,7 +97,8 @@ setup_prepare() ip route rep 192.0.2.130/32 dev br1.555 ip -6 route rep 2001:db8:2::2/128 dev br1.555 - vlan_create $h3 555 v$h3 192.0.2.130/28 2001:db8:2::2/64 + vlan_create $h3 555 v$h3 + h3_addr_add_del add $h3.555 ip link set dev $swp3 master br1 bridge vlan add dev $swp3 vid 555 @@ -68,6 +111,8 @@ cleanup() ip link set dev $swp2 nomaster ip link set dev $swp3 nomaster + + h3_addr_add_del del $h3.555 vlan_destroy $h3 555 vlan_destroy br1 555 @@ -182,13 +227,19 @@ test_span_gre_untagged_egress() quick_test_span_gre_dir $tundev ingress quick_test_span_vlan_dir $h3 555 ingress + h3_addr_add_del del $h3.555 bridge vlan add dev $swp3 vid 555 pvid untagged - sleep 1 + h3_addr_add_del add $h3 + sleep 5 + quick_test_span_gre_dir $tundev ingress fail_test_span_vlan_dir $h3 555 ingress + h3_addr_add_del del $h3 bridge vlan add dev $swp3 vid 555 - sleep 1 + h3_addr_add_del add $h3.555 + sleep 5 + quick_test_span_gre_dir $tundev ingress quick_test_span_vlan_dir $h3 555 ingress