[openib-general] CM reject handling

Sean Hefty mshefty at ichips.intel.com
Tue Feb 22 16:17:29 PST 2005


With the latest patch, most of the reject receive handling in the CM 
should be in place.  Currently, the handling simply involves passing 
the message up to the user and transitioning the cm_id to the correct 
state.  Specifically:

* code 6 - invalid comm id -- Possibly indicates a remote system 
reboot?  The user will receive the REJ failure to whatever message it 
was trying to send.

* code 7 - invalid comm instance -- Seems like it could only happen 
when sending a DREQ.  The current code should handle this as a normal 
part of receiving a REJ in the DREQ sent state.

* code 10 - stale connection -- The recipient of the REJ enters the 
timewait state.  There's nothing to handle the cm_id on the side of 
that detected the stale connection.

* code 24 - port/CM redirection -- Reject is passed to the user.

* code 25 - port redirection -- Currently just passed to the user.  I 
thought about adding in a cm_path field to the CM messages, but 
deferred this for now.

* code 30 - duplicate local comm id -- Possibly indicates a local 
system reboot?  Not sure what else can be done beyond passing rejection 
to the user.

* code 31 - unsupported class version -- I didn't look at what it would 
take to handle multiple CM versions, so I'm not sure if doing this 
would require API changes or not.

Comments?  My short-term plan is to implement sending CM issued reject 
messages for things like stale connections and invalid IDs.

- Sean



More information about the general mailing list