From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Fainelli Subject: Re: [RFC PATCH net-next 00/12] selftests: forwarding: Add VRF-based tests Date: Wed, 17 Jan 2018 14:51:04 -0800 Message-ID: References: <20180115191853.26129-1-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: 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, vivien.didelot@savoirfairelinux.com, andrew@lunn.ch, jakub.kicinski@netronome.com, simon.horman@netronome.com To: David Ahern , Ido Schimmel , netdev@vger.kernel.org, linux-kselftest@vger.kernel.org Return-path: Received: from mail-qt0-f169.google.com ([209.85.216.169]:44560 "EHLO mail-qt0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750816AbeAQWvK (ORCPT ); Wed, 17 Jan 2018 17:51:10 -0500 In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 01/15/2018 12:14 PM, David Ahern 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. Agreed this is really cool! For DSA enabled switches, we usually have a host that does the test sequencing and then execute commands remotely on the DUT, but we might be able to get such a similar framework up and running on the DUT itself without too much hassle. -- Florian