increase datagram number in transport header and do not allow wrap

This commit is contained in:
Randy Bush 2019-06-03 12:33:55 -07:00
parent dd7e9dbc19
commit 86f737a404

View file

@ -11,7 +11,7 @@
<?rfc tocindent="yes"?>
<?rfc tocompact="yes"?>
<rfc category="std" docName="draft-ietf-lsvr-l3dl-00" ipr="trust200902">
<rfc category="std" docName="draft-ietf-lsvr-l3dl-01" ipr="trust200902">
<front>
@ -374,27 +374,29 @@
<section anchor="transport" title="Transport Layer">
<t>L3DL PDUs are carried by a simple transport layer which allows
long PDUs to occupy many Ethernet frames. The L3DL data in each
frame is referred to as a Datagram.</t>
long PDUs to occupy many Ethernet frames. An L3DL frame is referred
to as a Datagram.</t>
<t>The L3DL Transport Layer encapsulates each Datagram using a
common transport header.</t>
<t>If a PDU does not fit in a single datagram, it is broken into
multiple datagrams and reassembled by the receiver a la <xref
target="RFC0791"/> Section 2.3 Fragmentation..</t>
target="RFC0791"/> Section 2.3 Fragmentation.</t>
<!--
protocol "Version:8,L:1,Datagram Number:7,Datagram Length:16,Checksum:32"
protocol "Version:7,L:1,Datagram Number:24,Datagram Length:16,Checksum:32,Payload...:16"
-->
<figure>
<artwork>
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version |L|Datagram Num.| Datagram Length |
| Version |L| Datagram Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum |
| Datagram Length | Checksum ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ | Payload... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
</figure>
@ -402,21 +404,22 @@
<t>The fields of the L3DL Transport Header are as follows:
<list style="hanging">
<t hangText="Version:">Version number of the protocol, currently
0. Values other than 0 are treated as errors.</t>
<t hangText="Version:">Seven-bit Version number of the protocol,
currently 0. Values other than 0 are treated as errors.</t>
<t hangText="L:">A bit that set to one if this Datagram is the
last Datagram of the PDU. For a PDU which fits in only one
Datagram, it is set to one. Note that this is the inverse of the
marking technique used by <xref target="RFC0791"/>.</t>
<t hangText="Datagram Number:">0..127, a monotonically increasing
value, modulo 128, see <xref target="RFC1982"/> which starts at 0
for each PDU. Note that this does not limit an L3DL PDU to 128
frames.</t>
<t hangText="Datagram Number:">A monotonically increasing 24-bit
value which starts at zero for each PDU. This is used to
reassemble frames into PDUs a la <xref target="RFC0791"/> Section
2.3. Note that this limits an L3DL PDU to 2^24 frames.</t>
<t hangText="Datagram Length:">Total number of octets in the
Datagram including all payloads and fields.</t>
Datagram including all payloads and fields. Note that this limits
a datagram to 2^16 octets.</t>
<t hangText="Checksum:">A 32 bit hash over the Datagram to detect
bit flips, see <xref target="checksum"/>.</t>
@ -1544,7 +1547,6 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
<references title="Normative References">
<?rfc include="reference.RFC.1213"?>
<?rfc include="reference.RFC.1629"?>
<?rfc include="reference.RFC.1982"?>
<?rfc include="reference.RFC.2119"?>
<?rfc include="reference.RFC.3032"?>
<?rfc include="reference.RFC.4271"?>