Subject: RE: [rddp] RDDP header format

From: "Williams, Jim" <[email-masked]>
Date: Mon, 11 Nov 2002 12:27:13 -0500

> -----Original Message-----
> From: Michael Krause [mailto:[email-masked]]
>
> >For untagged buffers, the header defines a 32 bit field
> >called "RsvdULP[8:39]".  The RDMA layer uses this
> >for STag invalidate.  Just curious why this field
> >should be in the DDP header rather than the RDMA
> >header.
> 
> Standard field location for multiple ULP to use without 
> having to re-invent the wheel.

I don't understand.  Why is putting ULP header information
in the DDP header rather the the ULP header a good thing?
And how does that avoid re-inventing the wheel?  Perhaps
I'm missing something here.

> >Also, in the untagged buffer DDP header is a 32 bit
> >field defining the queue number.  Why does this
> >require 32 bits?  It looks like RDMA uses only
> >three queues numbered 0, 1, and 2.  If the number
> >of queues expected to be used is small, one
> >could potentially eliminate this field and use
> >two or three reserved bits to indicate the
> >queue number.
> 
> Pre-enablement for new services where a large QN space might be 
> desirable.  [...]  In general, defining a larger 
> space allows for future flexibility.

That is clear.  64 bits would give even more
flexability.  I was really trying to get at what
new services are forseen with sufficient probability
to justify this size QN space.  I am sure some
thought was give to that.  Perhaps it should be 
shared.
_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp

---

From: "Renato Recio" <[email-masked]>
Date: Mon, 11 Nov 2002 13:24:05 -0600

Jim,
   Regarding the DDP bits reserved for ULP use...  The reserved for ULP
usage bits were intendeded to allow the ULP to pass control fields to DDP
for inclusion in the DDP Segment.  The intention was to allow DDP's ULP to
pass immediate data to DDP and have DDP carry the ULP's immediate data as
part of the DDP Header.  DDP's ULP can use them to carry whatever immediate
data it wants delivered on a given DDP Message.  As you know,  when RDMAP
is DDP's ULP, the first 8 bits carry the RDMA Control field, which includes
the RDMA op-code and version number.  Also, for RDMAP Send with Invalidate
or Send with SE and Invalidate, the reserved bits carry the STag which is
to be Invalidated.

  Regarding the 32 bit Queue ID field...  Some folks thought the additional
queue identifiers may be used to support multiple receive queues per DDP's
ULP Stream.  As you know,  when RDMAP is DDP's ULP, only 3 Queue ID's are
used.

Thanks,

Renato J Recio
IBM Distinguished Engineer
Member IBM Academy of Technology
IBM I/O Architecture and Technology
Tel 512-838-3685, T/L 678-3685

                      "Williams, Jim"                                                                                   
                      <Jim.Williams@emu        To:       [email-masked]                                                  
                      lex.com>                 cc:                                                                      
                      Sent by:                 Subject:  [rddp] RDDP header format                                      
                      [email-masked]                                                                                 
                      rg                                                                                                

                      11/11/2002 09:50                                                                                  
                      AM                                                                                                

I had some basic questions about the DDP header format.
and defined in draft-shah-iwarp-ddp-01.txt.
I am sure others have given this a lot more thought
and have some good answers here.

For layering simplicity it seems more appropriate
for the field to be in the layer that uses it,
and also it would be nice if the DDP header were
the same size for tagged and untagged versions.
Not a huge issue, but just curious as to the thinking.

There might be a usage model where a large number
of queues would be required, but is not obvious
to me what that would be, and it was not clear
to me from a quick reading of the draft.

Thanks, Jim

---

From: "Williams, Jim" <[email-masked]>
Date: Tue, 12 Nov 2002 10:10:35 -0500

Thanks, Paul.  That's helpful information.

> From: Culley, Paul [mailto:[email-masked]]
> Sent: Monday, November 11, 2002 1:35 PM
> To: Williams, Jim; [email-masked]
> Subject: RE: [rddp] RDDP header format
> 
> 
> I think the reason for including the RDMA layer stuff in the 
> DDP layer, is that this avoids defining a general purpose 
> method of making space after the DDP header for an RDMA 
> header, but before the DDP data to be placed.  Since we could 
> only see a need for the 1 bytes for Tagged, and 5 bytes for 
> Untagged (in worst case) of RDMA "header data", we only 
> allowed these two cases.
> 
> In retrospect, we could possibly have reduced the QN field to 
> a couple of bits in the DDP header (using some of the 
> remaining 4 bits), but, due to the historical development, we 
> did not.  Others may also have concerns with using our 
> reserved bits that much, or plans for the larger QN field...
> 
> Paul Culley
> HP Sr. Fellow
> 281-514-5543
>