Subject: Re: [PATCH net-next v1 0/2] selftests: rds: refactor and expand rds selftests test

From: Jakub Kicinski <[email-masked]>
Date: Fri, 6 Mar 2026 12:07:28 -0800

On Fri, 6 Mar 2026 07:43:56 +0000 Allison Henderson wrote:
> On Wed, 2026-03-04 at 10:32 -0800, Jakub Kicinski wrote:
> > On Wed, 4 Mar 2026 02:50:34 +0000 Allison Henderson wrote:  
> > > I didnt know it was causing you grief, but I am happy to work with
> > > you to adapt it.  RDS is a little unique in that the network topology
> > > defines the underlying transport it uses.  If you were to run it with
> > > just a pair of veth interfaces on a single host or vm, then you will
> > > only be using the loop back transport in rds.ko.  In order to get it
> > > to load and test rds_tcp.ko, we need the endpoints to be in separate
> > > network namespaces so that the destination IP isn't seen as local. So
> > > the test case does this by forking server/client processes across
> > > name spaces.  There really isnt a rush on this series, so if you
> > > think we should do some refactoring/cleanup for ksft first that is
> > > fine.  Let me know your thoughts.  
> > 
> > IIUC the need to set up a veth + 2 name spaces topology is very common.
> > We have bash "libraries" / helpers in various lib.sh files to do it.
> > Python libs also have some support (tho the default linking there is
> > by pairing two netdevsim devices).
> > 
> > Well, maybe to be clear I should say that we _even_ have support in
> > libraries for this. Not really strongly opposed to you rolling your own
> > way of setting up the namespaces at this point. I primarily care about
> > us being able to execute all your tests in our CI, with standard ksft
> > commands. Maybe I did something wrong but
> > 
> >  make -C tools/testing/selftests TARGETS=net/rds run_tests
> > 
> > did not work for me.  
> 
> Sure, lets get this fixed first then.  Usually when I run the test, I just run the one rds test directly like this:
> 
> vng --build  --config .config; vng -v --rwdir ./ --run . --user root --cpus 16 -- "export
> PYTHONPATH=tools/testing/selftests/net/; tools/testing/selftests/net/rds/run.sh" 2>&1 | tee outfile.txt;
> 
> I believe the way you run it would have it run directly on the host though.  Which can work but it would have to be
> built and configured correctly for rds. Also I think when run it through make run_tests, ksft may have other lib
> includes that get inherited by the child processes which can affect how they run.  But I'd like to see your output to
> confirm. Could you include the output you are seeing?  Then I'll see if I can recreate and address what you're seeing on
> my end. 

This is how we run:

https://github.com/linux-netdev/nipa/wiki/How-to-run-netdev-selftests-CI-style

Base system is Fedora 43 (since we use vng that's what the "VM" is
effectively also using). Please re-ask the questions that are still
relevant after you go thru the link above? I'm not sure what "run
directly on the host" means exactly ;)