[ofw] patch: [ibal] Allow cm to send a lap request after a failed (by timeout) lap request.
Tzachi Dar
tzachid at mellanox.co.il
Wed Oct 14 15:44:26 PDT 2009
This patch is needed to fix the following case:
two qps are connected.
another path is already loaded.
The connected port fails. An apm event is fired.
a process of loading a new path starts by a query path record. The sm
doesn't still know that the port is down so it returns a path record.
The cm client side sends lap. Since the port is down he gets a timeout
response.
After the timeout all new lap requests failed with invalid state. The
fix is to return the cep to established state after the timeout.
Thanks
Tzachi
Index: Q:/projMLNX_WinOF_2.0/MLNX_WinOF_2-0/core/al/kernel/al_cm_cep.c
===================================================================
--- Q:/projMLNX_WinOF_2.0/MLNX_WinOF_2-0/core/al/kernel/al_cm_cep.c
(revision 4956)
+++ Q:/projMLNX_WinOF_2.0/MLNX_WinOF_2-0/core/al/kernel/al_cm_cep.c
(revision 4957)
@@ -2289,7 +2289,15 @@
__format_drep( p_cep, NULL, 0, &p_cep->mads.drep );
p_cep->state = CEP_STATE_TIMEWAIT;
__insert_timewait( p_cep );
+ break;
+ case CEP_STATE_LAP_SENT:
+ /*
+ * Before CEP was sent, we have been in CEP_STATE_ESTABLISHED as we
+ * failed to send, we return to that state.
+ */
+ p_cep->state = CEP_STATE_ESTABLISHED;
+ break;
default:
break;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20091015/03f63c46/attachment.html>
More information about the ofw
mailing list