[openib-general] [PATCH] [CM] add private data comparison tomatch REQs with listens

Fab Tillier ftillier at silverstorm.com
Fri Dec 2 15:17:10 PST 2005


> From: Caitlin Bestler [mailto:caitlinb at broadcom.com]
> Sent: Friday, December 02, 2005 3:02 PM
> 
> There are many reasons why an established RDMA connection
> cannot be passed between processes, but I know of know
> reason why a Connection Request cannot be passed to a child
> or third process where it can be accepted.
> 
> Why not emulate the existing solution rather than creating
> a new interface that is transport specific?

Allowing a connection request to come in on one CID (which is associated with
the listening process) and letting that connection be accepted by a different
process requires making changes to the user-mode CM infrastructure to allow CIDs
to be migrated safely between processes.  This is very likely to be more
difficult than adding private data comparison to the IB CM.

This is all under the covers for socket applications.  It avoids the need for
the CMA to keep an efficiently searchable tree of listen requests to perform
private data comparison when the IB CM already does 90% of the work.

To sum up, it is simpler to add the private data compare functionality to the IB
CM than to add it to every client that wants it.  The changes required don't
complicate the API significantly, certainly within the grasp of someone
interfacing to verbs.  I know this from experience because I've done it before.

> Or conversely, if you truly think this is of general utility,
> why not implement it in INETD as well?

I wasn't making the case that it has general utility, just that it has utility
within the realm of IB connection management.  Someone else is welcome to expand
the scope if they see fit, but that's not what I'm advocating.

- Fab




More information about the general mailing list