[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