On Fri, 2009-10-09 at 16:46 -0600, Jason Gunthorpe wrote:
> On Fri, Oct 09, 2009 at 02:15:01PM -0700, David J. Wilder wrote:
> 
> > Yes ping6 will work but I must specify the interface to use:
> > ping6 fe80::202:c903:1:1925%ib0
> > 
> > Here is the patch to rping to allow the source address to be specified.
> > I am not sure this is the correct approach to fix this.
> 
> It is not, IPv6 link local addresses must be scoped. rping is
> parsing the address with getaddrinfo, that does correctly set the
> sin6_scope_id value in the sockaddr.

ping6 is scoping the address (setting sin6_scope_id) by hand. So rping
should do the same thing.

> 
> rdma_resolve_addr (and likely the underlying kernel component) must
> respect this when dealing with link local scope addresses.
> 
> rmda_resolve_addr should fail if a link local IPv6 address is provided
> without scope, like the normal IP stack:
> 
> connect(3, {sa_family=AF_INET6, sin6_port=htons(1025), inet_pton(AF_INET6, 
> "fe80::202:c903:1:1925", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) 
> = -1 EINVAL (Invalid argument)
> 
> So this is two bugs in the rdma cm, rping is correct as is..

It may be correct, but not functional with link-local address.

> 
> Jason

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to