On 6/18/07, <b class="gmail_sendername">Sean Hefty</b> <<a href="mailto:mshefty@ichips.intel.com">mshefty@ichips.intel.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> was that done on purpose? is there (eg implementation or spec related)<br>> any problem to send DREQ through the CM?<br><br>This is spec related - DREQ doesn't apply to UD QPs - only connected.</blockquote><div>
<br>
I see. <br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> I did not mean to totally hide from the app (eg to the extent of no need<br>
> to re create the address vector), I just wonder if the mechanics to<br>> realize that an unconnected rdmacm id is not "connected" any more can be<br>> fully implemented within the rdmacm.<br><br>I don't see a way to do this underneath within the existing spec.  If
<br>the IB CM tracked SIDR lookups, maintaining state information, then we<br>could make use of a DREQ type command to notify the remote side the the<br>local QP is going away.  But this is outside of the spec, plus doesn't
<br>solve all of the issues (like a remote system reboot).<br><br>I don't think there's even an existing trap that we can use.</blockquote><div><br>
I see.  <br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> Indeed, this is somehow not easily possible in all cases for us, as we<br>> are not always allowed to add a wire protocol on --this-- QP, but we are
<br>> looking into that. Other solution we consider is "invalidate" the app<br>> level "address handle" (IB AH + remote QPN) every ten seconds or so and<br>> then re-connect, but this is not very much efficient.
<br><br>How does IPoIB handle this?  Does it just time out the ARP entries every<br>x minutes, which requires a new lookup?</blockquote><div><br>
its not  IPoIB but rather the neighbouring subsystem of the IP
stack, it sends unicast arp probes every n seconds, and if m probes
fail, it sends a broadcast arp. n and m are parameters that can be
changed where I think the default is n=20sec m=3<br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Is there some way that you could map LIDs to QPNs, and use the<br>SLID/src_qp data in the work completion to see if a remote service has
<br>moved QPs?</blockquote><div><br>
if the communication pattern is that both A sends to B and B sends to
A, then there is some path to follow here, namely for each packet (work
completion) A gets to B it checks if B's QPN has been changes, and if
yes, it does re-connect. <br>
</div><br>
Or<br></div><br>