The state diagrams in the spec seem to imply that the MRA gets resent for every subsequent message received for which the MRA was originally sent (see the MRA Sent states). So a REP received in the MRA(REP) Sent state results in a resend of the MRA. Likewise, a REQ received in the MRA(REQ) Sent state also results in a resend of the MRA.
This is my interpretation as well.
Are the IB_CM_MRA_XXX_SENT states needed? I don't see anything in the IB spec that prohibits a client from sending multiple MRA messages, but maybe I missed it. If the CM repeats the MRA as described above, then I think only allowing the client to send one MRA is fine.
For the CM to repeat the MRA, I think it needs these states. I'm not sure what you mean by "multiple MRA messages".
I don't think the LAP message should be retried by the CM. Section 12.9.8.6 of the spec states that the REQ, REP, and DREQ can be retried. The LAP does have a timeout for a response, but no retries.
I think allowing the LAP to be retried by the CM is fine. Section 12.9.8 is dealing with connection establishment/teardown, and does not include path migration. Section 12.8 says that the LAP "may be re-sent if there is no response".
- 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
