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

Michael S. Tsirkin mst at mellanox.co.il
Tue Feb 28 05:08:19 PST 2006


Quoting r. Sean Hefty <mshefty at ichips.intel.com>:
> Subject: Re: [PATCH] ib_mad: prevent duplicateoutstanding MADtransactions with same TID
> 
> Michael S. Tsirkin wrote:
> >>>Host A sends an RMPP request message to host B with TID=3
> >>>Host B sends an RMPP request message to host A with TID=3.
> >>>Now if A generates an RMPP response it has TID=3.
> >>>
> >>>If B sends ACK, host A has no idea which transaction is being ACKed.
> >>
> >>Bah... can we distinguish which transaction is being ACKed by the 
> >>response bit?
> >
> >Are you talking about checking IB_MGMT_METHOD_RESP?
> >
> >How is this different from what I proposed?
> 
> Yes - this is what you proposed.  I believe that it can work for ACKs since 
> an ACK must match with a send.
> 
> >Wont this work for Abort/Stop as well?
> 
> Given the example above, with hosts A and B sending requests, if host B 
> sends an abort, it's still unknown which transaction is being aborted, 
> since neither the send or receive would have the response bit set.

Sorry for being dense, I'm not sure I understand.  Do you mean response when you
say receive? We never have both a request and a response outstanding to the
same remove GID with the same TID, do we?

If I get an abort with a response method - this is an abort that a receiver
issued, so its an abort of a transaction that I am currently sending.

If I get an abort with a request method - this is an abort that a sender
issued, so its an abort of a transaction that I am currently receiving.

So how are aborts different from ACKs here?

-- 
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies



More information about the general mailing list