Subject: Re: [ovs-dev] selftests: openvswitch: Questions about possible enhancements

From: Simon Horman <[email-masked]>
Date: Thu, 25 Apr 2024 19:57:19 +0100

+ Aaron

On Thu, Apr 25, 2024 at 09:26:37AM +0100, Simon Horman wrote:
> On Wed, Apr 24, 2024 at 05:30:00PM -0700, Jakub Kicinski wrote:
> > On Wed, 24 Apr 2024 17:44:05 +0100 Simon Horman wrote:
> > > I have recently been exercising the Open vSwitch kernel selftests,
> > > using vng,
> > 
> > Speaking of ovs tests, we currently don't run them in CI (and suffer
> > related skips in pmtu.sh) because Amazon Linux doesn't have ovs
> > packaged and building it looks pretty hard.
> > 
> > Is there an easy way to build just the CLI tooling or get a pre-built
> > package somewhere?
> > 
> > Or perhaps you'd be willing to run the OvS tests and we can move 
> > the part of pmtu.sh into OvS test dir?
> 
> Thanks Jakub,
> 
> The plot thickens.
> We'll look into this (Hi Aaron!).

Hi again,

I took a look into this.

openvswitch.sh does not appear to have any dependencies on Open vSwitch
user-space. My understanding is that, rather, it makes use of
tools/testing/selftests/net/openvswitch/ovs-dpctl.py to talk to the Kernel
using Netlink (which is also what Open vSwitch user-space does).

My brief testing indicates that for this the only dependencies
when running on Amazon Linux 2 are python3 and pyroute2.

I think that it should be possible to port pmtu.sh to use ovs-dpctl.py.
This would require some enhancements to ovs-dpctl.py to handle adding the
tunnel vports (interfaces).

As an aside, to run the Open vSwitch tests in pmtu.sh the openvswitch
kernel module is needed. So I think it would make sense to add
CONFIG_OPENVSWITCH to tools/testing/selftests/net/config.

That would mean that tools/testing/selftests/net/config also has all
the requirements to run openvswitch.sh. If so, we probably wouldn't need to
add tools/testing/selftests/net/openvswitch/config or otherwise do anything
special to configure the kernel for openvswitch.sh.