>> 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 _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
