On Sun, Nov 08, 2009 at 08:25:55AM +0200, Or Gerlitz wrote:

> >ACM is intended to be a service that's used by the librdmacm to resolve 
> >address mappings and routes.  Trying to have ACM use the librdmacm ends up 
> >with a circular dependency.  That's the part I'm trying to avoid.
> 
> fail-enough, I believe that my suggestion is doable also without 
> circular dependency, e.g as you indicated below or with a fairly small 
> enhancement of librdmacm, see next

The entire point of the rdma_getaddrinfo + AF_IB is to avoid hacking
up librdmacm for every address lookup/cache scheme someone invents.

The desired flow would be:

rdma_getaddrinfo("User-Specified-Host-String","User-Specified-Port-String",
                 &hints,&res);

// Server flow (hints.af_flags |= AI_PASSIVE)
rdma_bind(res[0].bind_addr);
rmda_listen(res[0].listen_addr);

// Client Flow
rdma_bind(res[0].bind_addr); // Optional
rdma_resolve_addr2(res[0].bind_addr,res[0].dest_addr,res[0].extra_info);

And under rdma_getaddrinfo we could have any number of modules, like
glibc does.

Well written apps should already be using normal getaddrinfo, so we
can design an upgrade to rdma_getaddrinfo to be very minor, source
wise. Un upgraded apps don't get the new functionality.

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

Reply via email to