On Wed, 2009-10-07 at 16:20 -0700, Roland Dreier wrote: > > I have been testing rping with ipv6 address on OFED 1.5. I am seeing a > > problem with ipv6 address resolution. rping is not always sending > > neighbor solicitation out the correct interface. Running tcpdumps I > > discovered that the neighbor solicitation is being sent out the first > > interface that was configured, in my case eth0 and not the ib0 > > interface. > > > > This is the test I am running: > > > > Host A: > > $ ip address show ib0 | grep inet6 > > inet6 fe80::202:c903:1:1925/64 scope link > > > > $ rping -s -v -a ::0 > > > > Host B: > > $ rping -c -v -a fe80::202:c903:1:1925 > > > > cma event RDMA_CM_EVENT_ADDR_ERROR, error -110 > > waiting for addr/route resolution state 1 > > > > > > Using tcpdump I verified the neighbor solicitation packets went out the > > eth0 interface not ib0. If I "ifdown eth0" I see the neighbor > > solicitation go out ib0 and the rping works. BTW: Ping6 works ok; > > however, it requires that I specify the interface to use on the command > > line: $ ping6 fe80::202:c903:1:1925%ib0 > > I'm not sure how many places in the stack have to be fixed for this, but > for this to work certainly at least rping needs a way to specify which > interface to use. There is no routing for IPv6 link-local addresses > that says which device to use... a given address with prefix fe80: could > conceivably exist on multiple links (and correspond to different > destinations on each link), and the networking stack has no way to know > which link to use unless you tell it somehow. (This is why ping6 > requires the %ib0 specifier)
I added an option to rping to specify a source address and supply it to rdma_resolve_addr(), but now it is failing rdma_resolve_route(). Am I going in the right direction? $ ./rping -d -c -v -a fe80::202:c903:1:1925 -i fe80::202:c903:1:28ed client verbose created cm_id 0x100213d0 rping_run_client: about to bind rping_bind_client: about to call rdma_resolve_addr rping_bind_client: about to sem_wait cma_event type RDMA_CM_EVENT_ADDR_RESOLVED cma_id 0x100213d0 (parent) cma_event type RDMA_CM_EVENT_ROUTE_ERROR cma_id 0x100213d0 (parent) cma event RDMA_CM_EVENT_ROUTE_ERROR, error -22 waiting for addr/route resolution state 3 destroy cm_id 0x100213d0 _______________________________________________ ewg mailing list ewg@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg