[openib-general] ib_mad.h rmpp_version and RRespTime in header

Sean Hefty mshefty at ichips.intel.com
Thu Aug 5 08:20:48 PDT 2004


On Thu, 05 Aug 2004 08:28:50 -0400
Hal Rosenstock <halr at voltaire.com> wrote:

> Do we really want the consumer to know RMPP version and pass it into
> ib_mad_reg_class (and also ib_mad_qp_redir) ?

I think that we need a flag of some sort for the consumer to indicate that a MAD has the RMPP header.  The size of the RMPP header may change between versions, so the access layer needs to know how large the header is.  The consumer needs to know which version is being used, so that it can allocate the header in the MAD.  I guess an alternative is to specify the version in the ib_mad_msg (or set directly in the MAD).

My hope is that the access layer can be isolated from changes to the management classes, or from having to know which classes require RMPP.
 
> It would seem to me that the RMPP implementation should support whatever
> version(s) it does and be backward compatible to other versions.

Didn't the RMPP stuff change completely between 1.0 and 1.1, such that trying to support 1.0 and 1.1 requires the client to control the RMPP?  This is kind of what I'm worried about.  Also, a client may have an idea of what RMPP version is supported by the remote side, whereas the access layer does not.

> The only reason I recall from this thread was allowing the consumer to
> set RRespTime in the RMPP header as a way of passing this. If that is
> the only thing, why not do this some other way (like part of ib_mad_msg
> struct) ? Shouldn't we isolate the consumer from these sorts of things ?

I think that we should examine whatever alternatives make sense.  However, I believe that the sender should provide the buffer space for both the MAD and RMPP headers.  If that is done, then it seems to make more sense to set the data directly in the header, rather than have the access layer copy it from ib_mad_msg into the header.



More information about the general mailing list