RIFT Security Algorithms
Registration Procedure(s)
- Specification Required
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Name | Recommendation | Reference |
|---|---|---|
| HMAC-SHA256 | Simplest way to ensure integrity of transmissions across adjacencies when used as outer keys and integrity of TIEs when used as inner keys. Recommended for most interoperable security protection. | SHA-2; RFC 2104 |
| HMAC-SHA512 | Same as HMAC-SHA256 with stronger protection. | SHA-2; RFC 2104 |
| SHA256-RSASSA-PKCS1-v1_5 | Recommended for high security applications where private keys are protected by according nodes. Recommended as well in case not only integrity but origin validation is necessary for TIEs. Recommended when adjacencies must be protected without disclosing the secrets on both sides of the adjacency. | RFC 8017, Section 8.2 |
| SHA512-RSASSA-PKCS1-v1_5 | Same as SHA256-RSASSA-PKCS1-v1_5 with stronger protection. | RFC 8017 |
RIFTVersions
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Schema Version | Reference |
|---|---|
| 8.0 | RFC 9692, Section 7 |
RIFTCommonAddressFamilyType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonHierarchyIndications
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonIEEE8021ASTimeStampType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonIPAddressType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonIPPrefixType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonIPv4PrefixType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonIPv6PrefixType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonKVTypes
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
- RFC 9992: Routing in Fat Trees (RIFT) Key/Value Topology Information Elements Structure and Processing
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonPrefixSequenceType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTCommonRouteType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Illegal | 8.0 | RFC 9692 | ||
| 1 | RouteTypeMinValue | 8.0 | RFC 9692 | ||
| 2 | Discard | 8.0 | RFC 9692 | ||
| 3 | LocalPrefix | 8.0 | RFC 9692 | ||
| 4 | SouthPGPPrefix | 8.0 | RFC 9692 | ||
| 5 | NorthPGPPrefix | 8.0 | RFC 9692 | ||
| 6 | NorthPrefix | 8.0 | RFC 9692 | ||
| 7 | NorthExternalPrefix | 8.0 | RFC 9692 | ||
| 8 | SouthPrefix | 8.0 | RFC 9692 | ||
| 9 | SouthExternalPrefix | 8.0 | RFC 9692 | ||
| 10 | NegativeSouthPrefix | 8.0 | RFC 9692 | ||
| 11 | RouteTypeMaxValue | 8.0 | RFC 9692 | ||
| 12-65535 | Unassigned |
RIFTCommonTIETypeType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Illegal | 8.0 | RFC 9692 | ||
| 1 | TIETypeMinValue | 8.0 | RFC 9692 | ||
| 2 | NodeTIEType | 8.0 | RFC 9692 | ||
| 3 | PrefixTIEType | 8.0 | RFC 9692 | ||
| 4 | PositiveDisaggregationPrefixTIEType | 8.0 | RFC 9692 | ||
| 5 | NegativeDisaggregationPrefixTIEType | 8.0 | RFC 9692 | ||
| 6 | PGPrefixTIEType | 8.0 | RFC 9692 | ||
| 7 | KeyValueTIEType | 8.0 | RFC 9692 | ||
| 8 | ExternalPrefixTIEType | 8.0 | RFC 9692 | ||
| 9 | PositiveExternalDisaggregationPrefixTIEType | 8.0 | RFC 9692 | ||
| 10 | TIETypeMaxValue | 8.0 | RFC 9692 | ||
| 11-65535 | Unassigned |
RIFTCommonTieDirectionType
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingCommunity
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingKeyValueTIEElement
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingKeyValueTIEElementContent
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingLIEPacket
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | name | 8.0 | Node or adjacency name. | RFC 9692 | |
| 2 | local_id | 8.0 | Local link ID. | RFC 9692 | |
| 3 | flood_port | 8.0 | UDP port to which we can receive flooded TIEs. | RFC 9692 | |
| 4 | link_mtu_size | 8.0 | Layer 2 MTU, used to discover mismatch. | RFC 9692 | |
| 5 | link_bandwidth | 8.0 | Local link bandwidth on the interface. | RFC 9692 | |
| 6 | neighbor | 8.0 | Reflects the neighbor once received to provide 3-way connectivity. | RFC 9692 | |
| 7 | pod | 8.0 | Node's PoD. | RFC 9692 | |
| 8-9 | Unassigned | ||||
| 10 | node_capabilities | 8.0 | Node capabilities supported. | RFC 9692 | |
| 11 | link_capabilities | 8.0 | Capabilities of this link. | RFC 9692 | |
| 12 | holdtime | 8.0 | Required holdtime of the adjacency, i.e., for how long a period should adjacency be kept up without valid LIE reception. | RFC 9692 | |
| 13 | label | 8.0 | Optional, unsolicited, downstream assigned locally significant label value for the adjacency. | RFC 9692 | |
| 14-20 | Unassigned | ||||
| 21 | not_a_ztp_offer | 8.0 | Indicates that the level on the LIE must not be used to derive a ZTP level by the receiving node. | RFC 9692 | |
| 22 | you_are_flood_repeater | 8.0 | Indicates to the northbound neighbor that it should be reflooding TIEs received from this node to achieve flood reduction and balancing for northbound flooding. | RFC 9692 | |
| 23 | you_are_sending_too_quickly | 8.0 | Indicates to the neighbor to flood node TIEs only and slow down all other TIEs. Ignored when received from southbound neighbor. | RFC 9692 | |
| 24 | instance_name | 8.0 | Instance name in case multiple RIFT instances running on the same interface. | RFC 9692 | |
| 25-34 | Unassigned | ||||
| 35 | fabric_id | 8.0 | It provides the optional ID of the fabric configured. This must match the information advertised on the node element. | RFC 9692 | |
| 36-65535 | Unassigned |
RIFTEncodingLinkCapabilities
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingLinkIDPair
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | local_id | 8.0 | Node-wide unique value for the local link. | RFC 9692 | |
| 2 | remote_id | 8.0 | Received remote link ID for this link. | RFC 9692 | |
| 3-9 | Unassigned | ||||
| 10 | platform_interface_index | 8.0 | Describes the local interface index of the link. | RFC 9692 | |
| 11 | platform_interface_name | 8.0 | Describes the local interface name. | RFC 9692 | |
| 12 | trusted_outer_security_key | 8.0 | 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. | RFC 9692 | |
| 13 | bfd_up | 8.0 | Indicates whether the link is protected by established BFD session. | RFC 9692 | |
| 14 | address_families | 8.0 | Optional indication that address families are up on the interface. | RFC 9692 | |
| 15-65535 | Unassigned |
RIFTEncodingNeighbor
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingNodeCapabilities
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | protocol_minor_version | 8.0 | Must advertise supported minor version dialect that way. | RFC 9692 | |
| 2 | flood_reduction | 8.0 | Indicates that node supports flood reduction. | RFC 9692 | |
| 3 | hierarchy_indications | 8.0 | Indicates place in hierarchy, i.e., top of fabric or leaf only (in ZTP) or support for L2L procedures. | RFC 9692 | |
| 4-65535 | Unassigned |
RIFTEncodingNodeFlags
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingNodeNeighborsTIEElement
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | level | 8.0 | Level of neighbor. | RFC 9692 | |
| 2 | Unassigned | ||||
| 3 | cost | 8.0 | Cost to neighbor. Ignore anything equal or larger than 'infinite_distance' and equal to 'invalid_distance'. | RFC 9692 | |
| 4 | link_ids | 8.0 | Carries description of multiple parallel links in a TIE. | RFC 9692 | |
| 5 | bandwidth | 8.0 | Total bandwidth to neighbor as sum of all parallel links. | RFC 9692 | |
| 6-65535 | Unassigned |
RIFTEncodingNodeTIEElement
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | level | 8.0 | Level of the node. | RFC 9692 | |
| 2 | neighbors | 8.0 | Node's neighbors. Multiple node TIEs can carry disjoint sets of neighbors. | RFC 9692 | |
| 3 | capabilities | 8.0 | Capabilities of the node. | RFC 9692 | |
| 4 | flags | 8.0 | Flags of the node. | RFC 9692 | |
| 5 | name | 8.0 | Optional node name for easier operations. | RFC 9692 | |
| 6 | pod | 8.0 | Pod to which the node belongs. | RFC 9692 | |
| 7 | startup_time | 8.0 | Optional startup time of the node. | RFC 9692 | |
| 8-9 | Unassigned | ||||
| 10 | miscabled_links | 8.0 | If any local links are miscabled, this indication is flooded. | RFC 9692 | |
| 11 | Unassigned | ||||
| 12 | same_plane_tofs | 8.0 | ToFs in the same plane. Only carried by ToF. Multiple node TIEs can carry disjoint sets of ToFs that must be joined to form a single set. | RFC 9692 | |
| 13-19 | Unassigned | ||||
| 20 | fabric_id | 8.0 | It provides the optional ID of the fabric configured | RFC 9692 | |
| 21-65535 | Unassigned |
RIFTEncodingPacketContent
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingPacketHeader
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | major_version | 8.0 | Major version of protocol. | RFC 9692 | |
| 2 | minor_version | 8.0 | Minor version of protocol. | RFC 9692 | |
| 3 | sender | 8.0 | Node sending the packet; in case of LIE/TIRE/TIDE also the originator of it. | RFC 9692 | |
| 4 | level | 8.0 | 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. | RFC 9692 | |
| 5-65535 | Unassigned |
RIFTEncodingPrefixAttributes
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | Unassigned | ||||
| 2 | metric | 8.0 | Distance of the prefix. | RFC 9692 | |
| 3 | tags | 8.0 | Generic unordered set of route tags, can be redistributed to other protocols or used within the context of real time analytics. | RFC 9692 | |
| 4 | monotonic_clock | 8.0 | Monotonic clock for mobile addresses. | RFC 9692 | |
| 6 | loopback | 8.0 | Indicates if the prefix is a node loopback. | RFC 9692 | |
| 7 | directly_attached | 8.0 | Indicates that the prefix is directly attached. | RFC 9692 | |
| 8-9 | Unassigned | ||||
| 10 | from_link | 8.0 | Link to which the address belongs to. | RFC 9692 | |
| 11 | Unassigned | ||||
| 12 | label | 8.0 | Optional, per-prefix significant label. | RFC 9692 | |
| 13-65535 | Unassigned |
RIFTEncodingPrefixTIEElement
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingProtocolPacket
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingTIDEPacket
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingTIEElement
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | node | 8.0 | Used in case of enum common.tietypetype.nodetietype. | RFC 9692 | |
| 2 | prefixes | 8.0 | Used in case of enum common.tietypetype.prefixtietype. | RFC 9692 | |
| 3 | positive_disaggregation_prefixes | 8.0 | Positive prefixes (always southbound). | RFC 9692 | |
| 4 | Unassigned | ||||
| 5 | negative_disaggregation_prefixes | 8.0 | Transitive, negative prefixes (always southbound) | RFC 9692 | |
| 6 | external_prefixes | 8.0 | Externally reimported prefixes. | RFC 9692 | |
| 7 | positive_external_disaggregation_prefixes | 8.0 | Positive external disaggregated prefixes (always southbound). | RFC 9692 | |
| 8 | Unassigned | ||||
| 9 | keyvalues | 8.0 | Key-value store elements. | RFC 9692 | |
| 10-65535 | Unassigned |
RIFTEncodingTIEHeader
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
| Value | Name | Min. Schema Version | Max. Schema Version | Comment | Reference |
|---|---|---|---|---|---|
| 0 | Reserved | 8.0 | All Versions | RFC 9692 | |
| 1 | Unassigned | ||||
| 2 | tieid | 8.0 | ID of TIE. | RFC 9692 | |
| 3 | seq_nr | 8.0 | Sequence number of TIE. | RFC 9692 | |
| 4-9 | Unassigned | ||||
| 10 | origination_time | 8.0 | Absolute timestamp when TIE was generated. | RFC 9692 | |
| 11 | Unassigned | ||||
| 12 | origination_lifetime | 8.0 | Original lifetime when TIE was generated. | RFC 9692 | |
| 13-65535 | Unassigned |
RIFTEncodingTIEHeaderWithLifeTime
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingTIEID
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingTIEPacket
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFTEncodingTIREPacket
Expert(s)
- Tony Przygienda
Reference
- RFC 9692: RIFT: Routing in Fat Trees
Available Formats
| Range | Registration Procedures |
|---|---|
| Minor change (per RFC9692, Section 7) | Expert Review |
| All other allocations | Specification Required |
RIFT Well-Known Key Sub-Types
Registration Procedure(s)
- Expert Review
Expert(s)
- Jordan Head, Tony Przygienda
Reference
- RFC 9992: Routing in Fat Trees (RIFT) Key/Value Topology Information Elements Structure and Processing