[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180115231735.GI2103@nanopsycho>
Date: Tue, 16 Jan 2018 00:17:35 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: David Ahern <dsahern@...il.com>
Cc: Ido Schimmel <idosch@...lanox.com>, netdev@...r.kernel.org,
linux-kselftest@...r.kernel.org, davem@...emloft.net,
shuah@...nel.org, nikolay@...ulusnetworks.com,
roopa@...ulusnetworks.com, andy@...yhouse.net, jiri@...lanox.com,
mlxsw@...lanox.com, saeedm@...lanox.com, tariqt@...lanox.com,
jhs@...atatu.com, lucasb@...atatu.com, f.fainelli@...il.com,
vivien.didelot@...oirfairelinux.com, andrew@...n.ch,
jakub.kicinski@...ronome.com, simon.horman@...ronome.com
Subject: Re: [RFC PATCH net-next 00/12] selftests: forwarding: Add VRF-based
tests
Mon, Jan 15, 2018 at 09:14:56PM CET, dsahern@...il.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.
Powered by blists - more mailing lists