[openib-general] user_mad check question
Sean Hefty
mshefty at ichips.intel.com
Fri Jul 7 13:59:30 PDT 2006
Rimmer, Todd wrote:
> While the TID can be appropriate for a SEND (it depends on management
> class, some classes could chose to always use 0), this code fragment
> cannot be sure if the SEND is a new request or a response to an existing
> request. Hence it cannot be certain if it should modify the TID.
If the TID is not modified, then there's no guarantee that the send is unique
across multiple agents. I guess what I need to determine is when is it wrong to
modify the TID of a send. My interpretation of C13-18.1.1 is that sends must
also be unique for TID, SGID, and class.
I know that the spec states that classes that do not use the TID should set it
to 0, but are there any classes defined that do this?
> I have not studied this whole code path, but it might hint at a problem
> when handling MAD classes which use SEND instead of REQ/RESP type
> messages.
> Namely the hi_tid is not inserted for SEND. Does other code on the
> receive path expect hi_tid?
The hi_tid is used to route a response to the correct agent. But since sends
wouldn't have the response bit set anyway, routing would need to be done based
solely on the class. This is what is done for the CM.
Can sends ever be used with RMPP?
> One such class which can use SEND to hold requests and their responses
> is the BMA. So can the SNMP tunnel and the CM (although CM is not
> usually done from user space). For the BMA case, a request can be:
> Class=BM
> Method=SEND
> AttributeModifier has BM RESPONSE bit set
Ugh. This makes it really hard to determine if a send is a new operation.
- Sean
More information about the general
mailing list