[swg] Re: [openib-general] round 2 - proposal for socket based connectionmodel

Michael Krause krause at cup.hp.com
Tue Oct 25 18:41:48 PDT 2005


Just to correct one comment:

A ULP written to TCP/IP can use RDMA transport without change.  An example 
is SDP not that the ULP must use what SDP uses.  Also, please keep in mind 
that SDP on iWARP uses the port mapper protocol to obtain the IP address 
and port to target for the connection request.  So, the TCP connection 
establishment is to the RDMA listen endpoint from the start and the SDP 
hello exchange then fills in the rest of the parameters required to 
determine whether the connection should proceed and what resources should 
be configured when the response is generated.

I will also re-iterate what another person stated and that is to separate 
out the interface from the wire protocol.  IBTA defines wire protocols / 
semantics while OpenIB is defining its API to communicate the wire protocol 
and associated semantics.  I agree with that person on this point and their 
other point on the need for the IBTA to construct a solid spec for the wire 
protocol and associated semantics.  OpenIB will then determine how best to 
implement but these are separate efforts and it would be more productive 
for all to table the discussion for now.  The original request was whether 
something would break if the private data size was changed.  It was noted 
that one cannot know what will or will not break thus the requirement is to 
provide a method for software to note the difference in the layout.  How is 
for the IBTA to specify.

Just a thought......

Mike


At 03:43 PM 10/25/2005, Sean Hefty wrote:
>Kanevsky, Arkady wrote:
>>What are you trying to achieve?
>
>I'm trying to define a connection *service* for Infiniband that uses 
>TCP/IP addresses as its user interface.  That service will have its own 
>protocol, in much the same way that SDP, SRP, etc. do today.
>
>>I am trying to define an IB REQ protocol extension that
>>support IP connection 5-tuple exchange between connection
>>requestor and responder.
>
>Why?  What need is there for a protocol extension to the IB CM?  To me, 
>this is similar to setting a bit in the CM REQ to indicate that the 
>private data format looks like SDP's private data.  The format of the 
>_private_ data shouldn't be known to the CM; that's why it's private data.
>
>>And define mapping between IP 5-tuple and IB entities.
>
>No mapping between IP <-> IB addresses was defined in the 
>proposal.  Defining this mapping is required to make this work.  Right 
>now, the mapping is the responsibility of every user.
>
>>That way ULP which was written to TCP/IP, UDP/IP, CSTP/IP (and so on)
>>can use RDMA transport without change.
>
>A ULP written to TCP/IP can use an RDMA transport without change.  They 
>use SDP.  However, an application that wants to take advantage of QP 
>semantics must change.  (And if they want to take full advantage of RDMA, 
>they'll likely need to be re-architected as well.)  The goal in that case 
>becomes to permit them to establish connections using TCP/IP addresses.
>
>To meet this goal, we need to define how to map IP address to and from IB 
>addresses.  That mapping is part of the protocol, and is missing from the 
>proposal.  And if the application isn't going to know that they're running 
>on Infiniband, then the mapping must also include mapping to a destination 
>service ID.
>
>>To modify ULP to know that it runs on top of IB vs. iWARP
>>vs. (any other RDMA transport) is bad idea.
>>It is one thing to choose proper port to connect.
>>Completely different to ask ULP to parse private data
>>in transport specific way.
>>The same protocol must support both user level ULPs
>>and kernel level ULPs.
>
>Defining an interface that allows a ULP to use either iWarp, IB, or some 
>other random RDMA transport is an implementation issue.  However, it 
>requires something that maps IP to IB addresses (including service IDs).
>
>To be more concrete, you've gone from having source and destination TCP/IP 
>addresses to including them in a CM REQ.  What translated the source and 
>destination IP addresses into GIDs and a PKey?  Who converted those into 
>IB routing information?  How was the destination of the CM REQ 
>determined?  What service ID was selected?
>
>- Sean
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20051025/613802bf/attachment.html>


More information about the general mailing list