rfc9719v1.txt   rfc9719.txt 
skipping to change at line 90 skipping to change at line 90
augments the ietf-routing YANG data model defined in [RFC8349]. augments the ietf-routing YANG data model defined in [RFC8349].
1.1. Terminology 1.1. Terminology
The following terminology and abbreviations are used in this document The following terminology and abbreviations are used in this document
and the defined model. and the defined model.
The content is copied from [RFC9692] for reading convenience. The content is copied from [RFC9692] for reading convenience.
Clos / Fat Tree: Clos / Fat Tree:
It refers to a folded spine-and-leaf topology with possibly This document uses the terms "Clos" and "Fat Tree" interchangeably
multiple Points of Delivery (PoDs) and one or multiple Top of where it always refers to a folded spine-and-leaf topology with
Fabric (ToF) planes. possibly multiple Points of Delivery (PoDs) and one or multiple
Top of Fabric (ToF) planes.
RIFT: RIFT:
Routing in Fat Trees [RFC9692]. Routing in Fat Trees [RFC9692].
LIEs: LIE:
"Link Information Elements" are exchanged on all the system's This is an acronym for a "Link Information Element" exchanged on
links running RIFT to form ThreeWay adjacencies and carry all the system's links running RIFT to form _ThreeWay_ adjacencies
information used to perform Zero Touch Provisioning (ZTP) of and carry information used to perform RIFT Zero Touch Provisioning
levels. (ZTP) of levels.
PoD: Point of Delivery (PoD):
"Point of Delivery" means a self-contained vertical slice or A self-contained vertical slice or subset of a Clos or Fat Tree
subset of a Clos or Fat Tree network normally containing only network normally containing only level 0 and level 1 nodes. A
level 0 and level 1 nodes. A node in a PoD communicates with node in a PoD communicates with nodes in other PoDs via the ToF
nodes in other PoDs via the ToF nodes. PoDs are numbered to nodes. PoDs are numbered to distinguish them, and PoD value 0 is
distinguish them, and PoD value 0 is used to denote "undefined" or used to denote "undefined" or "any" PoD.
"any" PoD.
ThreeWay Adjacency: ThreeWay Adjacency:
A unique adjacency between two nodes over a point-to-point RIFT tries to form a unique adjacency between two nodes over a
interface and exchange local configuration and necessary RIFT ZTP point-to-point interface and exchange local configuration and
information. An adjacency is only advertised in Node TIEs and necessary RIFT ZTP information. An adjacency is only advertised
used for computations after it achieved ThreeWay state, i.e., both in Node TIEs and used for computations after it achieved
routers reflected each other in LIEs, including relevant security _ThreeWay_ state, i.e., both routers reflected each other in LIEs,
information. Nevertheless, LIEs before ThreeWay state is reached including relevant security information. Nevertheless, LIEs
may carry RIFT ZTP related information already. before _ThreeWay_ state is reached may carry RIFT ZTP related
information already.
TIEs: TIEs:
"Topology Information Elements" are exchanged between RIFT nodes This is an acronym for a "Topology Information Element". TIEs are
to describe parts of a network such as links and address prefixes. exchanged between RIFT nodes to describe parts of a network such
A TIE has always a direction and a type. North TIEs (sometimes as links and address prefixes. A TIE has always a direction and a
abbreviated as N-TIEs) are used when dealing with TIEs in the type. North TIEs (sometimes abbreviated as N-TIEs) are used when
northbound representation, and South TIEs (sometimes abbreviated dealing with TIEs in the northbound representation, and South TIEs
as S-TIEs) for the southbound equivalent. TIEs have different (sometimes abbreviated as S-TIEs) for the southbound equivalent.
types, such as node and prefix TIEs. TIEs have different types, such as node and prefix TIEs.
ToF: Top of Fabric (ToF):
"Top of Fabric" is the set of nodes that provide inter-PoD The set of nodes that provide inter-PoD communication and have no
communication and have no northbound adjacencies, i.e., are at the northbound adjacencies, i.e., are at the "very top" of the fabric.
"very top" of the fabric. ToF nodes do not belong to any PoD and ToF nodes do not belong to any PoD and are assigned the default
are assigned the default PoD value to indicate the equivalent of PoD value to indicate the equivalent of "any" PoD.
"any" PoD.
1.2. Conventions Used in This Document 1.2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
1.3. Tree Diagrams 1.3. Tree Diagrams
skipping to change at line 219 skipping to change at line 219
The YANG data model defined in this document conforms to the Network The YANG data model defined in this document conforms to the Network
Management Datastore Architecture (NMDA) [RFC8342]. The operational Management Datastore Architecture (NMDA) [RFC8342]. The operational
state data is combined with the associated configuration data in the state data is combined with the associated configuration data in the
same hierarchy [RFC8407]. same hierarchy [RFC8407].
2.3. Overview 2.3. Overview
The RIFT YANG module defined in this document has all the common The RIFT YANG module defined in this document has all the common
building blocks for the RIFT protocol. building blocks for the RIFT protocol.
The RIFT YANG module augments the /routing/control-plane-protocols/
control-plane-protocol path defined in the ietf-routing module. This
model augments the routing module to add RIFT as a control-plane
protocol. It then offers the ability to create a list of instances,
which it does by declaring 'list rift'. Multiple instances of the
protocol are supported by the module by giving each instance a unique
name.
At a high level, the RIFT YANG model is organized into five elements: At a high level, the RIFT YANG model is organized into five elements:
base protocol configuration -- Configuration affecting RIFT base protocol configuration -- Configuration affecting RIFT
protocol-related operations. protocol-related operations.
interface configuration -- Configuration affecting the interface interface configuration -- Configuration affecting the interface
operations. operations.
neighbor status -- Information of neighbors. neighbor status -- Information of neighbors.
skipping to change at line 643 skipping to change at line 635
+--ro link-id? uint32 +--ro link-id? uint32
+--ro name if:interface-ref +--ro name if:interface-ref
+--ro neighbors* [system-id] +--ro neighbors* [system-id]
+--ro system-id system-id +--ro system-id system-id
+--ro node-level? level +--ro node-level? level
2.4. RIFT Configuration 2.4. RIFT Configuration
The RIFT configuration includes node global configuration and The RIFT configuration includes node global configuration and
interface configuration. Some features can be used to enhance interface configuration. Some features can be used to enhance
protocol, such as BFD [RFC5881], flooding-reducing (Section 6.3.9 of protocols, such as BFD [RFC5881] with flooding reduction
[RFC9692]). (Section 6.3.9 of [RFC9692]).
2.5. RIFT States 2.5. RIFT States
The state data nodes include node, interface, neighbor, and database The state data nodes include node, interface, neighbor, and database
information. information.
YANG actions are defined to clear the connection of one specific YANG actions are defined to clear the connection of one specific
neighbor on an interface, clear the connections of all neighbors on neighbor on an interface, clear the connections of all neighbors on
an interface, or clear some or all statistics. an interface, or clear some or all statistics.
2.6. Notifications 2.6. Notifications
Unexpected TIE and neighbor's layer error should be notified. Unexpected TIE and neighbor layer errors should be notified.
3. RIFT YANG Module 3. RIFT YANG Module
This module references [RFC9692], [RFC5881], [RFC6991], [RFC8177], This module references [RFC9692], [RFC5881], [RFC6991], [RFC8177],
[RFC8294], [RFC8343], [RFC8349], [RFC8505], and [IEEE8021AS]. [RFC8294], [RFC8343], [RFC8349], [RFC8505], and [IEEE8021AS].
<CODE BEGINS> file "ietf-rift@2025-01-15.yang" <CODE BEGINS> file "ietf-rift@2025-01-15.yang"
module ietf-rift { module ietf-rift {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-rift"; namespace "urn:ietf:params:xml:ns:yang:ietf-rift";
skipping to change at line 806 skipping to change at line 798
"RFC 9692: RIFT: Routing in Fat Trees. "RFC 9692: RIFT: Routing in Fat Trees.
Section 6.9."; Section 6.9.";
} }
typedef system-id { typedef system-id {
type string { type string {
pattern pattern
'[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}'; '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}';
} }
description description
"This type defines RIFT system id using pattern, "This type defines the pattern for RIFT System IDs.
the system id looks like: 0021.2FFF.FEB5.6E10."; An example of a System ID is 0021.2FFF.FEB5.6E10.";
} }
typedef level { typedef level {
type uint8 { type uint8 {
range "0 .. 24"; range "0 .. 24";
} }
default "0"; default "0";
description description
"The value of node level. "The value of node level.
Clos and Fat Tree networks are topologically partially Clos and Fat Tree networks are topologically partially
skipping to change at line 2577 skipping to change at line 2569
to these data nodes without proper protection can have a negative to these data nodes without proper protection can have a negative
effect on network operations. These are the subtrees and data nodes effect on network operations. These are the subtrees and data nodes
and their sensitivity/vulnerability: and their sensitivity/vulnerability:
* /rift * /rift
Modifying the configuration may cause all the RIFT neighborships to Modifying the configuration may cause all the RIFT neighborships to
be rebuilt. For example, changing the configuration of configured- be rebuilt. For example, changing the configuration of configured-
level or system-id will lead to all the neighbor connections of this level or system-id will lead to all the neighbor connections of this
node being rebuilt. The incorrect modification of authentication, node being rebuilt. The incorrect modification of authentication,
except for the neighbor connection broken, will lead to the permanent except for the broken neighbor connection, will break the connection
connection broken. The modification of interface will cause the permanently. The modification of interface will cause the neighbor
neighbor state to change. In general, unauthorized modification of state to change. In general, unauthorized modification of most RIFT
most RIFT configurations will pose their own set of security risks configurations will pose their own set of security risks and the
and the "Security Considerations" in the respective RFCs referenced "Security Considerations" in the respective RFCs referenced should be
should be consulted. consulted.
Some of the readable data nodes in this YANG module may be considered Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or important to control read access (e.g., via get, get-config, or
notification) to these data nodes. These are the subtrees and data notification) to these data nodes. These are the subtrees and data
nodes and their sensitivity/vulnerability: nodes and their sensitivity/vulnerability:
* /rift * /rift
* /rift/global/tie-security * /rift/global/tie-security
 End of changes. 11 change blocks. 
54 lines changed or deleted 46 lines changed or added

This html diff was produced by rfcdiff 1.48.