[openib-general] [PATCH 3/4] IB CM: register and handle COMM_EST events on a QP

Sean Hefty mshefty at ichips.intel.com
Tue Jul 25 11:12:57 PDT 2006


Or Gerlitz wrote:
> 1) work over the CM/VERBS
> 2) work over the CMA/VERBS with the CMA doing the QP state changes
> 3) work over the CMA/VERBS with the ULP doing the QP state changes

Side note: type 3 would be userspace CMA users.

> Your patch provides ***full*** solution for type 2 consumers. Type 3 
> consumers can't call ib_cm_establish since they don't interact with the 
> CM, as for type 1 consumers, looking on the CM code i was not able to 
> convince myself that calling ib_cm_establish along with modifying the qp 
> state to RTS would provide a full solution for them, what do you think?

The behavior of this patch is the same in all three cases.  For type 1, calling 
ib_cm_establish() along with transitioning the QP to RTS is sufficient.  This 
method is also usable by type 2, if the CMA were to intercept the COMM_EST 
events.  The method breaks down for type 3 because there's no way for the CMA to 
get the COMM_EST event.

I would say that this provides a full solution for all types of consumers, and 
agree that ib_cm_establish() could be removed from the API.  However, keeping it 
prevents breaking the ABI, and it does have limited use if called as a result of 
polling a receive completion, by forcing the connection into the established 
state immediately.

- Sean




More information about the general mailing list