[openib-general] Re: A Couple of CM Questions

Sean Hefty mshefty at ichips.intel.com
Tue Mar 8 12:10:28 PST 2005


Hal Rosenstock wrote:

> My main question has to do with an error path in cm_req_handler. If
> cm_init_av fails (lines 1098 or 1103), I get the following crash:

I think I see what's happening here.  Since the cm_init_av fails, the 
cm_id doesn't have the information that it needs in order to send back 
any sort of reply (including a REJ message) to the sender of the REQ.

A quick fix would be to not send the REJ when destroying the cm_id. 
I'm not sure what the better fix would be at the moment.  The CM tries 
to send replies (including REJ messages) to a received MAD using the 
path record stored in the REQ.  This could be changed to use the path 
of the received MAD instead.  But a failure could still occur, so the 
destruction of the cm_id in the REQ_RCVD state needs some additional 
error handling.

I will queue up trying to get a fix for this after I finish the 
modifications for the CM to support user-space.  Will that work okay?

> Also, it appears to me that the comm IDs in the CM messages are not
> endianized on the IB "wire". This causes no issue with interoperability
> but is slightly less clean to look at.

I didn't swap them simply because they didn't need to be.

- Sean



More information about the general mailing list