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 tocindent="yes"?>
<?rfc tocompact="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> <front>
@ -374,27 +374,29 @@
<section anchor="transport" title="Transport Layer"> <section anchor="transport" title="Transport Layer">
<t>L3DL PDUs are carried by a simple transport layer which allows <t>L3DL PDUs are carried by a simple transport layer which allows
long PDUs to occupy many Ethernet frames. The L3DL data in each long PDUs to occupy many Ethernet frames. An L3DL frame is referred
frame is referred to as a Datagram.</t> to as a Datagram.</t>
<t>The L3DL Transport Layer encapsulates each Datagram using a <t>The L3DL Transport Layer encapsulates each Datagram using a
common transport header.</t> common transport header.</t>
<t>If a PDU does not fit in a single datagram, it is broken into <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 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> <figure>
<artwork> <artwork>
0 1 2 3 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 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> </artwork>
</figure> </figure>
@ -402,21 +404,22 @@
<t>The fields of the L3DL Transport Header are as follows: <t>The fields of the L3DL Transport Header are as follows:
<list style="hanging"> <list style="hanging">
<t hangText="Version:">Version number of the protocol, currently <t hangText="Version:">Seven-bit Version number of the protocol,
0. Values other than 0 are treated as errors.</t> 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 <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 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 Datagram, it is set to one. Note that this is the inverse of the
marking technique used by <xref target="RFC0791"/>.</t> marking technique used by <xref target="RFC0791"/>.</t>
<t hangText="Datagram Number:">0..127, a monotonically increasing <t hangText="Datagram Number:">A monotonically increasing 24-bit
value, modulo 128, see <xref target="RFC1982"/> which starts at 0 value which starts at zero for each PDU. This is used to
for each PDU. Note that this does not limit an L3DL PDU to 128 reassemble frames into PDUs a la <xref target="RFC0791"/> Section
frames.</t> 2.3. Note that this limits an L3DL PDU to 2^24 frames.</t>
<t hangText="Datagram Length:">Total number of octets in the <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 <t hangText="Checksum:">A 32 bit hash over the Datagram to detect
bit flips, see <xref target="checksum"/>.</t> 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"> <references title="Normative References">
<?rfc include="reference.RFC.1213"?> <?rfc include="reference.RFC.1213"?>
<?rfc include="reference.RFC.1629"?> <?rfc include="reference.RFC.1629"?>
<?rfc include="reference.RFC.1982"?>
<?rfc include="reference.RFC.2119"?> <?rfc include="reference.RFC.2119"?>
<?rfc include="reference.RFC.3032"?> <?rfc include="reference.RFC.3032"?>
<?rfc include="reference.RFC.4271"?> <?rfc include="reference.RFC.4271"?>