On Mon, 26 Sep 2005, Sean Hefty wrote:

> James Lentini wrote:
> > Why would this module be a ULP and not part of the core? Especially since
> > the rdma_cma.h include file is intended for the core include area,
> > include/rdma. 
> 
> It can be a separately loaded module, so a ULP from the viewpoint of 
> verbs, SA query, IB CM, etc.

The distinction between a core component and a ULP is still fuzzy. The 
core is comprised of seperately loaded modules (e.g. ib_core, ib_sa, 
ib_mad, ib_ping, ib_cm, etc.).

> > I expect that the IB_CM_REQ_RECEIVED callback will be confusing to 
> > ULPs. The ULP will receive a new cma_id with an old context value. 
> > If the ULP wanted to make an adjustments to the cma_id that 
> > received the request, it would need to store a reference to it in 
> > the old cma_id's context value. I suggest you make the new cma_id 
> > part of the event data (see patch below).
> 
> The new cma_id must be used after the REQ is received, so I wanted to make
> that clear.  There's not much that a user can do with the listening cma_id
> from within the callback; since it cannot be destroyed from the callback
> itself. This is a fairly minor issue that we can discuss more.

Fair enough. A comment that says the callback context is not strictly 
tied to the cma_id would help here.

> > How will the IP address and port number in the connection request be
> > delivered to the ULP?
> 
> The cma_id contains the source and destination address.  See cma_req_recv().
> This was added in after the initial posting of the code.

Thanks. I see it now.

> > Would the design be cleaner if instead of sprinkling the code with "switch
> > (cma_id->device->node_type)" statements, we used function pointers?
> 
> I wasn't sure what the iWarp portion of the code would look like, but I wanted
> to leave place for an iWarp implementation to be easily inserted.  It seems
> that it would take a fair deal of additional code to use function pointers.

I see what you mean. Without knowing the function for the iWARP calls, 
it isn't possible to know what each funtion pointer's signature should 
be.

james
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to