[openib-general] RDMA Generic Connection Management

James Lentini jlentini at netapp.com
Mon Aug 29 12:34:55 PDT 2005



On Mon, 29 Aug 2005, Guy German wrote:

> Hi,
> 
> After receiving feedbacks from people here - I want to see if we can
> agree on a generic CM API, so we can start implementing it. 
> I will try and summarize the 2 options, the way I understand it. 
> 
> If I am missing something or misrepresenting - please don't hesitate to
> correct me.
> 
> both suggestion include the following verbs (or semantically
> equivalent): ib_cma_get_device, ib_cma_create_qp, ib_cma_connect,
> ib_cma_disconnect, ib_cma_listen, ib_cma_destroy, ib_cma_accept,
> ib_cma_reject, ib_cma_get_src_ip.
> 
> a connect flow will be something like:
> 
> - ib_cma_get_device (...) /* get device(1) or device+path(2) */
> - pd = ib_alloc_pd(...) /* pd allocated in the given device */
> - qp = ib_cma_create_qp(...) /* qp returned in init state */
> - ib_post_recv(qp, ...);
> - ib_cma_connect (qp, dst_addr(1)/path(2), ...);
> 
> Now, there are 2 suggestions for the device discovery:
> 1. get_device returns device and port, according the local routing
> tables, synchronously. ib_cma_connect calls the at module for address
> resolving (cache handled) before calling the cm_connect.
> 2. get_device registers an upcall and return in the upcall the data path
> to the consumer. In this case caching is done by the consumer.

What happens if multiple devices can reach the destination address? 
How will they be enumerated to the consumer?
 
> I prefer option 1, because it makes the consumer code simpler, without
> having to handle upcalls for address translations (which are not
> asynchronous in iWARP) or hold the transport's data information. Also it
> saves the consumer the trouble of caching routes to destinations.

I also find option 1 simpler. Of course it is easy to turn an async 
call into a sync call but hard to do the opposite.

> I would like to hear what other people in the list think of it ...
> 
> Thanks,
> Guy
> 
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 



More information about the general mailing list