[openib-general] Question about QP's in timewait state and CM stale conn rejects

Sean Hefty sean.hefty at intel.com
Sun Aug 20 10:37:39 PDT 2006


>> If we get here, this means that the REQ was a new REQ and not a
>> duplicate, but the remote_id or remote_qpn is already in use.  We need
>> to reject the new REQ as containing stale data.
>
>I don't follow, if we get to the else case its as of cm_get_id()
>returning NULL. This holds when idr_find() returns NULL or when the
>entry returned is associated with a different remote_id, so what makes
>you to conclude that "the remote_id or remote_qpn is already in use"???

When a new REQ is received, we enter its timewait structure into two trees: one
sorted by remote ID, one sorted by remote QPN.  If the REQ is new, both would
succeed, and timewait_info would be NULL.  Since timewait_info is not NULL, we
are dealing with a REQ that re-uses the same remote ID or same remote QPN.  If
the new REQ has the same remote ID (get_cm_id() returns non-NULL), we treat it
as a duplicate, otherwise it's marked as stale.

- Sean




More information about the general mailing list