mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-21 06:50:25 +00:00

This adds some basic self-testing infrastructure for RDS-TCP. Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Allison Henderson <allison.henderson@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
41 lines
1.4 KiB
Text
41 lines
1.4 KiB
Text
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
|
|
|
|
# build the kernel
|
|
vng --build --config tools/testing/selftests/net/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/.
|