Currently the rds selftests only tests the tcp transport.  This means
most of rds_rdma.ko has no testing coverage.  This series refactors the
rds self tests to add an rdma option when running tests.  When used,
the test creates a pair of ROCE interfaces to run the payloads through.

Most of this set is refactoring the existing test.py module.  Since most
of this code is one long procedure, it is difficult to modularize it
without creating a lot of pylint complaints about lengthy functions
with too many variables or branches.  

Patch 1 fixes an RDS-IB shutdown hang exposed by the new ROCE selftests
in patches 10/11. The next seven patches break down test.py into helper
functions.  After we have modularized the send/recv packet logic, we
introduce the new ROCE equivalent network configurations, add the new
command line flags to build and run the test with rdma support.

Questions, comments and feedback appreciated!

Thanks everyone!
Allison

Change Log
v2:
   [PATCH net-next v1 1/9] selftests: rds: Capitalize ret global in test.py
      Dropped

   [PATCH net-next v2 4/9] selftests: rds: Add helper function recv_burst() in 
test.py
      Pylint nits

   [PATCH net-next v2 6/9] selftests: rds: Add helper function 
snd_rcv_packets() in test.py
      Pylint nits

   [PATCH net-next v2 7/9] selftests: rds: Register network teardown via atexi
      NEW
      Registers network config cleanup function teardown_tcp() with atexi

   [PATCH net-next v2 8/9] selftests: rds: Add ROCE support to test.py
      Pylint nits
      Added rdma network teardown cleanup on atexit
      Fixed test result reporting with dynamic per-transport reporting

v3:
   [PATCH net-next v3 1/11] net/rds: Don't sleep inside 
rds_ib_conn_path_shutdown
      NEW

   [PATCH net-next v3 08/11] selftests: rds: Handle errors in netns_socket
      NEW

   [PATCH net-next v3 10/11] selftests: rds: Add ROCE support to test.py
      Sashiko complaint: expand snd_rcv_packets docstring
      Sashiko complaint: properly close sockets when test completes
      Sashiko complaint: collect pcaps per rdma iface
      Sashiko complaint: only teardown rdma net configs when -T rdma is used
      Sashiko complaint: cancel timeout before reporting test results

   [PATCH net-next v3 11/11] selftests: rds: Add ROCE support to run.sh
      Sashiko complaint: Update test.py usage and README with -T usage

Allison Henderson (11):
  net/rds: Don't sleep inside rds_ib_conn_path_shutdown
  selftests: rds: Add helper function setup_tcp() in test.py
  selftests: rds: Add helper function check_info() in test.py
  selftests: rds: Add helper function send_burst() in test.py
  selftests: rds: Add helper function recv_burst() in test.py
  selftests: rds: Add helper function verify_hashes() in test.py
  selftests: rds: Add helper function snd_rcv_packets() in test.py
  selftests: rds: Handle errors in netns_socket
  selftests: rds: Register network teardown via atexit
  selftests: rds: Add ROCE support to test.py
  selftests: rds: Add ROCE support to run.sh

 net/rds/ib_cm.c                            |  25 +-
 tools/testing/selftests/net/rds/README.txt |  29 +-
 tools/testing/selftests/net/rds/config.sh  |  15 +-
 tools/testing/selftests/net/rds/run.sh     |  53 +-
 tools/testing/selftests/net/rds/test.py    | 631 ++++++++++++++-------
 5 files changed, 529 insertions(+), 224 deletions(-)

-- 
2.25.1


Reply via email to