[rds-devel] [External] : Re: [PATCH net-next v1 0/2] selftests: rds: refactor and expand rds selftests test
Jakub Kicinski
kuba at kernel.org
Fri Mar 6 20:07:28 UTC 2026
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 ;)
More information about the rds-devel
mailing list