[ewg] rping is not resolving ipv6 addresses

David J. Wilder dwilder at us.ibm.com
Fri Oct 9 11:57:51 PDT 2009


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





More information about the ewg mailing list