[ofa-general] two questions about RDMA_CM_EVENT_TIMEWAIT_EXIT and the TimeWait state

Isaac Huang He.Huang at Sun.COM
Tue May 26 13:03:46 PDT 2009


Hi all,

1.
In a previous discussion:
http://www.mail-archive.com/general@lists.openfabrics.org/msg19820.html

It was mentioned that:
You're allowed to destroy a QP earlier, but you have a remote chance of
getting into trouble if you reuse the same QP number before any stale
packets have drained from the fabric.

If rdma_destroy_qp is called on a QP before it exits the TimeWait
state (i.e. after RDMA_CM_EVENT_DISCONNECTED but before
RDMA_CM_EVENT_TIMEWAIT_EXIT), is it possible that a subsequent rdma_create_qp
would reuse the same QP while it's still in TimeWait? I'd think that
rdma_destroy_qp should not make a TimeWait QP immediately reusable,
but wouldn't be surprised if otherwise.

2.
In 12.9.6 of the Infiniband Architecture v1.2, it seemed that a QP
could enter the TimeWait state without having entered the Established
state first, via the RTU timeout. Could a RDMA_CM_EVENT_TIMEWAIT_EXIT
happen right after a RDMA_CM_EVENT_CONNECT_REQUEST without a
RDMA_CM_EVENT_ESTABLISHED? If yes, our ULP would have to cleanup some
resources in case RDMA_CM_EVENT_TIMEWAIT_EXIT happens on passive side.

Thanks,
Isaac



More information about the general mailing list