[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[rddp] Unclear what is required
Clause 7 of MPA states:
" The following errors MUST be detected by MPA and the codes SHOULD be
provided to DDP or other consumer:
Code Error
1 TCP connection closed, terminated or lost. This includes
lost by timeout, too many retries, RST received or FIN
received.
2 Received MPA CRC does not match the calculated value for the
FPDU.
3 In the event that the CRC is valid, received MPA marker (if
enabled) and 'ULPDU Length' fields do not agree on the start
of a FPDU. If the FPDU start determined from previous ULPDU
Length fields does not match with the MPA marker position,
MPA SHOULD deliver an error to DDP. It may not be possible
to make this check as a segment arrives, but the check
SHOULD be made when a gap creating an out of order sequence
is closed and any time a marker points to an already
identified FPDU. It is OPTIONAL for a receiver to check
each marker, if multiple markers are present in an FPDU, or
if the segment is received in order."
I am having a hard time understanding what is "MUST", what is "SHOULD"
and what is "OPTIONAL" for item 3.
Here is how I am taking the above paragraph:
1. A device is not required (MUST) to do anything by item 3.
2. A receiver SHOULD compare a marker to the position shown by the ULPDU
length field of the previous FPDU if a TCP segment has arrived that
fills in a gap.
3. It is optional for all other cases (based on the "or" clause in the
last sentence of item 3).
Hence item 3 sums to a suggestion that markers be compared to FPDU start
based on ULPDU length when filling in a gap created by out of order TCP
segments.
Is there another take on this?
Barry Reinhold
Lamprey Networks
bbr at lampreynetworks.com
(603) 868-8411
_______________________________________________
rddp mailing list
rddp at ietf.org
https://www1.ietf.org/mailman/listinfo/rddp