On Feb 8, 2010, at 6:48 PM, Sean Hefty wrote:
> rc = rdma_bind_addr(cm_id, ipaddr);
> if (rc || !cm_id->verbs) {
> rc = OMPI_SUCCESS;
> goto out3;
> }
Ah, yes! Per the OMPI code you cited, I amended my printf's and see:
[svbu-mpi.cisco.com:19315] FAILED to bind to 127.0.0.1: rc=0, verbs=(nil)
So the rc from from rdma_bind_addr was 0, but you're right that the verbs
pointer was NULL, and we therefore rule that it was no good.
> The other is btl_openib_connect_rdmacm.c, but that deals with listening. I
> can't quickly determine if btl_openib_iwarp.c is usually used for IB or not.
It is.
> So, to fully keep the behavior of 2.6.32, rdma_bind_addr for 127.0.0.1 should
> succeed, but not assign a device. I think this was the change from commit
> ..c55e657 that changed the behavior:
>
> @@ -2089,7 +2096,9 @@ int rdma_bind_addr(struct rdma_cm_id *id, struct
> sockaddr
> *addr)
> if (!cma_comp_exch(id_priv, CMA_IDLE, CMA_ADDR_BOUND))
> return -EINVAL;
>
> - if (!cma_any_addr(addr)) {
> + if (cma_loopback_addr(addr)) {
> + ret = cma_bind_loopback(id_priv);
> + } else if (!cma_zero_addr(addr)) {
> ret = rdma_translate_ip(addr, &id->route.addr.dev_addr);
> if (ret)
> goto err1;
>
> I'll see if reverting this gives the desired(?) behavior.
Thanks!
--
Jeff Squyres
[email protected]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/
--
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