rfc9339xml2.original.xml | rfc9339.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
<?rfc toc="yes"?> | <!-- [CS] updated by Chris 11/03/22 --> | |||
<?rfc tocompact="yes"?> | ||||
<?rfc tocdepth="3"?> | <!DOCTYPE rfc [ | |||
<?rfc tocindent="yes"?> | <!ENTITY nbsp " "> | |||
<?rfc symrefs="yes"?> | <!ENTITY zwsp "​"> | |||
<?rfc sortrefs="yes"?> | <!ENTITY nbhy "‑"> | |||
<?rfc comments="yes"?> | <!ENTITY wj "⁠"> | |||
<?rfc inline="yes"?> | ]> | |||
<?rfc compact="yes"?> | ||||
<?rfc subcompact="no"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | |||
<rfc category="std" docName="draft-ietf-lsr-ospf-reverse-metric-13" | std" consensus="true" docName="draft-ietf-lsr-ospf-reverse-metric-13" number="93 | |||
ipr="trust200902"> | 39" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" to | |||
cDepth="3" symRefs="true" sortRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.15.0 --> | ||||
<front> | <front> | |||
<title abbrev="OSPF Reverse Metric">OSPF Reverse Metric</title> | <title abbrev="OSPF Reverse Metric">OSPF Reverse Metric</title> | |||
<seriesInfo name="RFC" value="9339"/> | ||||
<author fullname="Ketan Talaulikar" initials="K." role="editor" | <author fullname="Ketan Talaulikar" initials="K." role="editor" surname="Tal | |||
surname="Talaulikar"> | aulikar"> | |||
<organization>Cisco Systems, Inc.</organization> | <organization>Cisco Systems, Inc.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | ||||
<city/> | ||||
<code/> | ||||
<country>India</country> | <country>India</country> | |||
</postal> | </postal> | |||
<email>ketant.ietf@gmail.com</email> | <email>ketant.ietf@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Peter Psenak" initials="P." surname="Psenak"> | <author fullname="Peter Psenak" initials="P." surname="Psenak"> | |||
<organization>Cisco Systems, Inc.</organization> | <organization>Cisco Systems, Inc.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Apollo Business Center</street> | <extaddr>Apollo Business Center</extaddr> | |||
<street>Mlynske nivy 43</street> | <street>Mlynske nivy 43</street> | |||
<city>Bratislava</city> | <city>Bratislava</city> | |||
<code>821 09</code> | <code>821 09</code> | |||
<country>Slovakia</country> | <country>Slovakia</country> | |||
</postal> | </postal> | |||
<email>ppsenak@cisco.com</email> | <email>ppsenak@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Hugh Johnston" initials="H." surname="Johnston"> | <author fullname="Hugh Johnston" initials="H." surname="Johnston"> | |||
<organization>AT&T Labs</organization> | <organization>AT&T Labs</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <country>United States of America</country> | |||
<city/> | ||||
<code/> | ||||
<country>USA</country> | ||||
</postal> | </postal> | |||
<email>hugh.johnston@att.com</email> | ||||
<email>hugh_johnston@labs.att.com</email> | ||||
</address> | </address> | |||
</author> | </author> | |||
<date year="2022" month="December" /> | ||||
<date year=""/> | <area>rtg</area> | |||
<workgroup>lsr</workgroup> | ||||
<area>Routing</area> | ||||
<workgroup>Link State Routing</workgroup> | ||||
<keyword>IGP</keyword> | <keyword>IGP</keyword> | |||
<keyword>OSPF</keyword> | <keyword>OSPF</keyword> | |||
<abstract> | <abstract> | |||
<t>This document specifies the extensions to OSPF that enable a router | <t>This document specifies the extensions to OSPF that enable a router | |||
to use link-local signaling to signal the metric that receiving OSPF | to use Link-Local Signaling (LLS) to signal the metric that receiving | |||
neighbor(s) should use for a link to the signaling router. The signaling | OSPF neighbor(s) should use for a link to the signaling router. When | |||
of this reverse metric, to be used on the link to the signaling router, | used on the link to the signaling router, the signaling of this reverse | |||
allows a router to influence the amount of traffic flowing towards | metric (RM) allows a router to influence the amount of traffic flowing | |||
itself and in certain use cases enables routers to maintain symmetric | towards itself. In certain use cases, this enables routers to maintain | |||
metrics on both sides of a link between them.</t> | symmetric metrics on both sides of a link between them.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="INTRO" title="Introduction"> | <section anchor="INTRO" numbered="true" toc="default"> | |||
<t>A router running the Open Shortest Path First (OSPFv2) <xref | <name>Introduction</name> | |||
target="RFC2328"> </xref> or OSPFv3 <xref target="RFC5340"/> routing | <t>A router running the OSPFv2 <xref target="RFC2328" format="default"> | |||
protocols originates a Router-LSA (Link-State Advertisement) that | </xref> or OSPFv3 <xref target="RFC5340" format="default"/> routing | |||
protocols originates a Router-LSA (Link State Advertisement) that | ||||
describes all its links to its neighbors and includes a metric that | describes all its links to its neighbors and includes a metric that | |||
indicates its "cost" to reach the neighbor over that link. Consider two | indicates its "cost" to reach the neighbor over that link. Consider two | |||
routers R1 and R2 that are connected via a link. The metric for this | routers, R1 and R2, that are connected via a link. In the direction | |||
link in the direction R1->R2 is configured on R1 and in the direction | R1->R2, the metric for this link is configured on R1. In the | |||
R2->R1 is configured on R2. Thus, the configuration on R1 influences | direction R2->R1, the metric for this link is configured on R2. Thus, | |||
the traffic that it forwards towards R2 but does not influence the | the configuration on R1 influences the traffic that it forwards towards | |||
traffic that it may receive from R2 on that same link.</t> | R2, but does not influence the traffic that it may receive from R2 on | |||
that same link.</t> | ||||
<t>This document describes certain use cases where a router is required | <t>This document describes certain use cases where a router is required | |||
to signal what we call the "reverse metric" (RM) to its neighbor to | to signal what we call the "reverse metric" (RM) to its neighbor to | |||
adjust the routing metric in the inbound direction. When R1 signals its | adjust the routing metric in the inbound direction. When R1 signals its | |||
reverse metric on its link to R2, then R2 advertises this value as its | RM on its link to R2, R2 advertises this value as its | |||
metric to R1 in its Router-LSA instead of its locally configured value. | metric to R1 in its Router-LSA instead of its locally configured value. | |||
Once this information is part of the topology, then all other routers do | Once this information is part of the topology, all other routers do | |||
their computation using this value which may result in the desired | their computation using this value. This may result in the desired | |||
change in the traffic distribution that R1 wanted to achieve towards | change in the traffic distribution that R1 wanted to achieve towards | |||
itself over the link from R2.</t> | itself over the link from R2.</t> | |||
<!-- [rfced] The Web Portion of the RFC Style Guide | ||||
(https://www.rfc-editor.org/styleguide/part2/) suggests that the | ||||
abbreviated form of an abbreviation should be used after it has been | ||||
introduced. We will implement this style for the following abbreviations | ||||
throughtout the document if there are no objections: | ||||
<t>This document describes extensions to OSPF Link-Local Signaling (LLS) | Link-Local Signaling (LLS) | |||
<xref target="RFC5613"/> to signal OSPF reverse metrics. <xref | reverse metric (RM) --> | |||
target="REVMETTLV"/> specifies the LLS Reverse Metric TLV and <xref | <t>This document describes extensions to OSPF LLS | |||
target="REVTEMETTLV"/> specifies the LLS Reverse TE Metric TLV. The | <xref target="RFC5613" format="default"/> to signal OSPF RMs. <xref target | |||
related procedures are specified in <xref target="PROCEDURES"/>.</t> | ="REVMETTLV" format="default"/> specifies the LLS Reverse Metric TLV and <xref t | |||
arget="REVTEMETTLV" format="default"/> specifies the LLS Reverse TE Metric TLV. | ||||
<section title="Requirements Language"> | The | |||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | related procedures are specified in <xref target="PROCEDURES" format="defa | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ult"/>.</t> | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | <section numbered="true" toc="default"> | |||
14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | <name>Requirements Language</name> | |||
when, they appear in all capitals, as shown here.</t> | <t> | |||
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | ||||
IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | ||||
RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
be interpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="USECASE" numbered="true" toc="default"> | ||||
<name>Use Cases</name> | ||||
<section anchor="USECASE" title="Use Cases"> | <t>This section describes certain use cases that are addressed by the OSPF RM. T | |||
<t>This section describes certain use cases that the OSPF reverse metric | he usage of the OSPF RM need not be limited to these | |||
helps address. The usage of the OSPF reverse metric need not be limited | cases; it is intended to be a generic mechanism.</t> | |||
to these cases; it is intended to be a generic mechanism.</t> | <figure anchor="FIG1"> | |||
<name>Reference Dual Hub-and-Spoke Topology</name> | ||||
<t><figure anchor="FIG1" title="Reference Dual Hub and Spoke Topology"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork><![CDATA[ | ||||
Core Network | Core Network | |||
^ ^ | ^ ^ | |||
| | | | | | |||
V v | V v | |||
+----------+ +----------+ | +----------+ +----------+ | |||
| AGGR1 | | AGGR2 | | | AGGR1 | | AGGR2 | | |||
+----------+ +----------+ | +----------+ +----------+ | |||
^ ^ ^ ^ | ^ ^ ^ ^ | |||
| | | | | | | | | | |||
| +-----------+ | | | +-----------+ | | |||
| | | | | | | | | | |||
| +--------+ | | | | +--------+ | | | |||
v v v v | v v v v | |||
+-----------+ +-----------+ | +-----------+ +-----------+ | |||
| R1 | | RN | | | R1 | | RN | | |||
| Router | ... | Router | | | Router | ... | Router | | |||
+-----------+ +-----------+ | +-----------+ +-----------+]]></artwork> | |||
]]></artwork> | </figure> | |||
</figure></t> | ||||
<t>Consider a deployment scenario where, as shown in <xref | ||||
target="FIG1"/>, routers R1 through RN are dual-home connected to AGGR1 | ||||
and AGGR2 that are aggregating their traffic towards a core network.</t> | ||||
<section anchor="MAINT" title="Link Maintenance"> | <t>Consider a deployment scenario, such as the one shown in <xref | |||
target="FIG1" format="default"/>, where routers R1 through RN are | ||||
dual-home connected to AGGR1 and AGGR2 that are aggregating their | ||||
traffic towards a core network.</t> | ||||
<section anchor="MAINT" numbered="true" toc="default"> | ||||
<name>Link Maintenance</name> | ||||
<t>Before network maintenance events are performed on individual | <t>Before network maintenance events are performed on individual | |||
links, operators substantially increase (to maximum value) the OSPF | links, operators substantially increase (to maximum value) the OSPF | |||
metric simultaneously on both routers attached to the same link. In | metric simultaneously on both routers attached to the same link. In | |||
doing so, the routers generate new Router LSAs that are flooded | doing so, the routers generate new Router LSAs that are flooded | |||
throughout the network and cause all routers to shift traffic onto | throughout the network and cause all routers to shift traffic onto | |||
alternate paths (where available) with limited disruption (depending | alternate paths (where available) with limited disruption (depending | |||
on the network topology) to in-flight communications by applications | on the network topology) to in-flight communications by applications | |||
or end-users. When performed successfully, this allows the operator to | or end users. When performed successfully, this allows the operator to | |||
perform disruptive augmentation, fault diagnosis, or repairs on a link | perform disruptive augmentation, fault diagnosis, or repairs on a link | |||
in a production network.</t> | in a production network.</t> | |||
<t>In deployments such as a hub-and-spoke topology (as shown in <xref | ||||
<t>In deployments such as a hub and spoke topology as shown in <xref | target="FIG1" format="default"/>), it is quite common to have routers | |||
target="FIG1"/>, it is quite common to have routers with several | with several hundred interfaces and individual interfaces that move | |||
hundred interfaces and individual interfaces that move anywhere from | anywhere from several hundred gigabits to terabits per second of | |||
several hundred gigabits/second to terabits/second of traffic. The | traffic. The challenge in such conditions is that the operator must | |||
challenge in such conditions is that the operator must accurately | accurately identify the same point-to-point (P2P) link on two separate | |||
identify the same point-to-point link on two separate devices to | devices to increase (and afterward decrease) the OSPF metric | |||
increase (and afterward decrease) the OSPF metric appropriately and to | appropriately and to do so in a coordinated manner. When considering | |||
do so in a coordinated manner. When considering maintenance for PE-CE | maintenance for PE-CE links when many Customer Edge (CE) routers | |||
links when many CE routers connect to a PE router, an additional | connect to a Provider Edge (PE) router, an additional challenge | |||
challenge related to coordinating access to the CE routers may arise | related to coordinating access to the CE routers may arise when the | |||
when the CEs are not managed by the provider.</t> | CEs are not managed by the provider.</t> | |||
<t>The OSPF RM mechanism helps address these challenges. | ||||
<t>The OSPF reverse metric mechanism helps address these challenges. | The operator can set the link on one of the routers (generally the | |||
The operator can set the link on one of the routers (generally the hub | hub, like AGGR1 or a PE) to a "maintenance mode". This causes the | |||
like AGGR1 or a PE) to a "maintenance mode". This causes the router to | router to advertise the maximum metric for that link and to signal its | |||
advertise the maximum metric for that link and to signal its neighbor | neighbor on the same link to advertise maximum metric via the reverse | |||
on the same link to advertise maximum metric via the reverse metric | metric signaling mechanism. Once the link maintenance is completed and | |||
signaling mechanism. Once the link maintenance is completed and the | the "maintenance mode" is turned off, the router returns to using its | |||
"maintenance mode" is turned off, the router returns to using its | provisioned metric for the link and stops the signaling of RM on that | |||
provisioned metric for the link and stops the signaling of reverse | link, resulting in its neighbor also reverting to its provisioned | |||
metric on that link resulting in its neighbor also reverting to its | metric for that link.</t> | |||
provisioned metric for that link.</t> | ||||
</section> | </section> | |||
<section anchor="ADAPTIVEMET" numbered="true" toc="default"> | ||||
<section anchor="ADAPTIVEMET" title="Adaptive Metric Signaling"> | <name>Adaptive Metric Signaling</name> | |||
<t>In <xref target="FIG1"/> above, consider that at some point in time | <t>In <xref target="FIG1" format="default"/>, consider that at some poin | |||
T, AGGR1 loses some of its capacity towards the core. This may result | t in time | |||
(T), AGGR1 loses some of its capacity towards the core. This may result | ||||
in a congestion issue towards the core on AGGR1 that it needs to | in a congestion issue towards the core on AGGR1 that it needs to | |||
mitigate by redirecting some of its traffic load to transit via AGGR2 | mitigate by redirecting some of its traffic load to transit via AGGR2, | |||
which is not experiencing a similar issue. Altering its link metric | which is not experiencing a similar issue. Altering its link metric | |||
towards the R1-RN routers would influence the traffic from the core | towards the R1-RN routers would influence the traffic from the core | |||
towards R1-RN but not the other way around as desired.</t> | towards R1-RN, but not the other way around as desired.</t> | |||
<t>In such a scenario, the AGGR1 router could signal an incremental | <t>In such a scenario, the AGGR1 router could signal an incremental | |||
OSPF reverse metric to some or all the R1-RN routers. When the R1-RN | OSPF RM to some or all the R1-RN routers. When the R1-RN | |||
routers add this signaled reverse metric offset to the provisioned | routers add this signaled RM offset to the provisioned | |||
metric on their links towards AGGR1, then the path via AGGR2 becomes a | metric on their links towards AGGR1, the path via AGGR2 becomes a | |||
better path causing traffic towards the core to be diverted away from | better path. This causes traffic towards the core to be diverted away | |||
AGGR1. Note that the reverse metric mechanism allows such adaptive | from AGGR1. Note that the RM mechanism allows such | |||
metric changes to be applied on the AGGR1 as opposed to being | adaptive metric changes to be applied on the AGGR1 as opposed to being | |||
provisioned on a possibly large number of R1-RN routers.</t> | provisioned on a possibly large number of R1-RN routers.</t> | |||
<t>The RM mechanism may be similarly applied between spine | ||||
<t>The reverse metric mechanism may be similarly applied between spine | and leaf nodes in a Clos network <xref target="CLOS" format="default"/> | |||
and leaf nodes in a Clos network <xref target="CLOS"/> topology | topology | |||
deployment.</t> | deployment.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SOLUTION" numbered="true" toc="default"> | ||||
<section anchor="SOLUTION" title="Solution"> | <name>Solution</name> | |||
<t>To address the use cases described earlier and to allow an OSPF | <t>To address the use cases described earlier and to allow an OSPF | |||
router to indicate its reverse metric for a specific link to its | router to indicate its RM for a specific link to its | |||
neighbor(s), this document proposes to extend OSPF link-local signaling | neighbor(s), this document proposes to extend OSPF link-local signaling | |||
to signal the Reverse Metric TLV in OSPF Hello packets. This ensures | to signal the Reverse Metric TLV in OSPF Hello packets. This ensures | |||
that the RM signaling is scoped only to each specific link individually. | that the RM signaling is scoped only to a specific link. | |||
The router continues to include the Reverse Metric TLV in its Hello | The router continues to include the Reverse Metric TLV in its Hello | |||
packets on the link for as long as it needs its neighbor to use that | packets on the link for as long as it needs its neighbor to use that | |||
metric value towards itself. Further details of the procedures involved | metric value towards itself. Further details of the procedures involved | |||
are specified in <xref target="PROCEDURES"/>.</t> | are specified in <xref target="PROCEDURES" format="default"/>.</t> | |||
<t>The reverse metric mechanism specified in this document applies only | <t>The RM mechanism specified in this document applies only to | |||
for point-to-point, point-to-multipoint, and hybrid broadcast | P2P, Point-to-Multipoint (P2MP), and hybrid-broadcast-P2MP (<xref | |||
point-to-multipoint ( <xref target="RFC6845"/>) links. It is not | target="RFC6845" format="default"/>) links. It is not applicable for broadcast | |||
applicable for broadcast or non-broadcast-multi-access (NBMA) links | or Non-Broadcast Multi-Access (NBMA) links since the same objective is | |||
since the same objective is achieved there using the OSPF Two-Part | achieved there using the OSPF Two-Part Metric mechanism <xref target="RFC8042" | |||
Metric mechanism <xref target="RFC8042"/> for OSPFv2. The OSPFv3 | format="default"/> for OSPFv2. The OSPFv3 solution for broadcast or NBMA links | |||
solution for broadcast or NBMA links is outside the scope of this | is outside the scope of this document.</t> | |||
document.</t> | ||||
</section> | </section> | |||
<section anchor="REVMETTLV" numbered="true" toc="default"> | ||||
<section anchor="REVMETTLV" title="LLS Reverse Metric TLV"> | <name>LLS Reverse Metric TLV</name> | |||
<t>The Reverse Metric TLV is a new LLS TLV. It has following | <t>The Reverse Metric TLV is a new LLS TLV. It has following | |||
format:<figure anchor="FIG2" title="Reverse Metric TLV"> | format:</t> | |||
<artwork><![CDATA[ | <figure anchor="FIG2"> | |||
<name>Reverse Metric TLV</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
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 | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MTID | Flags |O|H| Reverse Metric | | | MTID | Flags |O|H| Reverse Metric | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | |||
</figure> | ||||
where: | <t>where:</t> | |||
]]></artwork> | <dl newline="false" spacing="normal"> | |||
</figure><list style="hanging"> | <dt>Type:</dt> | |||
<t>Type: 19</t> | <dd>19</dd> | |||
<dt>Length:</dt> | ||||
<t>Length: 4 octets</t> | <dd>4 octets</dd> | |||
<dt>MTID:</dt> | ||||
<t>MTID : the multi-topology identifier of the link (<xref | <dd>The multi-topology identifier of the link (<xref target="RFC4915" fo | |||
target="RFC4915"/>)</t> | rmat="default"/>).</dd> | |||
<dt>Flags:</dt> | ||||
<t>Flags: 1 octet, the following flags are defined currently and the | <dd>1 octet. The following flags are defined currently and the | |||
rest MUST be set to 0 on transmission and ignored on reception.</t> | rest <bcp14>MUST</bcp14> be set to 0 on transmission and ignored on re | |||
ception:</dd> | ||||
<t><list style="symbols"> | <dt/> | |||
<t>H (0x1) : Indicates that the neighbor should use the value | <dd> | |||
<dl newline="false" spacing="normal"> | ||||
<dt>H (0x1):</dt><dd>Indicates that the neighbor should use the valu | ||||
e | ||||
only if it is higher than its provisioned metric value for the | only if it is higher than its provisioned metric value for the | |||
link.</t> | link.</dd> | |||
<dt>O (0x2):</dt><dd>Indicates that the RM value provided is | ||||
<t>O (0x2) : Indicates that the reverse metric value provided is | an offset that is to be added to the provisioned metric.</dd> | |||
an offset that is to be added to the provisioned metric.</t> | </dl> | |||
</list></t> | </dd> | |||
<dt>Reverse Metric:</dt> | ||||
<t>Reverse Metric: unsigned integer of 2 octets that carries the | <dd>Unsigned integer of 2 octets that carries the | |||
value or offset of reverse metric to replace or be added to the | value or offset of RM to replace or be added to the | |||
provisioned link metric.</t> | provisioned link metric.</dd> | |||
</list></t> | </dl> | |||
</section> | </section> | |||
<section anchor="REVTEMETTLV" numbered="true" toc="default"> | ||||
<section anchor="REVTEMETTLV" title="LLS Reverse TE Metric TLV"> | <name>LLS Reverse TE Metric TLV</name> | |||
<t>The Reverse TE Metric TLV is a new LLS TLV. It has the following | <t>The Reverse TE Metric TLV is a new LLS TLV. It has the following | |||
format:<figure anchor="FIG3" title="Reverse TE Metric TLV"> | format:</t> | |||
<artwork><![CDATA[ | <figure anchor="FIG3"> | |||
<name>Reverse TE Metric TLV</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
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 | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags |O|H| RESERVED | | | Flags |O|H| RESERVED | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reverse TE Metric | | | Reverse TE Metric | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | |||
</figure> | ||||
where: | <t>where:</t> | |||
]]></artwork> | <dl newline="false" spacing="normal"> | |||
</figure><list style="hanging"> | <dt>Type:</dt> | |||
<t>Type: 20</t> | <dd>20</dd> | |||
<dt>Length:</dt> | ||||
<t>Length: 4 octets</t> | <dd>4 octets</dd> | |||
<dt>Flags:</dt> | ||||
<t>Flags: 1 octet, the following flags are defined currently and the | <dd>1 octet. The following flags are defined currently and the | |||
rest MUST be set to 0 on transmission and ignored on reception.</t> | rest <bcp14>MUST</bcp14> be set to 0 on transmission and ignored on re | |||
ception:</dd> | ||||
<t><list style="symbols"> | <dt/> | |||
<t>H (0x1) : Indicates that the neighbor should use the value | <dd> | |||
<dl newline="false" spacing="normal"> | ||||
<dt>H (0x1):</dt><dd>Indicates that the neighbor should use the valu | ||||
e | ||||
only if it is higher than its provisioned TE metric value for | only if it is higher than its provisioned TE metric value for | |||
the link.</t> | the link.</dd> | |||
<dt>O (0x2):</dt><dd>Indicates that the reverse TE metric value prov | ||||
<t>O (0x2) : Indicates that the reverse TE metric value provided | ided | |||
is an offset that is to be added to the provisioned TE | is an offset that is to be added to the provisioned TE | |||
metric.</t> | metric.</dd> | |||
</list></t> | </dl> | |||
</dd> | ||||
<t>RESERVED: 24-bit field. MUST be set to 0 on transmission and MUST | <dt>RESERVED:</dt> | |||
be ignored on receipt.</t> | <dd>24-bit field. <bcp14>MUST</bcp14> be set to 0 on transmission and <b | |||
cp14>MUST</bcp14> | ||||
<t>Reverse TE Metric: unsigned integer of 4 octets that carries the | be ignored on receipt.</dd> | |||
<dt>Reverse TE Metric:</dt> | ||||
<dd>Unsigned integer of 4 octets that carries the | ||||
value or offset of reverse traffic engineering metric to replace or | value or offset of reverse traffic engineering metric to replace or | |||
to be added to the provisioned TE metric of the link.</t> | to be added to the provisioned TE metric of the link.</dd> | |||
</list></t> | </dl> | |||
</section> | </section> | |||
<section anchor="PROCEDURES" numbered="true" toc="default"> | ||||
<section anchor="PROCEDURES" title="Procedures"> | <name>Procedures</name> | |||
<t>When a router needs to signal an RM value that its neighbor(s) should | <t>When a router needs to signal an RM value that its neighbor(s) should | |||
use for a link towards the router, it includes the Reverse Metric TLV in | use for a link towards the router, it includes the Reverse Metric TLV in | |||
the LLS block of its Hello packets sent on that link and continues to | the LLS block of its Hello packets sent on that link and continues to | |||
include this TLV for as long as it needs its neighbor to use this value. | include this TLV for as long as the router needs its neighbor to use this value. | |||
The mechanisms used to determine the value to be used for the RM is | The mechanisms used to determine the value to be used for the RM is | |||
specific to the implementation and use case and is outside the scope of | specific to the implementation and use case, and is outside the scope of | |||
this document. For example, the RM value may be derived based on the | this document. For example, the RM value may be derived based on the | |||
router's link bandwidth with respect to a reference bandwidth.</t> | router's link bandwidth with respect to a reference bandwidth.</t> | |||
<t>A router receiving a Hello packet from its neighbor that contains the | <t>A router receiving a Hello packet from its neighbor that contains the | |||
Reverse Metric TLV on a link MUST use the RM value to derive the metric | Reverse Metric TLV on a link <bcp14>MUST</bcp14> use the RM value to deriv e the metric | |||
for the link to the advertising router in its Router-LSA when the | for the link to the advertising router in its Router-LSA when the | |||
reverse metric feature is enabled (refer <xref target="OPER"/> for | RM feature is enabled (refer to <xref target="OPER" format="default"/> for | |||
details on enablement of RM). When the O flag is set, the metric value | details on enablement of RM). When the O flag is set, the metric value | |||
to be advertised is derived by adding the value in the TLV to the | to be advertised is derived by adding the value in the TLV to the | |||
provisioned metric for the link. The metric value 0xffff (maximum | provisioned metric for the link. The metric value 0xffff (maximum | |||
interface cost) is advertised when the sum exceeds the maximum interface | interface cost) is advertised when the sum exceeds the maximum interface | |||
cost. When the O flag is clear, the metric value to be advertised is | cost. When the O flag is clear, the metric value to be advertised is | |||
copied directly from the value in the TLV. When the H flag is set and | copied directly from the value in the TLV. When the H flag is set and | |||
the O flag is clear, the metric value to be advertised is copied | the O flag is clear, the metric value to be advertised is copied | |||
directly from the value in the TLV only when the RM value signaled is | directly from the value in the TLV only when the RM value signaled is | |||
higher than the provisioned metric for the link. The H and O flags are | higher than the provisioned metric for the link. The H and O flags are | |||
mutually exclusive and the H flag is ignored when the O flag is set.</t> | mutually exclusive; the H flag is ignored when the O flag is set.</t> | |||
<t>A router stops including the Reverse Metric TLV in its Hello packets | <t>A router stops including the Reverse Metric TLV in its Hello packets | |||
when it needs its neighbors to go back to using their own provisioned | when it needs its neighbors to go back to using their own provisioned | |||
metric values. When this happens, a router that had modified its metric | metric values. When this happens, a router that has modified its metric | |||
in response to receiving a Reverse Metric TLV from its neighbor MUST | in response to receiving a Reverse Metric TLV from its neighbor <bcp14>MUS | |||
T</bcp14> | ||||
revert to using its provisioned metric value.</t> | revert to using its provisioned metric value.</t> | |||
<t>In certain scenarios, two or more routers may start the RM signaling | <t>In certain scenarios, two or more routers may start the RM signaling | |||
on the same link. This could create collision scenarios. The following | on the same link. This could create collision scenarios. | |||
guidelines are RECOMMENDED for adoption to ensure that there is no | The following | |||
guidelines are <bcp14>RECOMMENDED</bcp14> for adoption to ensure that ther | ||||
e is no | ||||
instability in the network due to churn in their metric caused by the | instability in the network due to churn in their metric caused by the | |||
signaling of RM:</t> | signaling of RM:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>The RM value that is signaled by a router to its neighbor should | |||
<t>The RM value that is signaled by a router to its neighbor should | not be derived from the RM being signaled by any of | |||
not be derived from the reverse metric being signaled by any of its | its neighbors on any of its links.</li> | |||
neighbors on any of its links.</t> | <li>The RM value that is signaled by a router to its neighbor should | |||
not be derived from the RM being signaled by any of | ||||
<t>The RM value that is signaled by a router should not be derived | its neighbors on any of its links. RM signaling from | |||
from its metric which has been modified on account of an RM signaled | ||||
from any of its neighbors on any of its links. RM signaling from | ||||
other routers can affect the router's metric advertised in its | other routers can affect the router's metric advertised in its | |||
Router-LSA. When deriving the RM values that a router signals to its | Router-LSA. When deriving the RM values that a router signals to its | |||
neighbors, it should use its provisioned local metric values not | neighbors, it should use its provisioned local metric values not | |||
influenced by any RM signaling.</t> | influenced by any RM signaling.</li> | |||
</list></t> | </ul> | |||
<t>Based on these guidelines, a router would not start, stop, or change | <t>Based on these guidelines, a router would not start, stop, or change | |||
its RM metric signaling based on the RM metric signaling initiated by | its RM signaling based on the RM signaling initiated by | |||
some other routers. Based on the local configuration policy, each router | some other routers. Based on the local configuration policy, each router | |||
would end up accepting the RM value signaled by its neighbor and there | would end up accepting the RM value signaled by its neighbor and there | |||
would be no churn of metrics on the link or the network on account of RM | would be no churn of metrics on the link or the network on account of RM | |||
signaling.</t> | signaling.</t> | |||
<t>In certain use cases when symmetrical metrics are desired (e.g., when | <t>In certain use cases when symmetrical metrics are desired (e.g., when | |||
metrics are derived based on link bandwidth), the RM signaling can be | metrics are derived based on link bandwidth), the RM signaling can be | |||
enabled on routers on either end of a link. In other use cases (as | enabled on routers on either end of a link. In other use cases (as | |||
described in <xref target="MAINT"/>), RM signaling may need to be | described in <xref target="MAINT" format="default"/>), RM signaling may ne ed to be | |||
enabled only on the router at one end of a link.</t> | enabled only on the router at one end of a link.</t> | |||
<t>When using multi-topology routing with OSPF <xref target="RFC4915" form | ||||
<t>When using multi-topology routing with OSPF <xref target="RFC4915"/>, | at="default"/>, | |||
a router MAY include multiple instances of the Reverse Metric TLV in the | a router <bcp14>MAY</bcp14> include multiple instances of the Reverse Metr | |||
LLS block of its Hello packet - one for each of the topologies for which | ic TLV in the | |||
it desires to signal the reverse metric. A router MUST NOT include more | LLS block of its Hello packet (one for each of the topologies for which | |||
it desires to signal the RM). A router <bcp14>MUST NOT</bcp14> include mor | ||||
e | ||||
than one instance of this TLV per MTID. If more than a single instance | than one instance of this TLV per MTID. If more than a single instance | |||
of this TLV per MTID is present, the receiving router MUST only use the | of this TLV per MTID is present, the receiving router <bcp14>MUST</bcp14> only use the | |||
value from the first instance and ignore the others.</t> | value from the first instance and ignore the others.</t> | |||
<t>In certain scenarios, the OSPF router may also require the | <t>In certain scenarios, the OSPF router may also require the | |||
modification of the TE metric being advertised by its neighbor router | modification of the TE metric being advertised by its neighbor router | |||
towards itself in the inbound direction. The Reverse TE Metric TLV, | towards itself in the inbound direction. Using similar procedures to | |||
using similar procedures to those described above, MAY be used to signal | those described above, the Reverse TE Metric TLV <bcp14>MAY</bcp14> be | |||
the reverse TE metric for router links. The neighbor MUST use the | used to signal the reverse TE metric for router links. The neighbor | |||
reverse TE metric value to derive the TE metric advertised in the TE | <bcp14>MUST</bcp14> use the reverse TE metric value to derive the TE | |||
Metric sub-TLV of the Link TLV in its TE Opaque LSA <xref | metric advertised in the TE Metric sub-TLV of the Link TLV in its TE | |||
target="RFC3630"/> when the reverse metric feature is enabled (refer | Opaque LSA <xref target="RFC3630" format="default"/> when the reverse | |||
<xref target="OPER"/> for details on enablement of RM). The rules for | metric feature is enabled (refer <xref target="OPER" format="default"/> | |||
doing so are analogous to those given above for the Router-LSA.</t> | for details on enablement of RM). The rules for doing so are analogous | |||
to those given above for the Router-LSA.</t> | ||||
</section> | </section> | |||
<section anchor="OPER" numbered="true" toc="default"> | ||||
<section anchor="OPER" title="Operational Guidelines"> | <name>Operational Guidelines</name> | |||
<t>The signaled reverse metric does not alter the OSPF metric parameters | <t>The signaled RM does not alter the OSPF metric parameters | |||
stored in a receiving router's persistent provisioning database.</t> | stored in a receiving router's persistent provisioning database.</t> | |||
<t>Routers that receive a RM advertisement | ||||
<bcp14>SHOULD</bcp14> log an event to notify system administration. | ||||
<t>Routers that receive a reverse metric advertisement SHOULD log an | This will assist in rapidly | |||
event to notify system administration. This will assist in rapidly | identifying the node in the network that is advertising an OSPF | |||
identifying the node in the network that is advertising an OSPF metric | metric or TE metric different from what is configured locally | |||
or TE metric different from that which is configured locally on the | on the device.</t> | |||
device.</t> | ||||
<t>When the link TE metric is raised to the maximum value, either due to | <t>When the link TE metric is raised to the maximum value, either due to | |||
the reverse metric mechanism or by explicit user configuration, this | the RM mechanism or by explicit user configuration, this | |||
SHOULD immediately trigger the CSPF (Constrained Shortest Path First) | <bcp14>SHOULD</bcp14> immediately trigger the CSPF (Constrained Shortest P | |||
ath First) | ||||
recalculation to move the TE traffic away from that link.</t> | recalculation to move the TE traffic away from that link.</t> | |||
<t>An implementation <bcp14>MUST NOT</bcp14> signal RM to neighbors by | ||||
<t>An implementation MUST NOT signal reverse metric to neighbors by | default and <bcp14>MUST</bcp14> provide a configuration option to enable t | |||
default and MUST provide a configuration option to enable the signaling | he signaling | |||
of reverse metric on specific links. An implementation MUST NOT accept | of RM on specific links. An implementation <bcp14>MUST NOT</bcp14> accept | |||
the RM from its neighbors by default. An implementation MAY provide | the RM from its neighbors by default. An implementation <bcp14>MAY</bcp14> | |||
provide | ||||
configuration to accept the RM globally on the device, or per area, but | configuration to accept the RM globally on the device, or per area, but | |||
an implementation MUST support configuration to enable/disable | an implementation <bcp14>MUST</bcp14> support configuration to enable/disa ble | |||
acceptance of the RM from neighbors on specific links. This is to | acceptance of the RM from neighbors on specific links. This is to | |||
safeguard against inadvertent use of RM.</t> | safeguard against inadvertent use of RM.</t> | |||
<t>For the use case in <xref target="MAINT" format="default"/>, it is <bcp | ||||
<t>For the use case in <xref target="MAINT"/>, it is RECOMMENDED that | 14>RECOMMENDED</bcp14> that | |||
the network operator limits the period of enablement of the reverse | the network operator limit the period of enablement of the reverse | |||
metric mechanism to be only the duration of a network maintenance | metric mechanism to be only the duration of a network maintenance | |||
window.</t> | window.</t> | |||
<t><xref target="I-D.ietf-ospf-yang"/> specifies the base OSPF YANG | <t><xref target="RFC9129" format="default"/> specifies the base OSPF YANG | |||
model. The required configuration and operational elements for this | data model. The required configuration and operational elements for this | |||
feature are expected to be introduced as an augmentation to this base | feature are expected to be introduced as an augmentation to this base | |||
OSPF YANG model.</t> | OSPF YANG data model.</t> | |||
</section> | ||||
<section anchor="BACKW" title="Backward Compatibility"> | </section> | |||
<section anchor="BACKW" numbered="true" toc="default"> | ||||
<name>Backward Compatibility</name> | ||||
<t>The signaling specified in this document happens at a link-local | <t>The signaling specified in this document happens at a link-local | |||
level between routers on that link. A router that does not support this | level between routers on that link. A router that does not support this | |||
specification would ignore the Reverse Metric and Reverse TE Metric LLS | specification would ignore the Reverse Metric and Reverse TE Metric LLS | |||
TLVs and not update its metric(s) in the other LSAs. As a result, the | TLVs and not update its metric(s) in the other LSAs. As a result, the | |||
behavior would be the same as prior to this specification. Therefore, | behavior would be the same as prior to this specification. Therefore, | |||
there are no backward compatibility related issues or considerations | there are no backward compatibility related issues or considerations | |||
that need to be taken care of when implementing this specification.</t> | that need to be taken care of when implementing this specification.</t> | |||
</section> | </section> | |||
<section anchor="IANA" numbered="true" toc="default"> | ||||
<section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
<t>This document allocates code points from the "Link Local Signalling | <t>IANA has registered code points from the "Link Local Signalling | |||
TLV Identifiers" registry in the "Open Shortest Path First (OSPF) Link | TLV Identifiers (LLS Types)" registry in the "Open Shortest Path First (OS | |||
PF) Link | ||||
Local Signalling (LLS) - Type/Length/Value Identifiers (TLV)" registry | Local Signalling (LLS) - Type/Length/Value Identifiers (TLV)" registry | |||
group for the TLVs introduced.</t> | group for the TLVs introduced in this document as follows:</t> | |||
<t>IANA is requested to make permanent the following code points that | ||||
have been assigned via early allocation</t> | ||||
<t>o 19 - Reverse Metric TLV</t> | ||||
<t>o 20 - Reverse TE Metric TLV</t> | <ul spacing="normal"> | |||
<li>19 - Reverse Metric TLV</li> | ||||
<li>20 - Reverse TE Metric TLV</li> | ||||
</ul> | ||||
</section> | </section> | |||
<section anchor="Security" numbered="true" toc="default"> | ||||
<section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t>The security considerations for "OSPF Link-Local Signaling" <xref | <t>The security considerations for "OSPF Link-Local Signaling" <xref targe | |||
target="RFC5613"/> also apply to the extension described in this | t="RFC5613" format="default"/> also apply to the extension described in this | |||
document. The usage of the reverse metric TLVs is to alter the metrics | document. The purpose of using the reverse metric TLVs is to alter the met | |||
used by routers on the link and influence the flow and routing of | rics | |||
traffic over the network. Hence, modification of the Reverse Metric and | used by routers on the link and influence the flow and routing of traffic over | |||
Reverse TE Metric TLVs may result in misrouting of traffic. If | the network. Hence, modification of the Reverse Metric and | |||
authentication is being used in the OSPFv2 routing domain <xref | Reverse TE Metric TLVs may result in traffic being misrouted. If | |||
target="RFC5709"/><xref target="RFC7474"> </xref>, then the | authentication is being used in the OSPFv2 routing domain <xref target="RF | |||
Cryptographic Authentication TLV <xref target="RFC5613"/> MUST also be | C5709" format="default"/><xref target="RFC7474" format="default"> </xref>, then | |||
the | ||||
Cryptographic Authentication TLV <xref target="RFC5613" format="default"/> | ||||
<bcp14>MUST</bcp14> also be | ||||
used to protect the contents of the LLS block.</t> | used to protect the contents of the LLS block.</t> | |||
<t>A router that is misbehaving or misconfigured may end up signaling | ||||
<t>A router that is misbehaving or misconfigured, may end up signaling | varying values of RMs or toggle the state of RM. | |||
varying values of reverse metrics or toggle the state of reverse metric. | ||||
This can result in a neighbor router having to frequently update its | This can result in a neighbor router having to frequently update its | |||
Router LSA causing network churn and instability despite existing OSPF | Router LSA, causing network churn and instability despite existing OSPF | |||
protocol mechanisms (e.g., MinLSInterval, and <xref target="RFC8405"/>). | protocol mechanisms (e.g., MinLSInterval, and <xref target="RFC8405" forma | |||
It is RECOMMENDED that implementations support the detection of frequent | t="default"/>). | |||
changes in reverse metric signaling and ignore the reverse metric (i.e., | It is <bcp14>RECOMMENDED</bcp14> that implementations support the detectio | |||
n of frequent | ||||
changes in RM signaling and ignore the RM (i.e., | ||||
revert to using their provisioned metric value) during such | revert to using their provisioned metric value) during such | |||
conditions.</t> | conditions.</t> | |||
<t>The reception of malformed LLS TLVs or sub-TLVs <bcp14>SHOULD</bcp14> b | ||||
<t>The reception of malformed LLS TLVs or sub-TLVs SHOULD be logged, but | e logged, but | |||
such logging MUST be rate-limited to prevent denial-of-service (DoS) | such logging <bcp14>MUST</bcp14> be rate-limited to prevent Denial of Serv | |||
ice (DoS) | ||||
attacks.</t> | attacks.</t> | |||
</section> | </section> | |||
<section anchor="Acknowledgements" title="Acknowledgements"> | ||||
<t>The authors would like to thanks Jay Karthik for his contributions to | ||||
the use cases and the review of the solution.</t> | ||||
<t>The authors would like to thank Les Ginsberg, Aijun Wang, Gyan | ||||
Mishra, Matthew Bocci, Thomas Fossati, and Steve Hanna for their review | ||||
and feedback on this document. The authors would also like to thank Acee | ||||
Lindem for this detailed shepherd's review and comments on this | ||||
document. The authors would also like to thank John Scudder for his | ||||
detailed AD review and suggestions to improve this document.</t> | ||||
<t>The document leverages the concept of Reverse Metric for IS-IS, its | ||||
related use cases, and applicability aspects from <xref | ||||
target="RFC8500"/>.</t> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references title="Normative References"> | <references> | |||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <name>References</name> | |||
FC.2328.xml"?> | <references> | |||
<name>Normative References</name> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | |||
FC.3630.xml"?> | 328.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | 630.xml"/> | |||
FC.5340.xml"?> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | |||
340.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
613.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
119.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
174.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
915.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
042.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
845.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
474.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
709.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
500.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
405.xml"/> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R FC.5613.xml"?> | <!-- [I-D.ietf-ospf-yang] Published as RFC 9129 --> | |||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R FC.2119.xml"?> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 129.xml"/> | |||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <reference anchor="CLOS" target=""> | |||
FC.8174.xml"?> | <front> | |||
<title>A study of non-blocking switching networks</title> | ||||
<author fullname="Charles Clos" initials="C" surname="Clos"> | ||||
</author> | ||||
<date month="March" year="1953"/> | ||||
</front> | ||||
<seriesInfo name="DOI" value="10.1002/j.1538-7305.1953.tb01433.x"/> | ||||
<refcontent>The Bell System Technical Journal, Vol. 32, Issue 2</refcon | ||||
tent> | ||||
</reference> | ||||
</references> | ||||
</references> | </references> | |||
<references title="Informative References"> | <section anchor="Acknowledgements" numbered="false" toc="default"> | |||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <name>Acknowledgements</name> | |||
FC.4915.xml"?> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8042.xml"?> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6845.xml"?> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7474.xml"?> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5709.xml"?> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8500.xml"?> | ||||
<?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8405.xml"?> | ||||
<?rfc include='reference.I-D.ietf-ospf-yang.xml'?> | ||||
<reference anchor="CLOS" target=""> | ||||
<front> | ||||
<title>A Study of Non-Blocking Switching Networks: Bell System | ||||
Technical Journal Vol. 32(2)</title> | ||||
<author fullname="Charles Clos" initials="C" surname="Clos"> | ||||
<organization>Bell Labs Technical Journal</organization> | ||||
</author> | ||||
<date month="March" year="1953"/> | <t>The authors would like to thank:</t> | |||
</front> | <ul><li><t> | |||
</reference> | <contact fullname="Jay Karthik"/> | |||
</references> | for his contributions to the use cases and the review of the | |||
</back> | solution.</t></li> | |||
<li><t><contact fullname="Les Ginsberg"/>, | ||||
<contact fullname="Aijun Wang"/>, <contact fullname="Gyan Mishra"/>, | ||||
<contact fullname="Matthew Bocci"/>, <contact fullname="Thomas | ||||
Fossati"/>, and <contact fullname="Steve Hanna"/> for their review and | ||||
feedback.</t></li> | ||||
<li> <t><contact | ||||
fullname="Acee Lindem"/> for a detailed shepherd's review and | ||||
comments.</t></li> | ||||
<li><t><contact | ||||
fullname="John Scudder"/> for his detailed AD review and suggestions for i | ||||
mprovement.</t></li></ul> | ||||
<t>The document leverages the concept of RM for IS-IS, its | ||||
related use cases, and applicability aspects from <xref target="RFC8500" | ||||
format="default"/>.</t> | ||||
</section> | ||||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 99 change blocks. | ||||
381 lines changed or deleted | 390 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |