On Wed, 2007-05-09 at 15:01 -0700, Sean Hefty wrote:
> > The reason it is hard or impossible to solve this in the DAPL layer is
> > that any rdma operation on the QP affects the state of that QP and the
> > associate CQs.  In addition, if you use an RDMA send to enforce this you
> > impact the other side by consuming a RECV buffer. So its hard if not
> > impossible to do this under the covers without affecting the
> > application's resources.
> 
> I agree that this is hard, but I don't believe that it's impossible.
> 
> > Also, the DAPL specification had a goal to not impose any additional
> > protocol on the wire.  If you add this under the covers, then you add
> > such a "protocol" and break interoperability between a connection
> > accessed via DAPL on one end and some other API on the other end.
> 
> IMO, this is a unrealized dream.  DAPL does generate wire protocol.  For 
> example, when running over IB, DAPL's selection of a service ID and CM 
> protocol 
> is visible on the wire.  A DAPL that establishes connections using the RDMA 
> CM 
> will likely have a different wire protocol than a version of DAPL that 
> establishes connections talking directly to the IB CM.  The two DAPLs will 
> not 
> interoperate unless they agree on how they will map to service IDs and, in 
> the 
> case of using the RDMA CM, the format of the private data carried in the CM 
> messages.

I wasn't aware of this.

> 
> Even in the case of iWarp, DAPL's selection of a local port number affects 
> the 
> data visible on the wire.  TO communicate, a remote end point must know how 
> this 
> mapping occurs.

You mean the local port on the active side?  The remote end point
doesn't need to know this at all...

Steve.

Reply via email to