On Tue, 2009-10-27 at 23:42 -0600, Jason Gunthorpe wrote:
>
> I left the network namespace stuff alone and kept with the init_net
> situation..
Another possible solution ;)
if (rt->idev->dev->flags & IFF_LOOPBACK){
>
> -static int addr_resolve_remote(struct sockaddr *src_in,
> - struct sockaddr *dst_in,
> - struct rdma_dev_addr *addr)
> +static int addr_resolve(struct sockaddr *src_in,
> + struct sockaddr *dst_in,
> + struct rdma_dev_addr *addr)
> {
A problem here, if a source address has not been specified then this
test is invalid. I had to change it to use dst_in->sa_family. But as
you said, we should have validated sa_family before this point.
> if (src_in->sa_family == AF_INET) {
> - return addr4_resolve_remote((struct sockaddr_in *) src_in,
> + return addr4_resolve((struct sockaddr_in *) src_in,
> (struct sockaddr_in *) dst_in, addr);
> } else
> - return addr6_resolve_remote((struct sockaddr_in6 *) src_in,
> + return addr6_resolve((struct sockaddr_in6 *) src_in,
> (struct sockaddr_in6 *) dst_in, addr);
> }
--
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