Some questions related to "last segment" of a ddp message

"Barry Reinhold" <[email protected]>
Newsgroups gmane.ietf.rddp
Message-ID <002701c3dbaf$b6d02580$467fa8c0@i8600>
Hemal,

I would like to check on a couple of issues:

I believe that it is possible to RECEIVE a sequence of DDP segments
using the untagged buffer model as follows: Let me know if this is not
correct.

Segment 1: QN=1, MSN=1, MO=200, L=0 (payload 100) (MO not 0 on first)
Segment 2: QN=1, MSN=1, MO=200, L=0 (payload 100) (duplicate)
Segment 3: QN=1, MSN=1, MO=100, L=0 (payload 100) (backward)
Segment 4: QN=1, MSN=1, MO=000, L=0 (payload 050) (meets 6.3, MO field)
Segment 5: QN=1, MSN=1, MO=400, L=1 (payload 000) (meets 6.1 L bit
field)

In particular, 
1. If no packets have been received w/ a given MSN and QN and a packet
arrives with a non-zero MO this is not an error.
2. The MO fields in intermediate segments are not constrained to be in
order, can have gaps, and can write over buffer space already written
to.

Or from a test perspective, if a receiver returned an error when
receiving the above sequence the receiver would be considered
non-conformant.

I am also a bit confused by the use of the term "last" in the draft.

If the above is considered a valid sequence it is unclear to me how the
receiver can meet the requirements of knowing that all DDP Segments of
the DDP message have been placed before it "delivers" the DDP message to
the ULP. (page 14 under L - Last flag, first bullet)

Is there some method other than the L bit that indicates that all
segments of a DDP message have been placed? (i.e. do implementations
need to keep a scoreboard?) The draft (in clause 7.4, first *, on page
20) references a requirement on the receiver to deliver only when the
last bit is set on the "last DDP Segment". How is the last segment
defined beyond the L bit?



Barry Reinhold
Lamprey Networks
[email protected]
(603) 868-8411
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.