Hi Sean,

Basically, I am trying to understand when a "stale connection" as defined by
12.4.1 handling is carried out by the CM and what are the cases where it
must be handled at the app level (if there are such).

Looking on the code, I see that the CM sends a reject message with the reason 
being
IB_CM_REJ_STALE_CONN when it gets a REQ or REP whose <QPN, CA GUID> pair is 
already
present at the remote-qpn rb tree (and in another case which I don't fully 
understand).

On the other side, when the CM receives a reject message with that reason, the 
local handle
(id) is moved to the timewait state, where my understanding is that it will sit 
there for a while
and then a reject/stale-connection callback will be delivered to the user, the 
id will be removed.

What I don't see is issue of "DREQ, with DREQ:remote QPN set to the remote QPN 
from the REQ/REP"
as stated in 12.9.8.3.1 (below), is it really missing or I am reading the code 
wrong?

Also, its quite clear to me that from the view point of the application there 
are stale
connection cases which the CM can not catch, eg a client DREQ did not arrive to 
the server
side CM and then the client REQ uses a different QPN, etc. My understanding is 
that in such
cases the responsibility to close the stale connection/qp is on the server app.

Or.

12.9.8.3.1 REQ RECEIVED / REP RECEIVED
(RC, UC) A CM may receive a REQ/REP specifying a remote QPN in REQ:local 
QPN/REP:local QPN
that the CM already considers connected to a local QP. A local CM may receive 
such a REQ/REP
if its local QP has a stale connection, as described in section 12.4.1. When a 
CM receives
such a REQ/REP it shall abort the connection establishment by issuing REJ to 
the REQ/REP.
It shall then issue DREQ, with DREQ:remote QPN set to the remote QPN from the 
REQ/REP, until
DREP is received or Max Retries is exceeded, and place the local QP in the 
TimeWait state.

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to