Re: DDP segment sequences for Untagged DDP message
Caitlin Bestler <[email protected]>
| Newsgroups | gmane.ietf.rddp |
|---|---|
| Message-ID | <[email protected]> |
> > > Would the following be acceptable wording? > > At the Data Sink, DDP MUST NOT Deliver a DDP Message until all of the > following conditions are true: > > * a DDP segment with the L bit set has been placed for this DDP > message > > * all octets, based on LLP sequence information, have been placed > for this DDP message. > > * all preceding DDP Message have been Delivered to the ULP. > Well yes, the essential requirement is "everything prior placed" and "prior messages completed". But I do not think this wording is any clearer than the original, and the second clause is almost misleading in its use of "all octets" and "for this DDP message". The DDP Layer does not know truly understand what inbound messages are. All that it knows is that all portions of the message are in or earlier than (in LLP sequence) than the segment with the L bit (and that the segment with the L bit has the highest MO if untagged). So the DDP Layer only knows when all octets for this LLP Sequence has been placed because it knows when all octets for all prior packets (based on LLP Sequence) have been placed -- but it has no recollection about which of those bytes were for any given message. The intent here is to 'scoreboard' the LLP stream, not messages. This is especially valuable because the LLP is doing so already. The second clause also implies that LLP sequence information is somehow byte related. When the transport is SCTP this is not the case. Indeed the "LLP Sequence" might not even match the actual transmit order because the sending stack is allowed to re-order Data Chunks to optimize chunk bundling.