94089
08054
06254
94089
Local Neighbor AF | Remote Neighbor AF | LIE Exchange Behavior |
---|---|---|
IPv4 | IPv4 | LIEs and TIEs are exchanged over IPv4 only. TIEs are received on any of the LIE source addresses. |
IPv6 | IPv6 | LIEs and TIEs are exchanged over IPv6 only. TIEs are received on any of the LIE source addresses. |
IPv4, IPv6 | IPv6 | The local neighbor sends LIEs for both IPv4 and IPv6 while the remote neighbor only sends LIEs for IPv6. The resulting adjacency will exchange TIEs over IPv6 on any of the IPv6 LIE source addresses. |
IPv4, IPv6 | IPv4, IPv6 | LIEs and TIEs are exchanged over IPv6 and IPv4. TIEs are received on any of the IPv4 and IPv6 LIE source addresses. |
Local Neighbor AF | Remote Neighbor AF | Forwarding Behavior |
---|---|---|
IPv4 | IPv4 | Both nodes are required to set the `ipv4_forwarding_capable` flag to true. All traffic is forwarded over IPv4. |
IPv6 | IPv6 | If either neighbor sets `ipv4_forwarding_capable` to false, all traffic is forwarded over IPv6. If both neighbors set `ipv4_forwarding_capable` to true, IPv4 traffic can be forwarded. |
IPv4, IPv6 | IPv6 | If either neighbor sets `ipv4_forwarding_capable` to false, all traffic is forwarded over IPv6. If both neighbors set `ipv4_forwarding_capable` to true, IPv4 traffic can be forwarded. |
IPv4, IPv6 | IPv4, IPv6 | IPv4 and IPv6 traffic can be forwarded. The behavior is unspecified if either neighbor sets the `ipv4_forwarding_capable` to false. The behavior is also unspecified if IPv4 and IPv6 advertise different flags, as described previously. |
TIE-Type | Content |
---|---|
Node North TIE | node properties and adjacencies |
Node South TIE | same content as node North TIE |
Prefix North TIE | contains nodes' directly reachable prefixes |
Prefix South TIE | contains originated defaults and directly reachable prefixes |
Positive Disaggregation South TIE | contains disaggregated prefixes |
Negative Disaggregation South TIE | contains special, negatively disaggregated prefixes to support multi-plane designs |
External Prefix North TIE | contains external prefixes |
Key-Value North TIE | contains nodes northbound KVs |
Key-Value South TIE | contains nodes southbound KVs |
Type / Direction | South | North | East-West |
---|---|---|---|
node South TIE | flood if level of originator is equal to this node | flood if level of originator is higher than this node | flood only if this node is not ToF |
non-node South TIE | flood self-originated only | flood only if neighbor is originator of TIE | flood only if self-originated and this node is not ToF |
all North TIEs | never flood | flood always | flood only if this node is ToF |
TIDE | include at least all non-self originated North TIE headers and self-originated South TIE headers and node South TIEs of nodes at same level | include at least all node South TIEs and all South TIEs originated by peer and all North TIEs | if this node is ToF then include all North TIEs, otherwise only self-originated TIEs |
TIRE as Request | request all North TIEs and all peer's self-originated TIEs and all node South TIEs | request all South TIEs | if this node is ToF then apply North scope rules, otherwise South scope rules |
TIRE as Ack | Ack all received TIEs | Ack all received TIEs | Ack all received TIEs |
Local Node | Neighbor Node | TIEs Flooded from Local to Neighbor Node |
---|---|---|
Leaf111 | Spine 112 | Leaf111 North TIEs, Spine 111 node South TIE |
Leaf111 | Spine 111 | Leaf111 North TIEs, Spine 112 node South TIE |
... | ... | ... |
Spine 111 | Leaf111 | Spine 111 South TIEs |
Spine 111 | Leaf112 | Spine 111 South TIEs |
Spine 111 | Spine 112 | Spine 111 South TIEs |
Spine 111 | ToF 21 | Spine 111 North TIEs, Leaf111 North TIEs, Leaf112 North TIEs, ToF 22 node South TIE |
Spine 111 | ToF 22 | Spine 111 North TIEs, Leaf111 North TIEs, Leaf112 North TIEs, ToF 21 node South TIE |
... | ... | ... |
ToF 21 | Spine 111 | ToF 21 South TIEs |
ToF 21 | Spine 112 | ToF 21 South TIEs |
ToF 21 | Spine 121 | ToF 21 South TIEs |
ToF 21 | Spine 122 | ToF 21 South TIEs |
... | ... | ... |
TIE Type | Resulting Route Type |
---|---|
None | Discard |
Local Interface | LocalPrefix |
S-PGP | South PGP |
N-PGP | North PGP |
North Prefix | NorthPrefix |
North External Prefix | NorthExternalPrefix |
South Prefix and South Positive Disaggregation | SouthPrefix |
South External Prefix and South Positive External Disaggregation | SouthExternalPrefix |
South Negative Prefix | NegativeSouthPrefix |
Node | N | T_N_u | M_N_u | BAD |
---|---|---|---|---|
Leaf111 | Spine 111 | 110 | 7 | 2 |
Leaf111 | Spine 112 | 220 | 8 | 1 |
Leaf112 | Spine 111 | 120 | 7 | 2 |
Leaf112 | Spine 112 | 220 | 8 | 1 |
Name | Value | Schema Version | Description |
---|---|---|---|
Illegal | 0 | 6.1 | |
AddressFamilyMinValue | 1 | 6.1 | |
IPv4 | 2 | 6.1 | |
IPv6 | 3 | 6.1 | |
AddressFamilyMaxValue | 4 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
leaf_only | 0 | 6.1 | |
leaf_only_and_leaf_2_leaf_procedures | 1 | 6.1 | |
top_of_fabric | 2 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
AS_sec | 1 | 6.1 | |
AS_nsec | 2 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
ipv4address | 1 | 6.1 | Content is IPv4 |
ipv6address | 2 | 6.1 | Content is IPv6 |
Name | Value | Schema Version | Description |
---|---|---|---|
ipv4prefix | 1 | 6.1 | |
ipv6prefix | 2 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
address | 1 | 6.1 | |
prefixlen | 2 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
address | 1 | 6.1 | |
prefixlen | 2 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
Experimental | 1 | 6.1 | |
WellKnown | 2 | 6.1 | |
OUI | 3 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
timestamp | 1 | 6.1 | |
transactionid | 2 | 6.1 | Transaction ID set by client in e.g. in 6LoWPAN. |
Name | Value | Schema Version | Description |
---|---|---|---|
Illegal | 0 | 6.1 | |
RouteTypeMinValue | 1 | 6.1 | |
Discard | 2 | 6.1 | |
LocalPrefix | 3 | 6.1 | |
SouthPGPPrefix | 4 | 6.1 | |
NorthPGPPrefix | 5 | 6.1 | |
NorthPrefix | 6 | 6.1 | |
NorthExternalPrefix | 7 | 6.1 | |
SouthPrefix | 8 | 6.1 | |
SouthExternalPrefix | 9 | 6.1 | |
NegativeSouthPrefix | 10 | 6.1 | |
RouteTypeMaxValue | 11 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
Illegal | 0 | 6.1 | |
TIETypeMinValue | 1 | 6.1 | |
NodeTIEType | 2 | 6.1 | |
PrefixTIEType | 3 | 6.1 | |
PositiveDisaggregationPrefixTIEType | 4 | 6.1 | |
NegativeDisaggregationPrefixTIEType | 5 | 6.1 | |
PGPrefixTIEType | 6 | 6.1 | |
KeyValueTIEType | 7 | 6.1 | |
ExternalPrefixTIEType | 8 | 6.1 | |
PositiveExternalDisaggregationPrefixTIEType | 9 | 6.1 | |
TIETypeMaxValue | 10 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
Illegal | 0 | 6.1 | |
South | 1 | 6.1 | |
North | 2 | 6.1 | |
DirectionMaxValue | 3 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
top | 1 | 6.1 | Higher order bits |
bottom | 2 | 6.1 | Lower order bits |
Name | Value | Schema Version | Description |
---|---|---|---|
keyvalues | 1 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
name | 1 | 6.1 | Node or adjacency name. |
local_id | 2 | 6.1 | Local link ID. |
flood_port | 3 | 6.1 | UDP port to which we can receive flooded TIEs. |
link_mtu_size | 4 | 6.1 | Layer 3 MTU, used to discover mismatch. |
link_bandwidth | 5 | 6.1 | Local link bandwidth on the interface. |
neighbor | 6 | 6.1 | Reflects the neighbor once received to provide 3-way connectivity. |
pod | 7 | 6.1 | Node's PoD. |
node_capabilities | 10 | 6.1 | Node capabilities supported. |
link_capabilities | 11 | 6.1 | Capabilities of this link. |
holdtime | 12 | 6.1 | Required holdtime of the adjacency, i.e. for how long a period should adjacency be kept up without valid LIE reception. |
label | 13 | 6.1 | Optional, unsolicited, downstream assigned locally significant label value for the adjacency. |
not_a_ztp_offer | 21 | 6.1 | Indicates that the level on the LIE must not be used to derive a ZTP level by the receiving node. |
you_are_flood_repeater | 22 | 6.1 | Indicates to northbound neighbor that it should be reflooding TIEs received from this node to achieve flood reduction and balancing for northbound flooding. |
you_are_sending_too_quickly | 23 | 6.1 | Indicates to neighbor to flood node TIEs only and slow down all other TIEs. Ignored when received from southbound neighbor. |
instance_name | 24 | 6.1 | Instance name in case multiple RIFT instances running on same interface. |
Name | Value | Schema Version | Description |
---|---|---|---|
bfd | 1 | 6.1 | Indicates that the link is supporting BFD. |
ipv4_forwarding_capable | 2 | 6.1 | Indicates whether the interface will support IPv4 forwarding. |
Name | Value | Schema Version | Description |
---|---|---|---|
local_id | 1 | 6.1 | Node-wide unique value for the local link. |
remote_id | 2 | 6.1 | Received remote link ID for this link. |
platform_interface_index | 10 | 6.1 | Describes the local interface index of the link. |
platform_interface_name | 11 | 6.1 | Describes the local interface name. |
trusted_outer_security_key | 12 | 6.1 | Indicates whether the link is secured, i.e. protected by outer key, absence of this element means no indication, undefined outer key means not secured. |
bfd_up | 13 | 6.1 | Indicates whether the link is protected by established BFD session. |
address_families | 14 | 6.1 | Optional indication which address families are up on the interface |
Name | Value | Schema Version | Description |
---|---|---|---|
originator | 1 | 6.1 | System ID of the originator. |
remote_id | 2 | 6.1 | ID of remote side of the link. |
Name | Value | Schema Version | Description |
---|---|---|---|
protocol_minor_version | 1 | 6.1 | Must advertise supported minor version dialect that way. |
flood_reduction | 2 | 6.1 | Indicates that node supports flood reduction. |
hierarchy_indications | 3 | 6.1 | Indicates place in hierarchy, i.e. top-of-fabric or leaf only (in ZTP) or support for leaf-2-leaf procedures. |
Name | Value | Schema Version | Description |
---|---|---|---|
overload | 1 | 6.1 | Indicates that node is in overload, do not transit traffic through it. |
Name | Value | Schema Version | Description |
---|---|---|---|
level | 1 | 6.1 | Level of neighbor |
cost | 3 | 6.1 | Cost to neighbor. Ignore anything larger than `infinite_distance` and `invalid_distance` |
link_ids | 4 | 6.1 | Can carry description of multiple parallel links in a TIE |
bandwidth | 5 | 6.1 | Total bandwith to neighbor as sum of all parallel links |
Name | Value | Schema Version | Description |
---|---|---|---|
level | 1 | 6.1 | Level of the node. |
neighbors | 2 | 6.1 | Node's neighbors. Multiple node TIEs can carry disjoint sets of neighbors. |
capabilities | 3 | 6.1 | Capabilities of the node. |
flags | 4 | 6.1 | Flags of the node. |
name | 5 | 6.1 | Optional node name for easier operations. |
pod | 6 | 6.1 | PoD to which the node belongs. |
startup_time | 7 | 6.1 | Optional startup time of the node |
miscabled_links | 10 | 6.1 | If any local links are miscabled, this indication is flooded. |
same_plane_tofs | 12 | 6.1 | ToFs in the same plane. Only carried by ToF. Multiple node TIEs can carry disjoint sets of ToFs which can be joined to form a single set. Used in complex multi-plane elections. |
fabric_id | 22 | 6.1 | It provides the optional ID of the Fabric configured |
Name | Value | Schema Version | Description |
---|---|---|---|
lie | 1 | 6.1 | |
tide | 2 | 6.1 | |
tire | 3 | 6.1 | |
tie | 4 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
major_version | 1 | 6.1 | Major version of protocol. |
minor_version | 2 | 6.1 | Minor version of protocol. |
sender | 3 | 6.1 | Node sending the packet, in case of LIE/TIRE/TIDE also the originator of it. |
level | 4 | 6.1 | Level of the node sending the packet, required on everything except LIEs. Lack of presence on LIEs indicates UNDEFINED_LEVEL and is used in ZTP procedures. |
Name | Value | Schema Version | Description |
---|---|---|---|
metric | 2 | 6.1 | Distance of the prefix. |
tags | 3 | 6.1 | Generic unordered set of route tags, can be redistributed to other protocols or use within the context of real time analytics. |
monotonic_clock | 4 | 6.1 | Monotonic clock for mobile addresses. |
loopback | 6 | 6.1 | Indicates if the prefix is a node loopback. |
directly_attached | 7 | 6.1 | Indicates that the prefix is directly attached. |
from_link | 10 | 6.1 | Link to which the address belongs to. |
label | 12 | 6.1 | Optional, per prefix significant label. |
Name | Value | Schema Version | Description |
---|---|---|---|
prefixes | 1 | 6.1 | Prefixes with the associated attributes. |
Name | Value | Schema Version | Description |
---|---|---|---|
header | 1 | 6.1 | |
content | 2 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
start_range | 1 | 6.1 | First TIE header in the tide packet. |
end_range | 2 | 6.1 | Last TIE header in the tide packet. |
headers | 3 | 6.1 | _Sorted_ list of headers. |
Name | Value | Schema Version | Description |
---|---|---|---|
node | 1 | 6.1 | Used in case of enum common.TIETypeType.NodeTIEType. |
prefixes | 2 | 6.1 | Used in case of enum common.TIETypeType.PrefixTIEType. |
positive_disaggregation_prefixes | 3 | 6.1 | Positive prefixes (always southbound). |
negative_disaggregation_prefixes | 5 | 6.1 | Transitive, negative prefixes (always southbound) |
external_prefixes | 6 | 6.1 | Externally reimported prefixes. |
positive_external_disaggregation_prefixes | 7 | 6.1 | Positive external disaggregated prefixes (always southbound). |
keyvalues | 9 | 6.1 | Key-Value store elements. |
Name | Value | Schema Version | Description |
---|---|---|---|
tieid | 2 | 6.1 | ID of the tie. |
seq_nr | 3 | 6.1 | Sequence number of the tie. |
origination_time | 10 | 6.1 | Absolute timestamp when the TIE was generated. |
origination_lifetime | 12 | 6.1 | Original lifetime when the TIE was generated. |
Name | Value | Schema Version | Description |
---|---|---|---|
header | 1 | 6.1 | |
remaining_lifetime | 2 | 6.1 | Remaining lifetime. |
Name | Value | Schema Version | Description |
---|---|---|---|
direction | 1 | 6.1 | Direction of TIE |
originator | 2 | 6.1 | Indicates originator of the TIE |
tietype | 3 | 6.1 | Type of the tie |
tie_nr | 4 | 6.1 | Number of the tie |
Name | Value | Schema Version | Description |
---|---|---|---|
header | 1 | 6.1 | |
element | 2 | 6.1 |
Name | Value | Schema Version | Description |
---|---|---|---|
headers | 1 | 6.1 |
Tony Przygienda, Ed. | | | Alankar Sharma | | | Pascal Thubert |
Juniper | | | Comcast | | | Cisco |
Bruno Rijsman | | | Jordan Head | | | Dmitry Afanasiev |
Individual | | | Juniper | | | Yandex |
Don Fedyk | | | Alia Atlas | | | John Drake |
Individual | | | Individual | | | Juniper |
Ilya Vershkov | | | | | | | | |
Mellanox | | | | | | | | |
Type | Value | |
---|---|---|
LIE IPv4 Multicast Address | Default Value, Configurable | 224.0.0.120 or all-rift-routers to be assigned in IPv4 Multicast Address Space Registry in Local Network Control Block |
LIE IPv6 Multicast Address | Default Value, Configurable | FF02::A1F7 or all-rift-routers to be assigned in IPv6 Multicast Address Assignments |
LIE Destination Port | Default Value, Configurable | 914 |
Level value for TOP_OF_FABRIC flag | Constant | 24 |
Default LIE Holdtime | Default Value, Configurable | 3 seconds |
TIE Retransmission Interval | Default Value | 1 second |
TIDE Generation Interval | Default Value, Configurable | 5 seconds |
MIN_TIEID signifies start of TIDEs | Constant | TIE Key with minimal values: TIEID(originator=0, tietype=TIETypeMinValue, tie_nr=0, direction=South) |
MAX_TIEID signifies end of TIDEs | Constant | TIE Key with maximal values: TIEID(originator=MAX_UINT64, tietype=TIETypeMaxValue, tie_nr=MAX_UINT64, direction=North) |