[openib-general] Re: [Rdma-developers] Meeting (07/22) summary:OpenRDMA community development discussion

Jay Rosser jay.rosser at hp.com
Mon Aug 1 11:48:38 PDT 2005


The IT-API working group spent some effort on analysis of the connection 
management issues required to support both IB and iWARP in a common API 
and documented such in chapter 5 and appendix B of the IT-API 2.0 
specification:

http://www.opengroup.org/icsc/uploads/40/7237/IT-API-V2-Final.pdf

We hope it is useful for reference on this subject and as an example of 
a possible approach to resolving the issues.

Jay

> 
>
>  
>
>>-----Original Message-----
>>From: rdma-developers-admin at lists.sourceforge.net 
>>[mailto:rdma-developers-admin at lists.sourceforge.net] On 
>>Behalf Of Yaron Haviv
>>Sent: Sunday, July 31, 2005 8:57 PM
>>To: Christoph Hellwig; Tom Duffy
>>Cc: Venkata Jagana; rdma-developers at lists.sourceforge.net; 
>>openib-general at openib.org
>>Subject: RE: [openib-general] Re: [Rdma-developers] Meeting 
>>(07/22) summary:OpenRDMA community development discussion
>>
>>    
>>
>>>-----Original Message-----
>>>From: openib-general-bounces at openib.org [mailto:openib-general- 
>>>bounces at openib.org] On Behalf Of Christoph Hellwig
>>>Sent: Friday, July 29, 2005 8:02 AM
>>>To: Tom Duffy
>>>Cc: Venkata Jagana; rdma-developers at lists.sourceforge.net; 
>>>      
>>>
>>Christoph 
>>    
>>
>>>Hellwig; openib-general at openib.org
>>>Subject: [openib-general] Re: [Rdma-developers] Meeting (07/22) 
>>>summary:OpenRDMA community development discussion
>>>
>>>On Thu, Jul 28, 2005 at 02:02:08PM -0700, Tom Duffy wrote:
>>>      
>>>
>>>>At OLS (and in previous forums), the kernel maintainers 
>>>>        
>>>>
>>have made it
>>    
>>
>>>>*very* clear that there should only be one API.
>>>>        
>>>>
>>>_and_ that this api is neither RNIC-PI or KDAPL.  In fact 
>>>      
>>>
>>for anything 
>>    
>>
>>>that doesn't look very similar to the current IB midlayer 
>>>      
>>>
>>you'd need 
>>    
>>
>>>very convincing arguments.
>>>
>>>      
>>>
>>I assume it is not as simplistic as that iWarp CM model is 
>>quite different than IB, and iWarp doesn't have SA/SM and a 
>>bunch of other IB specific things 
>>
>>For example: 
>>The correct common abstraction is one where a user can issue 
>>a connection by using a logical end-point address (such as an 
>>IP), and doesn't have to deal with the IB or iWarp specific 
>>CM state machine or SA/SM. 
>>
>>If you look at DAPL you can break it to simple Verbs (e.g. 
>>send, ..) where its just a simple overlay on to of the verbs 
>>(and may be
>>redundant)
>>However there is a second part that implements a simple 
>>connection establishment model (much like BSD) that can be 
>>mapped to both IB (CM, SA, ..) or iWarp (TCP Syn/SynAck, ARP, 
>>etc'), this serves couple of main
>>purposes:
>>a. make it simple for ULP developer and put the complex part 
>>in a common
>>place   
>>b. define a common model for different HW
>>
>>we can spend time and discuss theories and intentions, at the 
>>end of the day an iWarp RNIC cannot just reside under 
>>IB-Verbs without major changes to the overall infrastructure.
>>Several guys spent some time looking it over and came with an 
>>abstraction that IS possible on top of IB & iWarp & foo, that 
>>is called DAPL (or IT as another similar alternative)
>>
>>It would probably be wise to try and merge that effort with 
>>IB-verbs etc' 
>>(e.g. make the verbs portion of the API closer), and on the 
>>same time preserve the effort that was done in kDAPL to 
>>overcome the differences (e.g. in the CM, addressing portions)
>>
>>    
>>
>
>The working theory is that two additional connection management
>'verbs' will be proposed, both optional.
>
>The first is a straight-forward mapping of the traditional DAT
>connection establishment: i.e., do whatever you have to do in
>order to listen, request a connection, accept/reject connection
>requests. This is an interface that can map to existing iWARP
>implementations very easily while not immediately standardizing
>integration with the host TCP stack.
>
>Connection Requests are reported in this model, but via callbacks
>rather than EVDs, since it is desired to keep a verb layer interface
>more spartan than kDAPL. However, the fact that connection requests
>must be approved allows blocking of all requests that conflict
>with host policy (as expressed in packet filtering rules).
>
>It is also an interface that IB vendors *could* support, because
>DAPL implements over IB. We could consider having a default
>implementation of the methods from the DAPL code for that
>purpose.
>
>After that we need a standardized way to implement "modify qp
>to RTS" in a iWARP-centric fashion. This will require agreement
>on how to transfer the TCP state from the host stack to the
>RNIC. This is the more flexible model that matches RDMAC
>verbs and supports all connection establishment models, 
>including iSER. It is inherently iWARP specific, however,
>since IB connections do not start their life as TCP
>connections. 
>
>The benefit of this second additional API is that the 
>preserves *all* host stack safeguards on connection 
>establishment because the host stack actually establishes
>the TCP connection. It does require agreement on the correct
>way to extract the TCP connection from the host stack,
>however. This is something that existing deployments
>already do, but they aren't doing it in mainline code.
>Reaching consensus on a sustainable interface for doing
>this is certainly worthy of careful consideration, which
>is why the first additional DAT-style API will be proposed.
>_______________________________________________
>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
>
>  
>


-- 
jay.rosser at hp.com 408-447-3175





More information about the general mailing list