[openib-general] Making gen2 transport neutral
Caitlin Bestler
caitlinb at siliquent.com
Thu Jun 30 09:09:47 PDT 2005
> -----Original Message-----
> From: Christoph Hellwig [mailto:hch at lst.de]
> Sent: Thursday, June 30, 2005 9:03 AM
> To: Caitlin Bestler
> Cc: openib-general; rdma-developers at lists.sourceforge.net
> Subject: Re: [openib-general] Making gen2 transport neutral
>
> On Thu, Jun 30, 2005 at 08:52:54AM -0700, Caitlin Bestler wrote:
> > structs:
> > typically "struct ib_xyz" is transformed as follows:
> >
> > struct ib_xyz {
> > /* Only IB specific fields remain */
> > /* In some cases fields have been split, because
> > * iWARP allows two things to vary that IB had
> > * locked together. SGE limits are the primary
> > * example of this. iWARP can have different
> > * limits on SGE size for each type of message
> > */
> > };
> >
> > struct iwarp_xyz {
> > /* equivalent iWARP specific fields */
> > };
> >
> > struct rdma_xyz {
> > /* Transport neutral fields. Typically
> > * a subset of what was in struct ib_xyz before
> > */
> > union {
> > struct ib_xyz ib;
> > struct iwarp_xyz iwarp;
> > } xpt;
> > };
>
> wrong way around, but we had that before. It should be
>
> struct ib_foo {
> struct rdma_foo common;
> ...
> }
>
> struct iwarp_foo {
> struct rdma_foo common;
> ...
> }
>
That's a style question that I've heard both opinions on.
I'm comfortable with either approach, and actually prefer
the one you are suggesting. But I've ususally been on the
losing side of those discussions (not that I care strongly
either way).
If there's a citation in coding standards somewhere that
makes this a closed issue please cite it. That would close
the discussion quickly.
If there isn't a solid rule it really comes down to a
question of how likely a new RDMA transport is that is
not based upon either IB or iWARP. I doubt it. iWARP
differs from IB because it *had* to in order to ride
over TCP/IP and SCTP. IB has assumptions that are only
possible when the tranport and RDMA layers are intergrated
and share acknowledgement messages. For iWARP to emulate
that would have required redundant ack messages that would
have cluttered the network.
More information about the general
mailing list