From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Pirko Subject: Re: [RFC PATCH net-next 00/12] selftests: forwarding: Add VRF-based tests Date: Tue, 16 Jan 2018 00:17:35 +0100 Message-ID: <20180115231735.GI2103@nanopsycho> References: <20180115191853.26129-1-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Ido Schimmel , netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, davem@davemloft.net, shuah@kernel.org, nikolay@cumulusnetworks.com, roopa@cumulusnetworks.com, andy@greyhouse.net, jiri@mellanox.com, mlxsw@mellanox.com, saeedm@mellanox.com, tariqt@mellanox.com, jhs@mojatatu.com, lucasb@mojatatu.com, f.fainelli@gmail.com, vivien.didelot@savoirfairelinux.com, andrew@lunn.ch, jakub.kicinski@netronome.com, simon.horman@netronome.com To: David Ahern Return-path: Received: from mail-wr0-f175.google.com ([209.85.128.175]:41970 "EHLO mail-wr0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751285AbeAOXRh (ORCPT ); Mon, 15 Jan 2018 18:17:37 -0500 Received: by mail-wr0-f175.google.com with SMTP id o7so13377766wro.8 for ; Mon, 15 Jan 2018 15:17:36 -0800 (PST) Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: Mon, Jan 15, 2018 at 09:14:56PM CET, dsahern@gmail.com wrote: >On 1/15/18 12:18 PM, Ido Schimmel wrote: >> One of the nice things about network namespaces is that they allow one >> to easily create and test complex environments. >> >> Unfortunately, these namespaces can not be used with actual switching >> ASICs, as their ports can not be migrated to other network namespaces >> (NETIF_F_NETNS_LOCAL) and most of them probably do not support the >> L1-separation provided by namespaces. >> >> However, a similar kind of flexibility can be achieved by using VRFs and >> by looping the switch ports together. For example: >> >> br0 >> + >> vrf-h1 | vrf-h2 >> + +---+----+ + >> | | | | >> 192.0.2.1/24 + + + + 192.0.2.2/24 >> swp1 swp2 swp3 swp4 >> + + + + >> | | | | >> +--------+ +--------+ >> >> The VRFs act as lightweight namespaces representing hosts connected to >> the switch. >> >> This approach for testing switch ASICs has several advantages over the >> traditional method that requires multiple physical machines, to name a >> few: >> >> 1. Only the device under test (DUT) is being tested without noise from >> other system. >> >> 2. Ability to easily provision complex topologies. Testing bridging >> between 4-ports LAGs or 8-way ECMP requires many physical links that are >> not always available. With the VRF-based approach one merely needs to >> loopback more ports. >> >> These tests are written with switch ASICs in mind, but they can be run >> on any Linux box using veth pairs to emulate physical loopbacks. >> >> Feedback is is welcome. Particularly regarding the best location for >> these tests (e.g., current location, tools/testing/selftests/net). >> > >Awesome. Thanks for working on this. > >A couple of feature requests: >1. an option to pause on any error to allow inspection of the setup Good idea. Should be easy to add. > >2. an option to configure the system and leave it in that state (ie, >don't trap exit and run cleanup). By extension, an option is needed to >do cleanup only. Checkout the last patch. It has "noprepare" and "nocleanup" options. So I guess you imagine something like that, but generic? > >This framework will be very useful.