[openib-general] CM reject handling
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
* 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.
More information about the general