[openib-general] Dual Sided RMPP Support as well as OpenSM Implications

Hal Rosenstock halr at voltaire.com
Fri Apr 7 04:41:49 PDT 2006


Hi,

I am in the process of adding support for SA MultiPathRecord to OpenSM.
Dual sided RMPP is not supported in the current RMPP support nor is the
use of dual sided RMPP by OpenSM (or the vendor SA client). 

It can be added but may require an API change and possibly an ABI
change. It seems that user space code needs to both say and know whether
dual sided RMPP is supported or not so all mixes of user space and
kernel code could "work".

The simplest way I can think of to add this from an ABI/API perspective
is to add an ioctl to user_mad for this. Prior to the kernel supporting
this, libibumad can just return not supported for the "is dual sided"
check for the current user_mad ABI version (which is 5). Anyone have any
better ideas on how to accomplish this ?

Also, there is the question of what should the existing RMPP code do if
it receives dual sided RMPP request on the network side. It could ABORT
this request although RMPP currently has no specific status code for
this. This is likely an issue with any other dual sided RMPP
implementations and there would be no guarantee of interoperability
here. It's unclear what RMPP implementations which do not support dual
sided would do: likely just handle it as if it weren't dual sided.

On the OpenSM side, should there be a DUAL_SIDED_RMPP flag ? I resist
the 2 versions of OpenSM but there may be a need for this but I don't
think it's an OpenIB need. I think OpenIB version can deal with whether
the kernel supports dual sided RMPP at initialization time so there
would need no conditionalization of OpenSM for OpenIB's purpose.

Comments ?

-- Hal




More information about the general mailing list