| 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. | ||||