checkpoint
This commit is contained in:
parent
783bb0dff0
commit
ac441e4246
1 changed files with 46 additions and 28 deletions
|
|
@ -162,8 +162,7 @@
|
|||
message. A PDU may need to be broken into multiple Datagrams to
|
||||
make it through MTU or other restrictions.</t>
|
||||
<t hangText="RouterID:">An 32-bit identifier unique in the
|
||||
current routing domain, see <xref target="RFC4271"/> updated by
|
||||
<xref target="RFC6286"/>.</t>
|
||||
current routing domain, see <xref target="RFC6286"/>.</t>
|
||||
<t hangText="Session:">An established, via OPEN PDUs, session
|
||||
between two L3DL capable link end-points,</t>
|
||||
<t hangText="SPF:">Shortest Path First, an algorithm for finding
|
||||
|
|
@ -193,12 +192,16 @@
|
|||
|
||||
<t>L3DL assumes a new IEEE assigned EtherType (TBD).</t>
|
||||
|
||||
<t>The number of addresses of the Encapsulations on a link may be
|
||||
fairly large given a TOR with more than 20 servers, each server
|
||||
possibly having on the order of a hundred micro-services resulting
|
||||
in an inordinate number of addresses. And security will further add
|
||||
to the length of PDUs. PDUs with lengths over 10,000 octets are
|
||||
likely or quite possible.</t>
|
||||
<t>The number of addresses of one Encapsulation type on an interface
|
||||
link may be quite large given a TOR with tens of servers, each
|
||||
server having o few hundred micro-services, resulting in an
|
||||
inordinate number of addresses. And highly automated micro-service
|
||||
migration can cause serious address prefix disaggregation, resulting
|
||||
in interfaces with thousands of disaggregated prefixes.</t>
|
||||
|
||||
<t>Therefore the L3DL protocol is session oriented and uses
|
||||
incremental announcement and widrawal, a la BGP (<xref
|
||||
target="RFC4271"/>).</t>
|
||||
|
||||
</section>
|
||||
|
||||
|
|
@ -928,13 +931,13 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
|
||||
<t>If an LLEI has multiple addresses for an encapsulation type,
|
||||
one and only one address SHOULD be configured to be marked as
|
||||
primary, see <xref target="primloop"/>.</t>
|
||||
primary, see <xref target="eflags"/>.</t>
|
||||
|
||||
<t>Loopback addresses are generally not seen directly on an
|
||||
external interface. One or more loopback addresses MAY be exposed
|
||||
by configuration on one or more L3DL speaking external interfaces,
|
||||
e.g. for iBGP peering. They SHOULD be marked as such, see <xref
|
||||
target="primloop"/>.</t>
|
||||
target="eflags"/>.</t>
|
||||
|
||||
<t>If there is exactly one non-loopback address for an
|
||||
encapsulation type on an interface, it SHOULD be marked as
|
||||
|
|
@ -968,23 +971,37 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
|
||||
</section>
|
||||
|
||||
<section anchor="primloop" title="Prim/Loop Flags">
|
||||
<section anchor="eflags" title="Encapsulaion Flags">
|
||||
|
||||
<figure>
|
||||
<artwork>
|
||||
0 1 2 3 ... 7
|
||||
+---------------+---------------+---------------+---------------+
|
||||
| Primary | Loopback | Reserved ... | |
|
||||
+---------------+---------------+---------------+---------------+
|
||||
0 1 2 3 4 ... 7
|
||||
+------------+------------+------------+------------+------------+
|
||||
| Ann/With | Primary | Under/Over | Loopback | Reserved ..|
|
||||
+------------+------------+------------+------------+------------+
|
||||
</artwork>
|
||||
</figure>
|
||||
|
||||
<t>Each Encapsulation interface address MAY be marked as a primary
|
||||
address, and/or a loopback, in which case the respective bit is
|
||||
set to one.</t>
|
||||
<t>Each Encapsulation interface address in an Encapsulation PDU is
|
||||
either a new encapsulation be announced (Ann/With set to 1) (yes,
|
||||
a la BGP) or requests one be withdrawn (Ann/With set to 0).
|
||||
Adding an encapsulation which already exists SHOULD raise an
|
||||
Announce/Withdraw Error (see <xref target="iana"/>); the EType
|
||||
SHOULD be 2, suggesting a session restart (see <xref
|
||||
target="ack"/> so all encapsulations will be resent.</t>
|
||||
|
||||
<t>Only one address MAY be marked as primary for an encapsulation
|
||||
type.</t>
|
||||
<t>An Encapsulation interface address in an Encapsulation PDU MAY
|
||||
be marked as a primary address. Only one address on an interface
|
||||
MAY be marked as primary for each encapsulation type.</t>
|
||||
|
||||
<t>Each Encapsulation interface address in an Encapsulation PDU is
|
||||
that of the direct 'overlay' interface (flag set to 1), or an
|
||||
'underlay' address (flag set to 0), likely that of a VM or
|
||||
container guest bridged on to the primary interface.</t>
|
||||
|
||||
<t>An Encapsulation interface address in an Encapsulation PDU MAY
|
||||
be marked as a loopback, in which case the respective bit is
|
||||
set.</t>
|
||||
|
||||
</section>
|
||||
|
||||
|
|
@ -995,7 +1012,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
interface's addresses and the corresponding prefix lengths.</t>
|
||||
|
||||
<!--
|
||||
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"
|
||||
protocol "PDU Type = 4:8,Payload Length:32,Count:24,Encaps Flags:8,IPv4 Address:32,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:16"
|
||||
-->
|
||||
|
||||
<figure>
|
||||
|
|
@ -1007,7 +1024,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
~ | Count |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| PrimLoop Flags| IPv4 Address ~
|
||||
| Encaps Flags | IPv4 Address ~
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
~ | PrefixLen | more ... | Sig Type |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
|
|
@ -1028,7 +1045,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
lengths.</t>
|
||||
|
||||
<!--
|
||||
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"
|
||||
protocol "PDU Type = 5:8,Payload Length:32,Count:24,Encaps Flags:8,IPv6 Address:128,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:16"
|
||||
-->
|
||||
|
||||
<figure>
|
||||
|
|
@ -1040,7 +1057,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
~ | Count |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| PrimLoop Flags| |
|
||||
| Encaps Flags | |
|
||||
+-+-+-+-+-+-+-+-+ +
|
||||
| |
|
||||
+ +
|
||||
|
|
@ -1093,7 +1110,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
lengths, and the corresponding labels.</t>
|
||||
|
||||
<!--
|
||||
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"
|
||||
protocol "PDU Type = 6:8,Payload Length:32,Count:24,Encaps Flags:8,MPLS Label List ...:16,IPv4 Address:32,PrefixLen:8,more ...:8,Sig Type:8,Signature Length:16,Signature:32"
|
||||
-->
|
||||
|
||||
<figure>
|
||||
|
|
@ -1105,7 +1122,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
~ | Count |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| PrimLoop Flags| MPLS Label List ... | ~
|
||||
| Encaps Flags | MPLS Label List ... | ~
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
~ IPv4 Address | PrefixLen |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
|
|
@ -1127,7 +1144,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
so by stating the interface's addresses, the corresponding prefix
|
||||
lengths, and the corresponding labels.</t>
|
||||
<!--
|
||||
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"
|
||||
protocol "PDU Type = 7:8,Payload Length:32,Count:24,Encaps Flags:8,MPLS Label List ...:16,IPv6 Address:128,Prefix Len:8,more ...:8,Sig Type:8,Signature Length:16,Signature ...:32"
|
||||
-->
|
||||
|
||||
<figure>
|
||||
|
|
@ -1139,7 +1156,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
~ | Count |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| PrimLoop Flags| MPLS Label List ... | |
|
||||
| Encaps Flags | MPLS Label List ... | |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
|
||||
| |
|
||||
+ +
|
||||
|
|
@ -1493,6 +1510,7 @@ uint32_t sbox_checksum_32(const uint8_t *b, const size_t n)
|
|||
1 Logical Link Addressing Conflict
|
||||
2 Authorization Failure in OPEN
|
||||
3 Signature Failure in PDU
|
||||
4 Announce/Withdraw Error
|
||||
</artwork>
|
||||
</figure>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue