123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- Testing rdma-core userspace tools
- =================================
- Testing rdma-core using Linux software RoCE implementation:
- https://en.wikipedia.org/wiki/RDMA_over_Converged_Ethernet
- Using two systems with working TCP/IP configuration, for example:
- - Server IP: 192.168.123.10
- - Client IP: 192.168.123.20
- Make sure firewall configurations are appropriate. Routable RoCE v2
- uses udp/4791. ibv_rc_pingpong uses tcp/18515 for initial
- synchronization.
- Note: this test can be executed in two qemu virtual machines with
- bridged networking.
- Kernel configuration
- --------------------
- The Linux Kernel needs some InfiniBand configuration. In this example
- the kernel "rdma_rxe" driver is needed (CONFIG_RDMA_RXE=y). The Kernel
- config fragment file used for package test can be used as a starting
- point. See:
- support/testing/tests/package/test_rdma_core/linux-rdma.fragment
- Buildroot package configuration
- -------------------------------
- For setting up a software RoCE link, the "rdma" program is needed. It
- is provided by the "iproute2" package, when "libmnl" is also
- selected. Make sure to have in your Buildroot configuration:
- BR2_PACKAGE_IPROUTE2=y
- BR2_PACKAGE_LIBMNL=y
- BR2_PACKAGE_RDMA_CORE=y
- Setting up the rdma link
- ------------------------
- On both server and client:
- modprobe rdma_rxe
- rdma link add rxe0 type rxe netdev eth0
- Testing with rping
- ------------------
- On the server side, run the command:
- rping -s -v
- On the client side, run the command:
- rping -c -v -a 192.168.123.10
- Testing with ibv_rc_pingpong
- ----------------------------
- To test with the pingpong example using the reliable connected (RC)
- transport:
- On the server side, run the command:
- ibv_rc_pingpong -d rxe0 -g 1
- On the client side, run the command:
- ibv_rc_pingpong -d rxe0 -g 1 192.168.123.10
|