On 2019/2/27 6:48, Bart Van Assche wrote:
Hello, Because of security reasons I would like to run some RDMA tests in a virtual machine with the rdma_rxe driver attached to the loopback ("lo") interface and with no other network interfaces configured. Although it is possible to associate the rdma_rxe network interface I have not yet found a way to let the RDMA/CM set up a connection from address ::1 to ::1.
Sorry. Can you use ipv4 address instead of ipv6 address?
rdma_bind_addr() fails for address ::1 because cma_check_linklocal() does not consider it as a link-local address. rdma_resolve_route() fails because it expects that bound_dev_if != 0 before that function is called. Modifying rdma_bind_addr() and rdma_resolve_route() such that these recognize the address ::1 causes the RDMA/CM at the listener side to reject the incoming connection, probably because ::1 does not match the GID of the port of the rdma_rxe instance attached to "lo" (fe80:0000:0000:0000:0200:00ff:fe00:0000). Using the "lo" GID does not work because it is not in the IPv6 routing table. Has anyone else already looked into this? Thanks, Bart.