linux/tools/testing/selftests/net/rds
Allison Henderson 381a503f0e selftests: rds: Add -c config option to rds/config.sh
This patch adds a new -c flag to config.sh that enables callers
to specify the file path of the config they would like to update.
If no config is specified, the default will be the .config of the
current directory.

Signed-off-by: Allison Henderson <achender@kernel.org>
Link: https://patch.msgid.link/20260320041834.2761069-3-achender@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-03-23 19:39:07 -07:00
..
.gitignore selftests: net: rds: add gitignore file for include.sh 2024-10-08 08:16:34 -07:00
config selftests: rds: add tools/testing/selftests/net/rds/config 2026-03-23 19:38:53 -07:00
config.sh selftests: rds: Add -c config option to rds/config.sh 2026-03-23 19:39:07 -07:00
Makefile selftests: rds: Add ksft timeout 2026-03-10 18:54:15 -07:00
README.txt selftests: rds: Add -c config option to rds/config.sh 2026-03-23 19:39:07 -07:00
run.sh selftests: rds: Add ksft timeout 2026-03-10 18:54:15 -07:00
settings selftests: rds: Add ksft timeout 2026-03-10 18:54:15 -07:00
test.py selftests: rds: Fix tcpdump segfault in rds selftests 2026-03-10 18:54:24 -07:00

RDS self-tests
==============

These scripts provide a coverage test for RDS-TCP by creating two
network namespaces and running rds packets between them. A loopback
network is provisioned with optional probability of packet loss or
corruption. A workload of 50000 hashes, each 64 characters in size,
are passed over an RDS socket on this test network. A passing test means
the RDS-TCP stack was able to recover properly.  The provided config.sh
can be used to compile the kernel with the necessary gcov options.  The
kernel may optionally be configured to omit the coverage report as well.

USAGE:
	run.sh [-d logdir] [-l packet_loss] [-c packet_corruption]
	       [-u packet_duplcate]

OPTIONS:
	-d	Log directory.  Defaults to tools/testing/selftests/net/rds/rds_logs

	-l	Simulates a percentage of packet loss

	-c	Simulates a percentage of packet corruption

	-u	Simulates a percentage of packet duplication.

EXAMPLE:

    # Create a suitable gcov enabled .config
    tools/testing/selftests/net/rds/config.sh -g

    # Alternatly create a gcov disabled .config
    tools/testing/selftests/net/rds/config.sh

    # Config paths may also be specified with the -c flag
    tools/testing/selftests/net/rds/config.sh -c .config.local

    # build the kernel
    vng --build --config .config

    # launch the tests in a VM
    vng -v --rwdir ./ --run . --user root --cpus 4 -- \
        "export PYTHONPATH=tools/testing/selftests/net/; tools/testing/selftests/net/rds/run.sh"

An HTML coverage report will be output in tools/testing/selftests/net/rds/rds_logs/coverage/.