Subject: [rddp] DDP 7.3 - Data Source MUST transmit DDP Messages in order

From: Caitlin Bestler <[email-masked]>
Date: Wed, 5 Nov 2003 13:57:36 -0600

Section 7.3 of the DDP spec states that:

    At the Data Source, DDP:

      * MUST transmit DDP Messages in the order they were submitted to
         the DDP layer,

There are two possible interpretations of that requirement, depending
on what the meaning of "transmitting" a DDP Message is.

The liberal interpretation is that the DDP Layer "transmits" a DDP
Message when it presents the last segment in the message to the LLP.

A more complete requirement is that ALL DDP Segments must be presented
for transmission to the LLP *before* the first segment of the next
DDP Message may be submitted.

For most DDP receivers there is no difference between those two
requirements. However, there can be a significant difference for
a DDP receiver that accepts DDP Segments in order from the LLP
and is using a buffer sharing technique such as a Shared Receive
Queue where receive buffers are allocated "on demand".

The latter more restrictive interpretation (which matches what
virtually all implementations would do anyway) would allow a
receiver working with in-order deliveries from the LLP to know
that it would never need to have more than one pending receive
buffer. By the time it needed to allocate the next buffer, the
prior one would be eligible for delivery.

Receivers which process out-of-order would never detect the
difference between the interpretations. Receivers working with
connection specific receive resources (such as a classic
receive queue) would also be indifferent.

However, I believe there is real value in being allowed to
bound the number of pending allocations from a shared receive
queue when DDP Segments are delivered in order by the LLP.
Value that exceeds any imposition the tighter restriction
would place on the Data Source.

I would request the following:

- Does the WG agree that the current wording is compatible
   with both interpretations? Or is the latter interpretation
   locked in by some other language the at I overlooked?

- If there is agreement that the current language is at
   least potentially ambiguous, is there any objection to
   adding the clarification that all DDP Segments for a
   DDP Message must be submitted for transmission to the
   LLP before any Segment for a following DDP Message.

-- 
Caitlin Bestler - [email-masked] - http://asomi.com/
http://asomi.com/CaitlinBestlerPublicPgpKey.html

_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp

---

From: Michael Krause <[email-masked]>
Date: Wed, 05 Nov 2003 12:46:43 -0800

>   LLP before any Segment for a following DDP Message.

Implementations should be able to deal with OOO packet delivery and being 
able to target multiple receive buffers if they are posted (shared or 
exclusive).  Given there is no delta in the wire protocol or the expected 
interoperability in this respect, I do not favor trying to tighten how the 
transmitter is implemented as that is potentially delving into the specific 
design options in the hardware.

Mike