[openib-general] [PATCH][iWARP] Added provider CM verbs and query provider methods

Tom Tucker tom at ammasso.com
Thu Aug 25 14:23:15 PDT 2005


> -----Original Message-----
> From: Roland Dreier [mailto:rolandd at cisco.com] 
> Sent: Thursday, August 25, 2005 11:06 AM
> To: Tom Tucker
> Cc: openib-general at openib.org
> Subject: Re: [openib-general] [PATCH][iWARP] Added provider 
> CM verbs and query provider methods
> 
>     Tom> This patch is against the iWARP branch. It adds CM related
>     Tom> methods to the ib_device structure as well as simple versions
>     Tom> of the low level port, gid, pkey, etc... query methods.
> 
> This patch doesn't seem like the right approach to me.  I 
> don't think we want to put CM methods, which are not very 
> verb-like, in to the device structure.  For one thing, 
> connect_qp() seems like it can just be replaced by the 
> existing modify_qp() method.
> 

I'll first try to convince you otherwise, and then propose 
another possibility below.

> I'm not sure I understand the rest of the methods.  It seems 
> that the Ammasso device doesn't really implement the RNIC 
> verbs.  I'm guessing you handle all the connection stuff 
> inside your device, which means that you can't implement the 
> standard iWARP modify-to-RTS operation.

RNIC Verbs imply that the modify qp verb takes a handle
to a connection -- presumably a socket. This CAN'T be done on 
Linux in any fashion that is acceptable to the netdev crowd. SOOO
we modeled this after DAPL.  Trust me, I would LOVE to be able
to establish the connection using bind, listen, etc..., 
query the Linux connection state and then pass this down to the
qp modify verb...but I can't.

> 
> Is there a way to make your interface look more like the 
> iWARP verbs interface?  Or do all iWARP devices have an 
> interface like yours.

You would have to ask them their interface, I'm not privy to this
information.

> 
>  - R.
> 

How about this. 

Plan B:

We have a separate structure -- let's say ib_cma_verbs for the 
sake of argument that contains pointers to the aforementioned
iWARP CM functions. This structure is separate from the ib_device
structure, but can be queried by the client as one of the 
attributes.  

IB clients will return a zero for this attribute, iWARP clients
will return a pointer to the ib_cma_verbs structure.

Plan C:

We hack in pseudo-messages that our MAD handler turns into device 
connection verbs.  This is really nasty as I mentioned in an earlier
e-mail.




More information about the general mailing list