[openib-general] SDP use of CMA

Caitlin Bestler caitlin.bestler at gmail.com
Mon Dec 5 13:30:56 PST 2005


On 12/5/05, Sean Hefty <sean.hefty at intel.com> wrote:
>
> I'm like to start a discussion of having the CMA support SDP.  To do this,
> I'd
> like to propose adding the following optional call to the CMA:
>
> enum rdma_cm_protocol {
>         RDMA_CM_DEFAULT,
>         RDMA_CM_SDP
> };
>
> /**
> * rdma_set_protocol - Associate a specific connection protocol with the
> *   RDMA identifier.
> *
> * @id: RDMA identifier.
> * @protocol: Connection protocol.
> * @version: Connection protocol version, or 0 to use the default.
> *
> * This is an optional call that may be made to specify that the indicated
> * connection protocol be used when establishing connections to the
> * associated RDMA identifier.
> */
> int rdma_set_protocol(struct rdma_cm_id *id, enum rdma_cm_protocol
> protocol,
>                       int version);
>
>
> For most users, this routing would not need to be called.  If called by
> SDP,
> then the CMA would use SDP's service IDs and private data format.  The CMA
> would
> be responsible for setting the local port number and source/destination IP
> addresses.  All other fields would be set by the caller.
>
> Comments?
>
> - Sean
>
>
Who is the intended consumer of this API?

My understanding is that there are few to zero end applications that use SDP
knowingly. They use the sockets API, which is intercepted at one layer or
another
by a middleware library, and it is that middleware library that uses SDP.

If SDP middleware libraries are the only users of SDP-style connection setup
then it would make more sense to have a distinct method to serve that
purpose
rather than having an enum/option flag on the main method.

In particular I would not want end applications to expected to "request SDP"
merely to get an offloaded SOCK_STREAM connection. On an IB network
the advantage of SDP over TCP/IP over IPoIB is a no-brainer. But the
tradeoff between the host TCP/IP stack, an offload TCP/IP stack and
SDP/iWARP is a much more complex tradeoff.

Depending on who the envisioned user is we may need to distinquish
between 'definitely use SDP, because I know my peer is using SDP'
and 'offloaded by whatever mutually available methods'.

Those questions are irrelevant if the call is made from the intercept
library itself, as that they were decided by controlling the intercept.
But if the intercept library is the primary user of this option then
I defnitely think that a separate method is better than an option param.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20051205/33e454e8/attachment.html>


More information about the general mailing list