Re: Meaning of preceding

"Caitlin Bestler" <[email protected]>
Newsgroups gmane.ietf.rddp
Message-ID <[email protected]>
Barry Reinhold said:
> Questions on DDP receiver
>
> Assume a DDP receiver has a set of buffers "associated with" MSN
> 0,1,2,3,4 and 5. (unexpected association for MSN 0) for a given constant
> QN.
>
> Question 1:
>
> If the first DDP segment that arrives has MSN = 0 (no TCP sequence gap,
> violation of initial MSN rule) does the receiver: (1) Place and deliver,
> (2) place and hold, (3) signal error to ULP.
>

The expected MSN window would be at 1 (since the receiver has
completed no prior receive operations). Therefore MSN 0 is
2**32 messages in the future. I do not believe that more
than 2**31 messages could be in flight with any known LLP.
The SCTP mapping explicitly limits this, and it is implicitly
limited by the number of bytes that can be in-flight for TCP.

More importantly, it is highly unlikely that the receiving ULP
has made anywhere near that many buffers available.

The legal range of MSNs is defined by the base and the number
of available buffers. What is "available" gets tricky if the
local interface uses SRQs, but resolving that is a local issue.

> Question 2:
>
> If MSN 1 has been received, and the next MSN is 3 (with no TCP sequence
> gap, sender protocol error) what is the receiver's expected behavior?
>

I presume you mean that there is no gap in the LLP sequencing
between MSN 1 and MSN 3.

In that case the receiver should, at some point, determine that
MSN 2 will never arrive, and teardown the connection.

MSN 3 may have been placed before the error condition can be
noted, but obviously not completed.

I am not aware of any language that requires the receiver to
*promptly* note this condition. As that the only damage is
hanging the connection where the mistake was made, simply
waiting for things to time-out would strike me as acceptable.
The sender is in violation. The receiver MUST protect itself,
but is under no obligation to provide prompt courteous diagnostics.
Of course it is very nice of it to do so.

It should also be noted that when checking for this condition
under SCTP that the adaptation layer's stream sequence number
(which represents the stream specific order of *submission*
to the sending LLP) must be used. Cheking using the TSN,
can result in a mistaken ordering. It is legal for the SCTP
TSN for the chunk containing MSN n to be earlier than for
the chunk containing MSN n+1 because the sending SCTP stack
is allowed to re-order chunks to optimize bundling.



--
Caitlin Bestler
http://asomi.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.