Sean Hefty wrote: > Or Gerlitz wrote: >> Generally, i guess you need to insert the local QPN into the rb_tree >> ***before*** sending the REP not after it.
> That is what the patch does. OK, sorry for making noise, i was referring to your comment: "I think that it could insert the local QPN after the passive side calls ib_send_cm_rep(), similar to what's done in the client-server model." where i should have verified it in the code you sent... >> Can you state what is the usage being done with the local QPNs in the >> timeout on REQ flow? > > I don't quite follow what you're asking here. Local QPNs are tracked > when a REQ is sent. If a second REQ is sent using the same QPN, it will > fail with an address in use error. The local QPN is not removed from > the table until the connection fails, or we exit the timewait state > after being disconnected. OK, with s/REQ/REP/g i think to understand it better now: in ib_send_cm_rep you attempt to insert the local QPN into the rb_tree and if this is a resend of the REP or the user is recycling QPs (etc) a records for this QPN would be already there and you get address-in-use, unless you remove it in the timeout code or when disconnecting this connection (which is what you do). This is done also for the ib_send_cm_req case but you agreed it can be removed from there also for the peer to peer case. Or. _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
