[ofa-general] rdma_resolve_route() returning -EINVAL

Roland Dreier rdreier at cisco.com
Thu Oct 2 18:24:50 PDT 2008


 > Ok,. I guess that's not obvious from the name, but in particular if it's
 > so important, then why doesn't anyone implement it? It happens pretty
 > much iimmediately on my IB adapter QPs, under what conditions would
 > it be delayed? And since rdma_destroy_qp() is void, how would I know
 > if I call it too early?

The timewait state is just long enough for any packets to drain out of
the IB fabric -- the IB spec CM chapter has the exact formula, but it's
going to be very short.

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.

The issue is more of spec compliance than a likely real-life
scenario... and as for why no one else is worrying about it, I think
it's because the only other user of rdma_connect() in the tree is iSER,
and I guess no one worried too much there.  SRP uses the IB CM directly,
and waits for timewait exit before calling a connection closed.

 - R.



More information about the general mailing list