[openib-general] user_mad check question

Rimmer, Todd trimmer at silverstorm.com
Mon Jul 10 11:24:49 PDT 2006


> From: Sean Hefty [mailto:mshefty at ichips.intel.com]
> Sent: Monday, July 10, 2006 1:16 PM
> 
> Rimmer, Todd wrote:
> > We defined a response as:
> > ((R bit set || TRAP_REPRESS) && ! SEND) || (Class=BM && SEND &&
> > AttributeModifier BM Response bit set)
> 
> At this point, I'm leaning towards setting the upper bits of the TID
for
> all
> MADs that are not responses.  (This is for usermode only, so kernel
agents
> such
> as the CM are left as is.)

I disagree, this implies a non-symmetric translation of the TID for
SENDs (ie. it would be translated on the outbound SEND but not on any
corresponding inbound SEND which might be a reply).  The CM and BMA
established the precedent for a SEND based protocol where TID was
important and class specific information implied request/response
status.

I recommend only translating the TID on output MADs for messages we
understand well enough to ensure the reverse translation would occur
when the response arrived back to the sender (BMA is one such case,
non-SEND messages is another).

> 
> I think that a response can be identified as:
> 
> Response bit set || trap repress ||
> (class=BM && attribute modifier response bit set)
> 
> The last check is missing from current code, and the SEND checks
listed
> above
> seem unnecessary.

The test above for BM should include && Method==SEND.  The BMA protocol
also uses Get/Set and other methods, this response bit test is only
applicable to the SEND method for the BMA.

Todd Rimmer




More information about the general mailing list