[ofa-general] RE: CM goes to timewait state without waiting for disconnect reply

Sean Hefty sean.hefty at intel.com
Thu Apr 17 11:34:16 PDT 2008


>When the client closes the connection it calls ib_destroy_cm_id() who calls
>cm_destroy_id().
>In my scenario it happen when the CM is in state "Established". In this state
>ib_send_cm_dreq() is called.
>This function sends a DREQ and change state to "DREQ sent".
>After that the function returns and the switch is tried again this time we're
>in state "DREQ sent".
>There the state is changed into "TimeWait".

Yes - this will result in transitioning into timewait immediately after sending
the DREQ.  By destroying the cm_id, the user has indicated that they do not want
to wait for a DREP, nor do they care about when timewait has exited.

If a DREQ is received while the cm_id is in timewait, it will generate a DREP in
response.  DREP messages while in timewait are simply dropped.

What exactly is the problem that you're seeing?

- Sean




More information about the general mailing list