Validate that RXE is working - SoftRoCE/rxe-dev GitHub Wiki
To validate that RXE is working need to do the following steps:
Validate that kernel modules are loaded using lsmod:
1- Check that RXE drive is loaded:
# lsmod | grep rxe
rdma_rxe              114688  2 
ib_core               114688  13 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_ib,mlx5_ib,ib_mad,rdma_rxe,ib_ucm,ib_umad,ib_uverbs,rdma_ucm,ib_ipoib
ip6_udp_tunnel        16384   2 vxlan,rdma_rxe
udp_tunnel            16384   2 vxlan,rdma_rxe
2- Check that ib_uverbs is loaded:
# lsmod | grep ib_uverbs
ib_uverbs              47211  0
- If the RXE driver is not loaded use rxe_cfg script that comes with librxe (userspace library) to load it.
Validate that userspace applications are working:
1- Check that RXE devices are available using ibv_devices (included in libibvers-utils):
# ibv_devices
device          	   node GUID
------          	----------------
rxe0            	0202c9fffe07d511
2- Check that RXE device can be accessed using ibv_devinfo (included in libibverbs-utils) and need to see that port state is in PORT_ACTIVE:
# ibv_devinfo -d rxe0
hca_id:	rxe0
transport:			InfiniBand (0)
fw_ver:				0.0.0
node_guid:			0202:c9ff:fe07:d511
sys_image_guid:			0000:0000:0000:0000
vendor_id:			0x0000
vendor_part_id:			0
hw_ver:				0x0
phys_port_cnt:			1
	port:	1
		state:			PORT_ACTIVE (4)
		max_mtu:		4096 (5)
		active_mtu:		1024 (3)
		sm_lid:			0
		port_lid:		0
		port_lmc:		0x00
		link_layer:		Ethernet
Validate that traffic over RXE device is working:
Send traffic using ibv_*_pingpong tests (included in libibverbs-utils):
server:
# ibv_rc_pingpong -g 0 -d rxe0 -i 1
  local address:  LID 0x0000, QPN 0x000011, PSN 0x660fec, GID fe80::202:c9ff:fe07:d511
  remote address: LID 0x0000, QPN 0x000011, PSN 0x1c8285, GID fe80::202:c9ff:fe07:d411
8192000 bytes in 0.03 seconds = 1894.16 Mbit/sec
1000 iters in 0.03 seconds = 34.60 usec/iter
Client:
# ibv_rc_pingpong -g 0 -d rxe0 -i 1 10.7.17.88
  local address:  LID 0x0000, QPN 0x000011, PSN 0x1c8285, GID fe80::202:c9ff:fe07:d411
  remote address: LID 0x0000, QPN 0x000011, PSN 0x660fec, GID fe80::202:c9ff:fe07:d511
8192000 bytes in 0.03 seconds = 1888.59 Mbit/sec
1000 iters in 0.03 seconds = 34.70 usec/iter
Send traffic using rping (RDMACM):
server:
# rping -s -a 11.135.196.6 -v -C 10
server ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
server ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
server ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
server ping data: rdma-ping-3: DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
server ping data: rdma-ping-4: EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
server ping data: rdma-ping-5: FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
server ping data: rdma-ping-6: GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
server ping data: rdma-ping-7: HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
server ping data: rdma-ping-8: IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
server ping data: rdma-ping-9: JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
server DISCONNECT EVENT...
wait for RDMA_READ_ADV state 10
client:
# rping -c -a 11.135.196.6 -v -C 10
ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
ping data: rdma-ping-3: DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
ping data: rdma-ping-4: EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
ping data: rdma-ping-5: FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
ping data: rdma-ping-6: GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
ping data: rdma-ping-7: HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
ping data: rdma-ping-8: IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
ping data: rdma-ping-9: JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
client DISCONNECT EVENT...