Re: [ofa-general] [PATCH 2.6.25] RDMA/cxgb3: Fail loopback connections.

From: Steve Wise
Date: Tue Feb 12 2008 - 20:42:28 EST


Roland Dreier wrote:
applied, although:

> +static void is_loopback_dst(struct iw_cm_id *cm_id)
> +{
> + struct net_device *dev;
> +
> + dev = ip_dev_find(&init_net, cm_id->remote_addr.sin_addr.s_addr);
> + if (!dev)
> + return 0;
> + dev_put(dev);
> + return 1;
> +}

is there any way this could trigger when it should, like if I'm trying
to make a connection from one local device to a different local device
(which should work fine)?


As far as I can tell, if the app does a rdma_resolve_addr() on the dst addr (which is a local address), then the routing lookup will find the local interface with that dst addr, and that device will be used for the connect. IE src and dst devices are the same.

Maybe if the app does an explicit bind to the addr on one device, then connects to the addr on the other device. But that's not gonna work either, I think. I still think it will resolve to one device and that device cannot do loopback...


Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/