Re: DDP draft specification

Caitlin Bestler <[email protected]> Sun, 21 Aug 2005 19:15:15 -0700
Newsgroups gmane.ietf.rddp
Message-ID <[email protected]>
On Aug 19, 2005, at 10:28 AM, Sanjay Goyal wrote:

> Hi,
>
> The below 2 sentences are from draft-ietf-rddp-ddp-05.txt
>
> 1. DDP provides enough information in each DDP Segment to allow the  
> ULP Payload in each inbound
>     DDP Segment payloads to be directly Placed into the correct ULP  
> Buffer, even when the DDP Segments
>     arrive out-of-order.
> 2. This specification requires reliable, in order Delivery LLPs.
>
> First sentence says that DDP segments which are MPA FPDUs in TCP  
> case can arrive out-of-order and
> second sentence says that LLP (MPA layer) needs to provide ordered  
> delivery. Isn't it contradictory?
>

The same distinction between placement and delivery that applies for  
RDMAP and DDP
MAY apply to the DDP/LLP interface.

The DDP/LLP interface is not standardized, but the essence is that:

1) the LLP MAY supply DDP Segments in the order received (some might  
even say SHOULD).
     The adaptation layers for TCP and SCTP are specifically designed  
to enable this by providing
     sufficient data to enable placement even when LLP re-ordering  
has occurred.
2) The LLP MUST still indicate in-order delivery to DDP. DDP needs  
this because it MUST NOT
      deliver anything to RDMAP that was not fully delivered by the LLP.

One of the review criteria that the IETF RDDP work group insisted on  
was that DDP must
be implementable over a standards socket interface. DDP in fact  
allows this, but that interface
does not provide optimization for out-of-order placement.

An implementation can define its own DDP/LLP interface that  
distinguishes between
placement and delivery. Such an interface can even be described as  
"cleanly layered",
it just isn't using the classic sockets interface to define the clean  
layering.



Caitlin Bestler
Principal Software Scientist
Broadcom
[email protected]