[ofa-general] IB/cm: bug in stale connection detection logic?

Sean Hefty mshefty at ichips.intel.com
Mon May 21 12:37:34 PDT 2007


> Why is an extra call to cm_get_id required to detect a duplicate?
> Shouldn't we just
> 
>         timewait_info = cm_insert_remote_id(cm_id_priv->timewait_info);
> 	if (timewait_info) {
> 		/* handle duplicate */
> 		return;
> 	}
> 
> 	timewait_info = cm_insert_remote_qpn(cm_id_priv->timewait_info);
> 	if (timewait_info) {
> 		/* handle stale */
> 		return;
> 	}
> 
> 	not a duplicate and not a stale connection

After looking at this more, I think we want something structured closer 
to what's listed above, with the duplicate handling enhanced to check 
that the QPN in the potential duplicate REQ matches what's already 
associated with the remote ID.

Did you hit into an actual problem with the current code?  It seems like 
the only issue is that a possible stale request would timeout, rather 
then be immediately rejected.  If so, I will queue up a patch for 2.6.23.

- Sean



More information about the general mailing list