[openib-general] Re: [PATCH] ib_mad: prevent duplicateoutstanding MADtransactions with same TID

Jack Morgenstein jackm at mellanox.co.il
Mon Feb 27 06:16:58 PST 2006


On Monday 27 February 2006 16:01, Michael S. Tsirkin wrote:
> I think the problem with this specific patch was that ib_find_send_mad
> ignores the remote address (and method?) when doing lookup,
> so its wrong to use it to check that the transaction is in progress.
> This shouldnt be hard to fix, though, should it?
ib_find_send_mad is also used on the qp receive side for matching arriving 
packets ( RMPP ACK/NACK) to waiting sessions (the RMPP responder session).

using ib_find_send_mad on the send side is no worse than using it on the 
response side.  The fix I submitted checks for RMPP sessions ONLY.  If there 
is a duplicate session problem (same TID, from different GIDs), that problem 
will still exist even with the submitted patch when ACK/NACKs arrive -- since 
matching of incoming packets to MAD sends waiting for responses is currently 
done by TID alone.  This is a separate fix.

i.e., there are 2 separate problems.
1. RMPP duplicate sessions with same host -- due to dropped segments and 
requester retries.
2. separate RMPP sessions, where TIDs are identical, but GIDs are different.

The included patch fixes the first.
>
> We should just check the packet method, and compare source/destination GIDs
> as appropriate. The remote GID can be got from ib_query_ah. Right?



More information about the general mailing list