Subject: RE: [Tsvwg] RE: [rddp] RE: Placement "outside of" TCP

From: [email-masked]
Date: Thu, 19 Dec 2002 17:53:21 -0500

Brian,

> Can you give an example of a mechanism which would satisfy both out
> of order placement (direct with no subsequent copy) yet in order
> delivery?  

An async I/O interface is one possible analogue to how an application
would use DDP - queue buffers in multiple queues for inbound data,
wait for completion events to indicate that I/O has occurred,
don't try to look at the buffers in the interim as there are
no guarantees as to what will get written to which portions
of them when.  Data can be placed into buffers when it's
convenient to do so, but in order delivery is enforced by
not sending the completion event until it is appropriate to do
so.

> (Bear in mind that overwritting user data in a buffer
> beyond what is "delivered" would be completely unexpected by an
> existing TCP application.)

It would be similarly unexpected from an async I/O interface.  A
queued buffer has a length and writing beyond it is an error.  The
DDP draft currently doesn't contain the access control text and
model needed to specify this - they're coming.  Since this is
apparently about an "existing TCP application", this must be
Untagged DDP transfer, so the following sentence from Section 3.2
of the DDP draft applies to this "overwrite beyond end of buffer"
case:

   If the Data Source sends a DDP Message payload 
   larger than the receive buffer, it results in an error.

The error results in the contents of the buffer being invalid,
although I can't immediately find the text in the current DDP
draft that says that - if it's not there, it'll need to be
added.

Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953 **NEW**     FAX: +1 (508) 293-7786
[email-masked]        Mobile: +1 (978) 394-7754
----------------------------------------------------
 
_______________________________________________
tsvwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tsvwg

---

From: "Somesh Gupta" <[email-masked]>
Date: Thu, 19 Dec 2002 15:31:12 -0800

David,

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]On Behalf Of
> [email-masked]
> Sent: Thursday, December 19, 2002 2:53 PM
> To: [email-masked]
> Cc: [email-masked]; [email-masked]
> Subject: RE: [Tsvwg] RE: [rddp] RE: Placement "outside of" TCP
>
>
> Brian,
>

  If the out-of-order placement but not delivery principle is to be followed
  to the letter, TCP should not look at the DDP header to determine
  where the data should be placed. What should happen is that
  the TCP layer places data in shared buffers, and at the time
  of delivery, provides a linked list of vectors that contain
  the data.
> rddp mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/rddp