RDMA/addr: Fix resolution of local IPv6 addresses

This patch allows a local IPv6 address to be resolved by rdma_cm.

To reproduce the problem:

 $ rping -s -v -a ::0  &
 $ rping -c -v -a <IPv6 address local to this system>
 rdma_resolve_addr error -1

Local IPv6 address was obtained with "ip addr show ib0"

Addresses: https://bugs.openfabrics.org/show_bug.cgi?id=1759
Signed-off-by: David Wilder <dwilder@us.ibm.com>
Acked-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
David J. Wilder 2009-10-07 16:03:18 -07:00 committed by Roland Dreier
parent 54e05f15cc
commit 85f20b39fd

View File

@ -393,7 +393,7 @@ static int addr_resolve_local(struct sockaddr *src_in,
for_each_netdev(&init_net, dev) for_each_netdev(&init_net, dev)
if (ipv6_chk_addr(&init_net, if (ipv6_chk_addr(&init_net,
&((struct sockaddr_in6 *) addr)->sin6_addr, &((struct sockaddr_in6 *) dst_in)->sin6_addr,
dev, 1)) dev, 1))
break; break;