rfc9339.original   rfc9339.txt 
Link State Routing K. Talaulikar, Ed. Internet Engineering Task Force (IETF) K. Talaulikar, Ed.
Internet-Draft P. Psenak Request for Comments: 9339 P. Psenak
Intended status: Standards Track Cisco Systems, Inc. Category: Standards Track Cisco Systems, Inc.
Expires: 13 April 2023 H. Johnston ISSN: 2070-1721 H. Johnston
AT&T Labs AT&T Labs
10 October 2022 December 2022
OSPF Reverse Metric OSPF Reverse Metric
draft-ietf-lsr-ospf-reverse-metric-13
Abstract Abstract
This document specifies the extensions to OSPF that enable a router 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 OSPF neighbor(s) should use for a link to the signaling router. When
signaling of this reverse metric, to be used on the link to the used on the link to the signaling router, the signaling of this
signaling router, allows a router to influence the amount of traffic reverse metric (RM) allows a router to influence the amount of
flowing towards itself and in certain use cases enables routers to traffic flowing towards itself. In certain use cases, this enables
maintain symmetric metrics on both sides of a link between them. routers to maintain symmetric metrics on both sides of a link between
them.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 13 April 2023. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9339.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language
2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Use Cases
2.1. Link Maintenance . . . . . . . . . . . . . . . . . . . . 4 2.1. Link Maintenance
2.2. Adaptive Metric Signaling . . . . . . . . . . . . . . . . 4 2.2. Adaptive Metric Signaling
3. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Solution
4. LLS Reverse Metric TLV . . . . . . . . . . . . . . . . . . . 5 4. LLS Reverse Metric TLV
5. LLS Reverse TE Metric TLV . . . . . . . . . . . . . . . . . . 6 5. LLS Reverse TE Metric TLV
6. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 7 6. Procedures
7. Operational Guidelines . . . . . . . . . . . . . . . . . . . 9 7. Operational Guidelines
8. Backward Compatibility . . . . . . . . . . . . . . . . . . . 10 8. Backward Compatibility
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 9. IANA Considerations
10. Security Considerations . . . . . . . . . . . . . . . . . . . 10 10. Security Considerations
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 11. References
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 11.1. Normative References
12.1. Normative References . . . . . . . . . . . . . . . . . . 11 11.2. Informative References
12.2. Informative References . . . . . . . . . . . . . . . . . 12 Acknowledgements
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses
1. Introduction 1. Introduction
A router running the Open Shortest Path First (OSPFv2) [RFC2328] or A router running the OSPFv2 [RFC2328] or OSPFv3 [RFC5340] routing
OSPFv3 [RFC5340] routing protocols originates a Router-LSA (Link- protocols originates a Router-LSA (Link State Advertisement) that
State Advertisement) that describes all its links to its neighbors describes all its links to its neighbors and includes a metric that
and includes a metric that indicates its "cost" to reach the neighbor indicates its "cost" to reach the neighbor over that link. Consider
over that link. Consider two routers R1 and R2 that are connected two routers, R1 and R2, that are connected via a link. In the
via a link. The metric for this link in the direction R1->R2 is direction R1->R2, the metric for this link is configured on R1. In
configured on R1 and in the direction R2->R1 is configured on R2. the direction R2->R1, the metric for this link is configured on R2.
Thus, the configuration on R1 influences the traffic that it forwards Thus, the configuration on R1 influences the traffic that it forwards
towards R2 but does not influence the traffic that it may receive towards R2, but does not influence the traffic that it may receive
from R2 on that same link. from R2 on that same link.
This document describes certain use cases where a router is required 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 adjust the routing metric in the inbound direction. When R1 signals
its reverse metric on its link to R2, then R2 advertises this value its RM on its link to R2, R2 advertises this value as its metric to
as its metric to R1 in its Router-LSA instead of its locally R1 in its Router-LSA instead of its locally configured value. Once
configured value. Once this information is part of the topology, this information is part of the topology, all other routers do their
then all other routers do their computation using this value which computation using this value. This may result in the desired change
may result in the desired change in the traffic distribution that R1 in the traffic distribution that R1 wanted to achieve towards itself
wanted to achieve towards itself over the link from R2. over the link from R2.
This document describes extensions to OSPF Link-Local Signaling (LLS) This document describes extensions to OSPF LLS [RFC5613] to signal
[RFC5613] to signal OSPF reverse metrics. Section 4 specifies the OSPF RMs. Section 4 specifies the LLS Reverse Metric TLV and
LLS Reverse Metric TLV and Section 5 specifies the LLS Reverse TE Section 5 specifies the LLS Reverse TE Metric TLV. The related
Metric TLV. The related procedures are specified in Section 6. procedures are specified in Section 6.
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Use Cases 2. Use Cases
This section describes certain use cases that the OSPF reverse metric This section describes certain use cases that are addressed by the
helps address. The usage of the OSPF reverse metric need not be OSPF RM. The usage of the OSPF RM need not be limited to these
limited to these cases; it is intended to be a generic mechanism. cases; it is intended to be a generic mechanism.
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 |
+-----------+ +-----------+ +-----------+ +-----------+
Figure 1: Reference Dual Hub and Spoke Topology Figure 1: Reference Dual Hub-and-Spoke Topology
Consider a deployment scenario where, as shown in Figure 1, routers Consider a deployment scenario, such as the one shown in Figure 1,
R1 through RN are dual-home connected to AGGR1 and AGGR2 that are where routers R1 through RN are dual-home connected to AGGR1 and
aggregating their traffic towards a core network. AGGR2 that are aggregating their traffic towards a core network.
2.1. Link Maintenance 2.1. Link Maintenance
Before network maintenance events are performed on individual links, Before network maintenance events are performed on individual links,
operators substantially increase (to maximum value) the OSPF metric operators substantially increase (to maximum value) the OSPF metric
simultaneously on both routers attached to the same link. In doing simultaneously on both routers attached to the same link. In doing
so, the routers generate new Router LSAs that are flooded throughout so, the routers generate new Router LSAs that are flooded throughout
the network and cause all routers to shift traffic onto alternate the network and cause all routers to shift traffic onto alternate
paths (where available) with limited disruption (depending on the paths (where available) with limited disruption (depending on the
network topology) to in-flight communications by applications or end- network topology) to in-flight communications by applications or end
users. When performed successfully, this allows the operator to users. When performed successfully, this allows the operator to
perform disruptive augmentation, fault diagnosis, or repairs on a perform disruptive augmentation, fault diagnosis, or repairs on a
link in a production network. link in a production network.
In deployments such as a hub and spoke topology as shown in Figure 1, In deployments such as a hub-and-spoke topology (as shown in
it is quite common to have routers with several hundred interfaces Figure 1), it is quite common to have routers with several hundred
and individual interfaces that move anywhere from several hundred interfaces and individual interfaces that move anywhere from several
gigabits/second to terabits/second of traffic. The challenge in such hundred gigabits to terabits per second of traffic. The challenge in
conditions is that the operator must accurately identify the same such conditions is that the operator must accurately identify the
point-to-point link on two separate devices to increase (and same point-to-point (P2P) link on two separate devices to increase
afterward decrease) the OSPF metric appropriately and to do so in a (and afterward decrease) the OSPF metric appropriately and to do so
coordinated manner. When considering maintenance for PE-CE links in a coordinated manner. When considering maintenance for PE-CE
when many CE routers connect to a PE router, an additional challenge links when many Customer Edge (CE) routers connect to a Provider Edge
related to coordinating access to the CE routers may arise when the (PE) router, an additional challenge related to coordinating access
CEs are not managed by the provider. to the CE routers may arise when the CEs are not managed by the
provider.
The OSPF reverse metric mechanism helps address these challenges. The OSPF RM mechanism helps address these challenges. The operator
The operator can set the link on one of the routers (generally the can set the link on one of the routers (generally the hub, like AGGR1
hub like AGGR1 or a PE) to a "maintenance mode". This causes the or a PE) to a "maintenance mode". This causes the router to
router to advertise the maximum metric for that link and to signal advertise the maximum metric for that link and to signal its neighbor
its neighbor on the same link to advertise maximum metric via the on the same link to advertise maximum metric via the reverse metric
reverse metric signaling mechanism. Once the link maintenance is signaling mechanism. Once the link maintenance is completed and the
completed and the "maintenance mode" is turned off, the router "maintenance mode" is turned off, the router returns to using its
returns to using its provisioned metric for the link and stops the provisioned metric for the link and stops the signaling of RM on that
signaling of reverse metric on that link resulting in its neighbor link, resulting in its neighbor also reverting to its provisioned
also reverting to its provisioned metric for that link. metric for that link.
2.2. Adaptive Metric Signaling 2.2. Adaptive Metric Signaling
In Figure 1 above, consider that at some point in time T, AGGR1 loses In Figure 1, consider that at some point in time (T), AGGR1 loses
some of its capacity towards the core. This may result in a some of its capacity towards the core. This may result in a
congestion issue towards the core on AGGR1 that it needs to mitigate congestion issue towards the core on AGGR1 that it needs to mitigate
by redirecting some of its traffic load to transit via AGGR2 which is by redirecting some of its traffic load to transit via AGGR2, which
not experiencing a similar issue. Altering its link metric towards is not experiencing a similar issue. Altering its link metric
the R1-RN routers would influence the traffic from the core towards towards the R1-RN routers would influence the traffic from the core
R1-RN but not the other way around as desired. towards R1-RN, but not the other way around as desired.
In such a scenario, the AGGR1 router could signal an incremental OSPF 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 RM to some or all the R1-RN routers. When the R1-RN routers add this
routers add this signaled reverse metric offset to the provisioned signaled RM offset to the provisioned metric on their links towards
metric on their links towards AGGR1, then the path via AGGR2 becomes AGGR1, the path via AGGR2 becomes a better path. This causes traffic
a better path causing traffic towards the core to be diverted away towards the core to be diverted away from AGGR1. Note that the RM
from AGGR1. Note that the reverse metric mechanism allows such mechanism allows such adaptive metric changes to be applied on the
adaptive metric changes to be applied on the AGGR1 as opposed to AGGR1 as opposed to being provisioned on a possibly large number of
being provisioned on a possibly large number of R1-RN routers. R1-RN routers.
The reverse metric mechanism may be similarly applied between spine The RM mechanism may be similarly applied between spine and leaf
and leaf nodes in a Clos network [CLOS] topology deployment. nodes in a Clos network [CLOS] topology deployment.
3. Solution 3. Solution
To address the use cases described earlier and to allow an OSPF 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),
neighbor(s), this document proposes to extend OSPF link-local this document proposes to extend OSPF link-local signaling to signal
signaling to signal the Reverse Metric TLV in OSPF Hello packets. the Reverse Metric TLV in OSPF Hello packets. This ensures that the
This ensures that the RM signaling is scoped only to each specific RM signaling is scoped only to a specific link. The router continues
link individually. The router continues to include the Reverse to include the Reverse Metric TLV in its Hello packets on the link
Metric TLV in its Hello packets on the link for as long as it needs for as long as it needs its neighbor to use that metric value towards
its neighbor to use that metric value towards itself. Further itself. Further details of the procedures involved are specified in
details of the procedures involved are specified in Section 6. Section 6.
The reverse metric mechanism specified in this document applies only The RM mechanism specified in this document applies only to P2P,
for point-to-point, point-to-multipoint, and hybrid broadcast point- Point-to-Multipoint (P2MP), and hybrid-broadcast-P2MP ([RFC6845])
to-multipoint ( [RFC6845]) links. It is not applicable for broadcast links. It is not applicable for broadcast or Non-Broadcast Multi-
or non-broadcast-multi-access (NBMA) links since the same objective Access (NBMA) links since the same objective is achieved there using
is achieved there using the OSPF Two-Part Metric mechanism [RFC8042] the OSPF Two-Part Metric mechanism [RFC8042] for OSPFv2. The OSPFv3
for OSPFv2. The OSPFv3 solution for broadcast or NBMA links is solution for broadcast or NBMA links is outside the scope of this
outside the scope of this document. document.
4. LLS Reverse Metric TLV 4. LLS Reverse Metric TLV
The Reverse Metric TLV is a new LLS TLV. It has following format: The Reverse Metric TLV is a new LLS TLV. It has following format:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
Figure 2: Reverse Metric TLV Figure 2: Reverse Metric TLV
Type: 19 where:
Length: 4 octets Type: 19
MTID : the multi-topology identifier of the link ([RFC4915]) Length: 4 octets
Flags: 1 octet, the following flags are defined currently and the MTID: The multi-topology identifier of the link ([RFC4915]).
rest MUST be set to 0 on transmission and ignored on reception.
* H (0x1) : Indicates that the neighbor should use the value only Flags: 1 octet. The following flags are defined currently and the
if it is higher than its provisioned metric value for the link. rest MUST be set to 0 on transmission and ignored on reception:
* O (0x2) : Indicates that the reverse metric value provided is H (0x1): Indicates that the neighbor should use the value only if
an offset that is to be added to the provisioned metric. it is higher than its provisioned metric value for the link.
Reverse Metric: unsigned integer of 2 octets that carries the O (0x2): Indicates that the RM value provided is an offset that
value or offset of reverse metric to replace or be added to the is to be added to the provisioned metric.
provisioned link metric.
Reverse Metric: Unsigned integer of 2 octets that carries the value
or offset of RM to replace or be added to the provisioned link
metric.
5. LLS Reverse TE Metric TLV 5. LLS Reverse TE Metric TLV
The Reverse TE Metric TLV is a new LLS TLV. It has the following The Reverse TE Metric TLV is a new LLS TLV. It has the following
format: format:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
Figure 3: Reverse TE Metric TLV Figure 3: Reverse TE Metric TLV
Type: 20 where:
Length: 4 octets Type: 20
Flags: 1 octet, the following flags are defined currently and the Length: 4 octets
rest MUST be set to 0 on transmission and ignored on reception.
* H (0x1) : Indicates that the neighbor should use the value only Flags: 1 octet. The following flags are defined currently and the
if it is higher than its provisioned TE metric value for the rest MUST be set to 0 on transmission and ignored on reception:
link.
* O (0x2) : Indicates that the reverse TE metric value provided H (0x1): Indicates that the neighbor should use the value only if
is an offset that is to be added to the provisioned TE metric. it is higher than its provisioned TE metric value for the link.
RESERVED: 24-bit field. MUST be set to 0 on transmission and MUST O (0x2): Indicates that the reverse TE metric value provided is
an offset that is to be added to the provisioned TE metric.
RESERVED: 24-bit field. MUST be set to 0 on transmission and MUST
be ignored on receipt. be ignored on receipt.
Reverse TE Metric: unsigned integer of 4 octets that carries the Reverse TE Metric: Unsigned integer of 4 octets that carries the
value or offset of reverse traffic engineering metric to replace value or offset of reverse traffic engineering metric to replace
or to be added to the provisioned TE metric of the link. or to be added to the provisioned TE metric of the link.
6. Procedures 6. Procedures
When a router needs to signal an RM value that its neighbor(s) should 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 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 in 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 to include this TLV for as long as the router needs its neighbor to
value. The mechanisms used to determine the value to be used for the use this value. The mechanisms used to determine the value to be
RM is specific to the implementation and use case and is outside the used for the RM is specific to the implementation and use case, and
scope of this document. For example, the RM value may be derived is outside the scope of this document. For example, the RM value may
based on the router's link bandwidth with respect to a reference be derived based on the router's link bandwidth with respect to a
bandwidth. reference bandwidth.
A router receiving a Hello packet from its neighbor that contains the 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 Reverse Metric TLV on a link MUST use the RM value to derive the
metric for the link to the advertising router in its Router-LSA when metric for the link to the advertising router in its Router-LSA when
the reverse metric feature is enabled (refer Section 7 for details on the RM feature is enabled (refer to Section 7 for details on
enablement of RM). When the O flag is set, the metric value to be 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 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 cost) is advertised when the sum exceeds the maximum
interface cost. When the O flag is clear, the metric value to be interface 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 advertised is 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 flag is set and the O flag is clear, the metric value to be
advertised is copied directly from the value in the TLV only when the advertised is copied directly from the value in the TLV only when the
RM value signaled is higher than the provisioned metric for the link. RM value signaled is higher than the provisioned metric for the link.
The H and O flags are mutually exclusive and the H flag is ignored The H and O flags are mutually exclusive; the H flag is ignored when
when the O flag is set. the O flag is set.
A router stops including the Reverse Metric TLV in its Hello packets 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 values. When this happens, a router that has modified its
metric in response to receiving a Reverse Metric TLV from its metric in response to receiving a Reverse Metric TLV from its
neighbor MUST revert to using its provisioned metric value. neighbor MUST revert to using its provisioned metric value.
In certain scenarios, two or more routers may start the RM signaling In certain scenarios, two or more routers may start the RM signaling
on the same link. This could create collision scenarios. The on the same link. This could create collision scenarios. The
following guidelines are RECOMMENDED for adoption to ensure that following guidelines are RECOMMENDED for adoption to ensure that
there is no instability in the network due to churn in their metric there is no instability in the network due to churn in their metric
caused by the signaling of RM: caused by the signaling of RM:
* The RM value that is signaled by a router to its neighbor should * The RM value that is signaled by a router to its neighbor should
not be derived from the reverse metric being signaled by any of not be derived from the RM being signaled by any of its neighbors
its neighbors on any of its links. on any of its links.
* The RM value that is signaled by a router should not be derived * The RM value that is signaled by a router to its neighbor should
from its metric which has been modified on account of an RM not be derived from the RM being signaled by any of its neighbors
signaled from any of its neighbors on any of its links. RM on any of its links. RM signaling from other routers can affect
signaling from other routers can affect the router's metric the router's metric advertised in its Router-LSA. When deriving
advertised in its Router-LSA. When deriving the RM values that a the RM values that a router signals to its neighbors, it should
router signals to its neighbors, it should use its provisioned use its provisioned local metric values not influenced by any RM
local metric values not influenced by any RM signaling. signaling.
Based on these guidelines, a router would not start, stop, or change 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
some other routers. Based on the local configuration policy, each routers. Based on the local configuration policy, each router would
router would end up accepting the RM value signaled by its neighbor end up accepting the RM value signaled by its neighbor and there
and there would be no churn of metrics on the link or the network on would be no churn of metrics on the link or the network on account of
account of RM signaling. RM signaling.
In certain use cases when symmetrical metrics are desired (e.g., when 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 Section 2.1), RM signaling may need to be enabled only described in Section 2.1), RM signaling may need to be enabled only
on the router at one end of a link. on the router at one end of a link.
When using multi-topology routing with OSPF [RFC4915], a router MAY When using multi-topology routing with OSPF [RFC4915], a router MAY
include multiple instances of the Reverse Metric TLV in the LLS block include multiple instances of the Reverse Metric TLV in the LLS block
of its Hello packet - one for each of the topologies for which it of its Hello packet (one for each of the topologies for which it
desires to signal the reverse metric. A router MUST NOT include more desires to signal the RM). A router MUST NOT include more than one
than one instance of this TLV per MTID. If more than a single instance of this TLV per MTID. If more than a single instance of
instance of this TLV per MTID is present, the receiving router MUST this TLV per MTID is present, the receiving router MUST only use the
only use the value from the first instance and ignore the others. value from the first instance and ignore the others.
In certain scenarios, the OSPF router may also require the 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 those described above, the Reverse TE Metric TLV MAY be used to
signal the reverse TE metric for router links. The neighbor MUST use signal the reverse TE metric for router links. The neighbor MUST use
the reverse TE metric value to derive the TE metric advertised in the the reverse TE metric value to derive the TE metric advertised in the
TE Metric sub-TLV of the Link TLV in its TE Opaque LSA [RFC3630] when TE Metric sub-TLV of the Link TLV in its TE Opaque LSA [RFC3630] when
the reverse metric feature is enabled (refer Section 7 for details on the reverse metric feature is enabled (refer Section 7 for details on
enablement of RM). The rules for doing so are analogous to those enablement of RM). The rules for doing so are analogous to those
given above for the Router-LSA. given above for the Router-LSA.
7. Operational Guidelines 7. Operational Guidelines
The signaled reverse metric does not alter the OSPF metric parameters The signaled RM does not alter the OSPF metric parameters stored in a
stored in a receiving router's persistent provisioning database. receiving router's persistent provisioning database.
Routers that receive a reverse metric advertisement SHOULD log an Routers that receive a RM advertisement SHOULD log an event to notify
event to notify system administration. This will assist in rapidly system administration. This will assist in rapidly identifying the
identifying the node in the network that is advertising an OSPF node in the network that is advertising an OSPF metric or TE metric
metric or TE metric different from that which is configured locally different from what is configured locally on the device.
on the device.
When the link TE metric is raised to the maximum value, either due to 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
SHOULD immediately trigger the CSPF (Constrained Shortest Path First) immediately trigger the CSPF (Constrained Shortest Path First)
recalculation to move the TE traffic away from that link. recalculation to move the TE traffic away from that link.
An implementation MUST NOT signal reverse metric to neighbors by An implementation MUST NOT signal RM to neighbors by default and MUST
default and MUST provide a configuration option to enable the provide a configuration option to enable the signaling of RM on
signaling of reverse metric on specific links. An implementation specific links. An implementation MUST NOT accept the RM from its
MUST NOT accept the RM from its neighbors by default. An neighbors by default. An implementation MAY provide configuration to
implementation MAY provide configuration to accept the RM globally on accept the RM globally on the device, or per area, but an
the device, or per area, but an implementation MUST support implementation MUST support configuration to enable/disable
configuration to enable/disable acceptance of the RM from neighbors acceptance of the RM from neighbors on specific links. This is to
on specific links. This is to safeguard against inadvertent use of safeguard against inadvertent use of RM.
RM.
For the use case in Section 2.1, it is RECOMMENDED that the network For the use case in Section 2.1, it is RECOMMENDED that the network
operator limits the period of enablement of the reverse metric operator limit the period of enablement of the reverse metric
mechanism to be only the duration of a network maintenance window. mechanism to be only the duration of a network maintenance window.
[I-D.ietf-ospf-yang] specifies the base OSPF YANG model. The [RFC9129] specifies the base OSPF YANG data model. The required
required configuration and operational elements for this feature are configuration and operational elements for this feature are expected
expected to be introduced as an augmentation to this base OSPF YANG to be introduced as an augmentation to this base OSPF YANG data
model. model.
8. Backward Compatibility 8. Backward Compatibility
The signaling specified in this document happens at a link-local The signaling specified in this document happens at a link-local
level between routers on that link. A router that does not support level between routers on that link. A router that does not support
this specification would ignore the Reverse Metric and Reverse TE this specification would ignore the Reverse Metric and Reverse TE
Metric LLS TLVs and not update its metric(s) in the other LSAs. As a Metric LLS TLVs and not update its metric(s) in the other LSAs. As a
result, the behavior would be the same as prior to this result, the behavior would be the same as prior to this
specification. Therefore, there are no backward compatibility specification. Therefore, there are no backward compatibility
related issues or considerations that need to be taken care of when related issues or considerations that need to be taken care of when
implementing this specification. implementing this specification.
9. IANA Considerations 9. IANA Considerations
This document allocates code points from the "Link Local Signalling IANA has registered code points from the "Link Local Signalling TLV
TLV Identifiers" registry in the "Open Shortest Path First (OSPF) Identifiers (LLS Types)" registry in the "Open Shortest Path First
Link Local Signalling (LLS) - Type/Length/Value Identifiers (TLV)" (OSPF) Link Local Signalling (LLS) - Type/Length/Value Identifiers
registry group for the TLVs introduced. (TLV)" registry group for the TLVs introduced in this document as
follows:
IANA is requested to make permanent the following code points that
have been assigned via early allocation
o 19 - Reverse Metric TLV * 19 - Reverse Metric TLV
o 20 - Reverse TE Metric TLV * 20 - Reverse TE Metric TLV
10. Security Considerations 10. Security Considerations
The security considerations for "OSPF Link-Local Signaling" [RFC5613] The security considerations for "OSPF Link-Local Signaling" [RFC5613]
also apply to the extension described in this document. The usage of also apply to the extension described in this document. The purpose
the reverse metric TLVs is to alter the metrics used by routers on of using the reverse metric TLVs is to alter the metrics used by
the link and influence the flow and routing of traffic over the routers on the link and influence the flow and routing of traffic
network. Hence, modification of the Reverse Metric and Reverse TE over the network. Hence, modification of the Reverse Metric and
Metric TLVs may result in misrouting of traffic. If authentication Reverse TE Metric TLVs may result in traffic being misrouted. If
is being used in the OSPFv2 routing domain [RFC5709][RFC7474], then authentication is being used in the OSPFv2 routing domain
the Cryptographic Authentication TLV [RFC5613] MUST also be used to [RFC5709][RFC7474], then the Cryptographic Authentication TLV
protect the contents of the LLS block. [RFC5613] MUST also be used to protect the contents of the LLS block.
A router that is misbehaving or misconfigured, may end up signaling A router that is misbehaving or misconfigured may end up signaling
varying values of reverse metrics or toggle the state of reverse varying values of RMs or toggle the state of RM. This can result in
metric. This can result in a neighbor router having to frequently a neighbor router having to frequently update its Router LSA, causing
update its Router LSA causing network churn and instability despite network churn and instability despite existing OSPF protocol
existing OSPF protocol mechanisms (e.g., MinLSInterval, and mechanisms (e.g., MinLSInterval, and [RFC8405]). It is RECOMMENDED
[RFC8405]). It is RECOMMENDED that implementations support the that implementations support the detection of frequent changes in RM
detection of frequent changes in reverse metric signaling and ignore signaling and ignore the RM (i.e., revert to using their provisioned
the reverse metric (i.e., revert to using their provisioned metric metric value) during such conditions.
value) during such conditions.
The reception of malformed LLS TLVs or sub-TLVs SHOULD be logged, but The reception of malformed LLS TLVs or sub-TLVs SHOULD be logged, but
such logging MUST be rate-limited to prevent denial-of-service (DoS) such logging MUST be rate-limited to prevent Denial of Service (DoS)
attacks. attacks.
11. Acknowledgements 11. References
The authors would like to thanks Jay Karthik for his contributions to
the use cases and the review of the solution.
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.
The document leverages the concept of Reverse Metric for IS-IS, its
related use cases, and applicability aspects from [RFC8500].
12. References
12.1. Normative References 11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
DOI 10.17487/RFC2328, April 1998, DOI 10.17487/RFC2328, April 1998,
<https://www.rfc-editor.org/info/rfc2328>. <https://www.rfc-editor.org/info/rfc2328>.
skipping to change at page 12, line 9 skipping to change at line 487
[RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. [RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D.
Yeung, "OSPF Link-Local Signaling", RFC 5613, Yeung, "OSPF Link-Local Signaling", RFC 5613,
DOI 10.17487/RFC5613, August 2009, DOI 10.17487/RFC5613, August 2009,
<https://www.rfc-editor.org/info/rfc5613>. <https://www.rfc-editor.org/info/rfc5613>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
12.2. Informative References 11.2. Informative References
[CLOS] Clos, C., "A Study of Non-Blocking Switching Networks:
Bell System Technical Journal Vol. 32(2)", March 1953.
[I-D.ietf-ospf-yang] [CLOS] Clos, C., "A study of non-blocking switching networks",
Yeung, D., Qu, Y., Zhang, J., Chen, I., and A. Lindem, The Bell System Technical Journal, Vol. 32, Issue 2,
"YANG Data Model for OSPF Protocol", Work in Progress, DOI 10.1002/j.1538-7305.1953.tb01433.x, March 1953,
Internet-Draft, draft-ietf-ospf-yang-29, 17 October 2019, <https://doi.org/10.1002/j.1538-7305.1953.tb01433.x>.
<https://www.ietf.org/archive/id/draft-ietf-ospf-yang-
29.txt>.
[RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
RFC 4915, DOI 10.17487/RFC4915, June 2007, RFC 4915, DOI 10.17487/RFC4915, June 2007,
<https://www.rfc-editor.org/info/rfc4915>. <https://www.rfc-editor.org/info/rfc4915>.
[RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M.,
Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic
Authentication", RFC 5709, DOI 10.17487/RFC5709, October Authentication", RFC 5709, DOI 10.17487/RFC5709, October
2009, <https://www.rfc-editor.org/info/rfc5709>. 2009, <https://www.rfc-editor.org/info/rfc5709>.
skipping to change at page 13, line 9 skipping to change at line 528
[RFC8405] Decraene, B., Litkowski, S., Gredler, H., Lindem, A., [RFC8405] Decraene, B., Litkowski, S., Gredler, H., Lindem, A.,
Francois, P., and C. Bowers, "Shortest Path First (SPF) Francois, P., and C. Bowers, "Shortest Path First (SPF)
Back-Off Delay Algorithm for Link-State IGPs", RFC 8405, Back-Off Delay Algorithm for Link-State IGPs", RFC 8405,
DOI 10.17487/RFC8405, June 2018, DOI 10.17487/RFC8405, June 2018,
<https://www.rfc-editor.org/info/rfc8405>. <https://www.rfc-editor.org/info/rfc8405>.
[RFC8500] Shen, N., Amante, S., and M. Abrahamsson, "IS-IS Routing [RFC8500] Shen, N., Amante, S., and M. Abrahamsson, "IS-IS Routing
with Reverse Metric", RFC 8500, DOI 10.17487/RFC8500, with Reverse Metric", RFC 8500, DOI 10.17487/RFC8500,
February 2019, <https://www.rfc-editor.org/info/rfc8500>. February 2019, <https://www.rfc-editor.org/info/rfc8500>.
[RFC9129] Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem,
"YANG Data Model for the OSPF Protocol", RFC 9129,
DOI 10.17487/RFC9129, October 2022,
<https://www.rfc-editor.org/info/rfc9129>.
Acknowledgements
The authors would like to thank:
* Jay Karthik for his contributions to the use cases and the review
of the solution.
* Les Ginsberg, Aijun Wang, Gyan Mishra, Matthew Bocci, Thomas
Fossati, and Steve Hanna for their review and feedback.
* Acee Lindem for a detailed shepherd's review and comments.
* John Scudder for his detailed AD review and suggestions for
improvement.
The document leverages the concept of RM for IS-IS, its related use
cases, and applicability aspects from [RFC8500].
Authors' Addresses Authors' Addresses
Ketan Talaulikar (editor) Ketan Talaulikar (editor)
Cisco Systems, Inc. Cisco Systems, Inc.
India India
Email: ketant.ietf@gmail.com Email: ketant.ietf@gmail.com
Peter Psenak Peter Psenak
Cisco Systems, Inc. Cisco Systems, Inc.
Apollo Business Center Apollo Business Center
Mlynske nivy 43 Mlynske nivy 43
821 09 Bratislava 821 09 Bratislava
Slovakia Slovakia
Email: ppsenak@cisco.com Email: ppsenak@cisco.com
Hugh Johnston Hugh Johnston
AT&T Labs AT&T Labs
United States of America United States of America
Email: hugh_johnston@labs.att.com Email: hugh.johnston@att.com
 End of changes. 69 change blocks. 
261 lines changed or deleted 257 lines changed or added

This html diff was produced by rfcdiff 1.48.