Rimmer, Todd wrote:
It is a bad idea to implement a custom double sided approach.  This will
suddenly create various compliance and interop issues.  For example Windows
Open Fabrics and Linux OpenSM might not interoperate.  Not to mention other
OSs (such as Solaris) which have their own IB stacks.

My proposal is that the spec be updated to limit DS RMPP to SA GetMulti only, which is the only thing it is currently defined for. A vendor specific class that required RMPP requests followed by RMPP responses would be defined to use two sender-initiated transfers. Currently, such vendor transactions are undefined.

As a second proposal, remove DS RMPP from the spec.

More interestingly, it is very likely that most uses of getmulti would
involve a requestor providing a request which would fit into a single MAD
packet and the RMPP protocol would not be fully needed by the sender (eg.
just the simple case of a single packet RMPP transfer by sender with a
multipacket RMPP response).  You will note up to 10 GIDs can fit in the
request within a single packet.  The most common uses will probably involve 2
source GIDs and 2 destination GIDs.

Whether the request fits into a single MAD or not, the DS RMPP protocol is supposed to be invoked. Meaning that an ACK is sent, and an ACK of that ACK is also generated. The implementation difficulty lies in maintaining the context of the DS RMPP transaction on the receiving side, not the segmentation and reassembly.

Hence perhaps the complexity of a compliant double sided solution could even
be avoided for now.

Right now, an RMPP request followed by an RMPP response works, but it isn't compliant with the DS RMPP protocol. It is compliant to using two sender-initiated transfers.

- Sean
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to