payload length to 32 and encaps count to 24
This commit is contained in:
parent
1e905ce5d3
commit
783bb0dff0
1 changed files with 134 additions and 127 deletions
|
|
@ -493,7 +493,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
Datagrams, see <xref target="transport"/>.</t>
|
Datagrams, see <xref target="transport"/>.</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type:8,Payload Length:16,Payload ...:40,Sig Type:8,Signature Length:16,Signature:40"
|
protocol "PDU Type:8,Payload Length:32,Payload ...:24,Sig Type:8,Signature Length:16,Signature:40"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -501,13 +501,13 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type | Payload Length | ~
|
| PDU Type | Payload Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
~ Payload ... ~
|
~ | Payload ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
| Sig Type | Signature Length | ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
|
||||||
~ Signature ~
|
~ Signature |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
@ -540,9 +540,9 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
<t hangText="Sig Type:">The type of the Signature. Type 0, a null
|
<t hangText="Sig Type:">The type of the Signature. Type 0, a null
|
||||||
signature, is defined in this document.</t>
|
signature, is defined in this document.</t>
|
||||||
|
|
||||||
<t>Sig Type 0 indicates a null Signature. For very short PDUs,
|
<t>Sig Type 0 indicates a null Signature. For a trivial PDU such
|
||||||
the underlying Datagram checksums may be sufficient for integrity,
|
as KEEPALIVE, the underlying Datagram checksum may be sufficient
|
||||||
if not for authentication.</t>
|
for integrity, though it lacks authentication.</t>
|
||||||
|
|
||||||
<t>Other Sig Types may be defined in other documents.</t>
|
<t>Other Sig Types may be defined in other documents.</t>
|
||||||
|
|
||||||
|
|
@ -621,6 +621,8 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
layer-3 routing protocols as being learned on the corresponding
|
layer-3 routing protocols as being learned on the corresponding
|
||||||
layer-3 SVI interface for the VLAN.</t>
|
layer-3 SVI interface for the VLAN.</t>
|
||||||
|
|
||||||
|
<t>LLEIs are big-endian.</t>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section anchor="hello" title="HELLO">
|
<section anchor="hello" title="HELLO">
|
||||||
|
|
@ -651,7 +653,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
default of 60 seconds.</t>
|
default of 60 seconds.</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 0:8,Payload Length = 0:16,Sig Type = 0:8,Signature Length = 0:16"
|
protocol "PDU Type = 0:8,Payload Length = 0:32,Sig Type = 0:8,Signature Length = 0:16"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -659,10 +661,10 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 0 | Payload Length = 0 | Sig Type = 0 |
|
| PDU Type = 0 | Payload Length = 0 ~
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
~ | Sig Type = 0 | Signature Length = 0 |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Signature Length = 0 |
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
|
|
@ -690,7 +692,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
frame.</t>
|
frame.</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 1:8,Payload Length:16,Nonce:32,LLEI Length:8,My LLEI:64,AttrCount:8,Attribute List ...:24,Auth Type:8,Key Length:16,Key ...:40,Sig Type:8,Signature Length:16,Signature ...:40"
|
protocol "PDU Type = 1:8,Payload Length:32,Nonce:32,LLEI Length:8,My LLEI:32,AttrCount:8,Attribute List ...:24,Auth Type:8,Key Length:16,Key ...:24,Sig Type:8,Signature Length:16,Signature ...:8"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -698,23 +700,19 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 1 | Payload Length | ~
|
| PDU Type = 1 | Payload Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Nonce | LLEI Length |
|
~ | Nonce ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
~ ~
|
~ | LLEI Length | My LLEI |
|
||||||
~ My LLEI ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-~
|
||||||
~ ~
|
~ | AttrCount | ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| AttrCount | Attribute List ... |
|
~ Attribute List ... | Auth Type | Key Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Auth Type | Key Length | ~
|
~ | Key ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
|
||||||
~ Key ... ~
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
| Sig Type | Signature Length | Signature ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
|
||||||
~ Signature ... ~
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
@ -728,8 +726,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
prevent session closure due to a repeated OPEN caused by a race or a
|
prevent session closure due to a repeated OPEN caused by a race or a
|
||||||
dropped or delayed ACK.</t>
|
dropped or delayed ACK.</t>
|
||||||
|
|
||||||
<t>My LLEI is the sender's LLEI, see <xref target="llei"/>. LLEIs
|
<t>My LLEI is the sender's LLEI, see <xref target="llei"/>.</t>
|
||||||
are big-endian.</t>
|
|
||||||
|
|
||||||
<t>AttrCount is the number of attributes in the Attribute List.
|
<t>AttrCount is the number of attributes in the Attribute List.
|
||||||
Attributes are single octets whose semantics are user-defined.</t>
|
Attributes are single octets whose semantics are user-defined.</t>
|
||||||
|
|
@ -745,8 +742,8 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
target="tlv"/>.</t>
|
target="tlv"/>.</t>
|
||||||
|
|
||||||
<t>Key Length is a 16-bit field denoting the length in octets of the
|
<t>Key Length is a 16-bit field denoting the length in octets of the
|
||||||
Key, not including the Auth Type or the Key Lengths. If there is no
|
Key itself, not including the Auth Type or the Key Lengths. If
|
||||||
Key, the Auth Type and key Length MUST both be zero.</t>
|
there is no Key, the Auth Type and key Length MUST both be zero.</t>
|
||||||
|
|
||||||
<t>The Key is specific to the operational environment. A failure to
|
<t>The Key is specific to the operational environment. A failure to
|
||||||
authenticate is a failure to start the L3DL session, an ERROR PDU is
|
authenticate is a failure to start the L3DL session, an ERROR PDU is
|
||||||
|
|
@ -784,7 +781,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
<section anchor="ack" title="ACK">
|
<section anchor="ack" title="ACK">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 3:8,Payload Length = 5:16,PDU Type:8,EType:4,Error Code:12,Error Hint:16,Sig Type:8,Signature Length:16,Signature ...:40"
|
protocol "PDU Type = 3:8,Payload Length = 5:32,ACKed PDU:8,EType:4,Error Code:12,Error Hint:16,Sig Type:8,Signature Length:16,Signature ...:24"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<t>The ACK PDU acknowledges receipt of a PDU and reports any error
|
<t>The ACK PDU acknowledges receipt of a PDU and reports any error
|
||||||
|
|
@ -795,13 +792,13 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 3 | Payload Length = 5 | PDU Type |
|
| PDU Type = 3 | Payload Length = 5 ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| EType | Error Code | Error Hint |
|
~ | ACKed PDU | EType | Error Code |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
| Error Hint | Sig Type |Signature Leng.~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
~ Signature ... ~
|
~ | Signature ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
@ -809,8 +806,8 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
<t>The ACK acknowledges receipt of an OPEN, Encapsulation, VENDOR
|
<t>The ACK acknowledges receipt of an OPEN, Encapsulation, VENDOR
|
||||||
PDU, etc.</t>
|
PDU, etc.</t>
|
||||||
|
|
||||||
<t>The PDU Type is the Type of the PDU being acknowledged, e.g.,
|
<t>The ACKed PDU is the PDU Type of the PDU being acknowledged,
|
||||||
OPEN or one of the Encapsulations.</t>
|
e.g., OPEN or one of the Encapsulations.</t>
|
||||||
|
|
||||||
<t>If there was an error processing the received PDU, then the EType
|
<t>If there was an error processing the received PDU, then the EType
|
||||||
is non-zero. If the EType is zero, Error Code and Error Hint MUST
|
is non-zero. If the EType is zero, Error Code and Error Hint MUST
|
||||||
|
|
@ -898,25 +895,26 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
<t>The header for all encapsulation PDUs is as follows:</t>
|
<t>The header for all encapsulation PDUs is as follows:</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type:8,Payload Length:16,Count:8,...:8,Encapsulation List...:24,Sig Type:8,Signature Length:16,Signature ...:40"
|
protocol "PDU Type:8,Payload Length:32,Count:24,Encapsulation List...:24,Sig Type:8,Signature Length:16,Signature ...:16"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
<artwork>
|
<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
|
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type | Payload Length | Count |
|
| PDU Type | Payload Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | Encapsulation List... |
|
~ | Count |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
| Encapsulation List... | Sig Type |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
~ Signature ... ~
|
| Signature Length | Signature ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<t>The 16-bit Count is the number of Encapsulations in the
|
<t>The 24-bit Count is the number of Encapsulations in the
|
||||||
Encapsulation list.</t>
|
Encapsulation list.</t>
|
||||||
|
|
||||||
<t>An Encapsulation PDU describes zero or more addresses of the
|
<t>An Encapsulation PDU describes zero or more addresses of the
|
||||||
|
|
@ -997,7 +995,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
interface's addresses and the corresponding prefix lengths.</t>
|
interface's addresses and the corresponding prefix lengths.</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 4:8,Payload Length:16,Count:8,...:8,PrimLoop Flags:8,IPv4 Address:16,...:16,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:40"
|
protocol "PDU Type = 4:8,Payload Length:32,Count:24,PrimLoop Flags:8,IPv4 Address:32,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:16"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -1005,20 +1003,20 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 4 | Payload Length | Count |
|
| PDU Type = 4 | Payload Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | PrimLoop Flags| IPv4 Address |
|
~ | Count |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | PrefixLen | more ... |
|
| PrimLoop Flags| IPv4 Address ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
~ | PrefixLen | more ... | Sig Type |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
~ Signature ... ~
|
| Signature Length | Signature ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<t>The 16-bit Count is the number of IPv4 Encapsulations.</t>
|
<t>The 24-bit Count is the number of IPv4 Encapsulations.</t>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
@ -1030,7 +1028,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
lengths.</t>
|
lengths.</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 5:8,Payload Length:16,Count:8,...:8,PrimLoop Flags:8,IPv6 Address:128,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:40"
|
protocol "PDU Type = 5:8,Payload Length:32,Count:24,PrimLoop Flags:8,IPv6 Address:128,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:16"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -1038,26 +1036,26 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 5 | Payload Length | Count |
|
| PDU Type = 5 | Payload Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | PrimLoop Flags| |
|
~ | Count |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| PrimLoop Flags| |
|
||||||
|
+-+-+-+-+-+-+-+-+ +
|
||||||
| |
|
| |
|
||||||
+ +
|
+ +
|
||||||
| |
|
| |
|
||||||
+ +
|
+ +
|
||||||
| IPv6 Address |
|
| IPv6 Address |
|
||||||
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| | PrefixLen | more ... |
|
| | PrefixLen | more ... | Sig Type |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
| Signature Length | Signature ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
|
||||||
~ Signature ... ~
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<t>The 16-bit Count is the number of IPv6 Encapsulations.</t>
|
<t>The 24-bit Count is the number of IPv6 Encapsulations.</t>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
@ -1095,7 +1093,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
lengths, and the corresponding labels.</t>
|
lengths, and the corresponding labels.</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 6:8,Payload Length:16,Count:8,...:8,PrimLoop Flags:8,MPLS Label List ...:16,...:16,IPv4 Address:16,...:16,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:40"
|
protocol "PDU Type = 6:8,Payload Length:32,Count:24,PrimLoop Flags:8,MPLS Label List ...:16,IPv4 Address:32,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature:32"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -1103,33 +1101,33 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 6 | Payload Length | Count |
|
| PDU Type = 6 | Payload Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | PrimLoop Flags| MPLS Label List ... |
|
~ | Count |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | IPv4 Address |
|
| PrimLoop Flags| MPLS Label List ... | ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | PrefixLen | more ... |
|
~ IPv4 Address | PrefixLen |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
| more ... | Sig Type | Signature Length |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
~ Signature ... ~
|
| Signature |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<t>The 16-bit Count is the number of MPLSv6 Encapsulations.</t>
|
<t>The 24-bit Count is the number of MPLSv4 Encapsulations.</t>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section anchor="mpls6" title="MPLS IPv6 Encapsulation">
|
<section anchor="mpls6" title="MPLS IPv6 Encapsulation">
|
||||||
|
|
||||||
<t>The MPLS IPv6 Encapsulation describes a logical link's ability
|
<t>The MPLS IPv4 Encapsulation describes a logical link's ability
|
||||||
to exchange labeled IPv6 packets on one or more subnets. It does
|
to exchange labeled IPv4 packets on one or more subnets. It does
|
||||||
so by stating the interface's addresses, the corresponding prefix
|
so by stating the interface's addresses, the corresponding prefix
|
||||||
lengths, and the corresponding labels.</t>
|
lengths, and the corresponding labels.</t>
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 7:8,Payload Length:16,Count:8,...:8,PrimLoop Flags:8,MPLS Label List ...:16,...:16,IPv6 Address:128,Prefix Len:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:40"
|
protocol "PDU Type = 7:8,Payload Length:32,Count:24,PrimLoop Flags:8,MPLS Label List ...:16,IPv6 Address:128,Prefix Len:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:32"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -1137,32 +1135,75 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 7 | Payload Length | Count |
|
| PDU Type = 7 | Payload Length ~
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | PrimLoop Flags| MPLS Label List ... |
|
~ | Count |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| ... | |
|
| PrimLoop Flags| MPLS Label List ... | |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
|
||||||
| |
|
| |
|
||||||
+ +
|
+ +
|
||||||
| |
|
| |
|
||||||
+ +
|
+ +
|
||||||
| IPv6 Address |
|
| IPv6 Address |
|
||||||
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+ +-+-+-+-+-+-+-+-+
|
||||||
| | Prefix Len | more ... |
|
| | Prefix Len |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Sig Type | Signature Length | ~
|
| more ... | Sig Type | Signature Length |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
~ Signature ... ~
|
| Signature ... |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<t>The 16-bit Count is the number of MPLSv6 Encapsulations.</t>
|
<t>The 24-bit Count is the number of MPLSv6 Encapsulations.</t>
|
||||||
|
|
||||||
|
<t>The MPLS IPv6 Encapsulation describes a logical link's ability
|
||||||
|
to exchange labeled IPv6 packets on one or more subnets. It does
|
||||||
|
so by stating the interface's addresses, the corresponding prefix
|
||||||
|
lengths, and the corresponding labels.</t>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section anchor="vendor" title="VENDOR - Vendor Extensions">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
protocol "PDU Type = 255:8,Payload Length:32,...:8,Enterprise Number:24,Ent Type:8,Enterprise Data ...:32,Sig Type:8,Signature Length:16,Signature ...:24"
|
||||||
|
-->
|
||||||
|
|
||||||
|
<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
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| PDU Type = 255| Payload Length ~
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
~ | ... | Enterprise Number ~
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
~ | Ent Type | Enterprise Data ... ~
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
~ | Sig Type |Signature Leng.|
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| | Signature ... |
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
</artwork>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
<t>Vendors or enterprises may define TLVs beyond the scope of L3DL
|
||||||
|
standards. This is done using a Private Enterprise Number <xref
|
||||||
|
target="IANA-PEN"/> followed by Enterprise Data in a format
|
||||||
|
defined for that Enterprise Number and Ent Type.</t>
|
||||||
|
|
||||||
|
<t>Ent Type allows a VENDOR PDU to be sub-typed in the event that
|
||||||
|
the vendor/enterprise needs multiple PDU types.</t>
|
||||||
|
|
||||||
|
<t>As with Encapsulation PDUs, a receiver of a VENDOR PDU MUST
|
||||||
|
respond with an ACK or an ERROR PDU. Similarly, a VENDOR PDU MUST
|
||||||
|
only be sent over an open session.</t>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
<section anchor="keepalive" title="KEEPALIVE - Layer 2 Liveness">
|
<section anchor="keepalive" title="KEEPALIVE - Layer 2 Liveness">
|
||||||
|
|
||||||
<t>L3DL devices SHOULD beacon frequent Layer 2 KEEPALIVE PDUs to
|
<t>L3DL devices SHOULD beacon frequent Layer 2 KEEPALIVE PDUs to
|
||||||
|
|
@ -1185,7 +1226,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
new Encapsulation PDUs exchanged.</t>
|
new Encapsulation PDUs exchanged.</t>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
protocol "Type = 2:8,Payload Length = 0:16,Sig Type = 0:8,Signature Length = 0:16"
|
protocol "PDU Type = 2:8,Payload Length = 0:32,Sig Type = 0:8,Signature Length = 0:16"
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -1193,53 +1234,15 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
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
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Type = 2 | Payload Length = 0 | Sig Type = 0 |
|
| PDU Type = 2 | Payload Length = 0 ~
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
~ | Sig Type = 0 | Signature Length = 0 |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
| Signature Length = 0 |
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
</artwork>
|
</artwork>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section anchor="vendor" title="VENDOR - Vendor Extensions">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
protocol "Type = 255:8,Payload Length:16,...:8,Enterprise Number:24,Ent Type:8,Enterprise Data ...:32,Sig Type:8,Signature Length:16,Signature ...:40"
|
|
||||||
-->
|
|
||||||
|
|
||||||
<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
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
| Type = 255 | Payload Length | ... |
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
| Enterprise Number | Ent Type |
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
| Enterprise Data ... |
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
| Sig Type | Signature Length | ~
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~
|
|
||||||
~ Signature ... ~
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
</artwork>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
<t>Vendors or enterprises may define TLVs beyond the scope of L3DL
|
|
||||||
standards. This is done using a Private Enterprise Number <xref
|
|
||||||
target="IANA-PEN"/> followed by Enterprise Data in a format
|
|
||||||
defined for that Enterprise Number and Ent Type.</t>
|
|
||||||
|
|
||||||
<t>Ent Type allows a VENDOR PDU to be sub-typed in the event that
|
|
||||||
the vendor/enterprise needs multiple PDU types.</t>
|
|
||||||
|
|
||||||
<t>As with Encapsulation PDUs, a receiver of a VENDOR PDU MUST
|
|
||||||
respond with an ACK or an ERROR PDU. Similarly, a VENDOR PDU MUST
|
|
||||||
only be sent over an open session.</t>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section anchor="l3liveness" title="Layers 2.5 and 3 Liveness">
|
<section anchor="l3liveness" title="Layers 2.5 and 3 Liveness">
|
||||||
|
|
||||||
<t>Layer 2 liveness may be continuously tested by KEEPALIVE PDUs,
|
<t>Layer 2 liveness may be continuously tested by KEEPALIVE PDUs,
|
||||||
|
|
@ -1415,6 +1418,10 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
||||||
<t>For these reasons, the OPEN PDU's authentication data exchange
|
<t>For these reasons, the OPEN PDU's authentication data exchange
|
||||||
SHOULD be used.</t>
|
SHOULD be used.</t>
|
||||||
|
|
||||||
|
<t>If the KEEPALIVE PDU is not signed (as suggested in <xref
|
||||||
|
target="tlv"/>) to save computation, then a MITM could fake a
|
||||||
|
session being alive.</t>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section anchor="iana" title="IANA Considerations">
|
<section anchor="iana" title="IANA Considerations">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue