[ofa-general] disconnect implementation for rdma cm unconnected datagram service

Sean Hefty mshefty at ichips.intel.com
Mon Jun 18 12:23:39 PDT 2007


> was that done on purpose? is there (eg implementation or spec related) 
> any problem to send DREQ through the CM?

This is spec related - DREQ doesn't apply to UD QPs - only connected.

> I did not mean to totally hide from the app (eg to the extent of no need 
> to re create the address vector), I just wonder if the mechanics to 
> realize that an unconnected rdmacm id is not "connected" any more can be 
> fully implemented within the rdmacm.

I don't see a way to do this underneath within the existing spec.  If 
the IB CM tracked SIDR lookups, maintaining state information, then we 
could make use of a DREQ type command to notify the remote side the the 
local QP is going away.  But this is outside of the spec, plus doesn't 
solve all of the issues (like a remote system reboot).

I don't think there's even an existing trap that we can use.

> Indeed, this is somehow not easily possible in all cases for us, as we 
> are not always allowed to add a wire protocol on --this-- QP, but we are 
> looking into that. Other solution we consider is "invalidate" the app 
> level "address handle" (IB AH + remote QPN) every ten seconds or so and 
> then re-connect, but this is not very much efficient.

How does IPoIB handle this?  Does it just time out the ARP entries every 
x minutes, which requires a new lookup?

Is there some way that you could map LIDs to QPNs, and use the 
SLID/src_qp data in the work completion to see if a remote service has 
moved QPs?

- Sean



More information about the general mailing list