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

Isaac Huang He.Huang at Sun.COM
Wed May 27 21:43:35 PDT 2009


On Tue, May 26, 2009 at 01:43:25PM -0700, Sean Hefty wrote:
> >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.
> 
> Yes, it's possible to enter timewait without going through established.  I'd
> have to walk through the code at this point to identify all of the cases.

Thanks, I followed cm_enter_timewait() call sites and found that it
could be entered via several paths without going through IB_CM_ESTABLISHED.

> Note that a lot (most?) connections between QPs are established out of band
> using TCP, and these are not tracked by the CM or go through any sort of
> timewait before potentially being reused.

I don't quite understand this. Could you please point me to places
(code, IB spec, so on) where I could poke around?

Thanks,
Isaac



More information about the general mailing list