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