rfc9502v4.txt   rfc9502.txt 
Internet Engineering Task Force (IETF) W. Britto Internet Engineering Task Force (IETF) W. Britto
Request for Comments: 9502 S. Hegde Request for Comments: 9502 S. Hegde
Category: Standards Track P. Kaneriya Category: Standards Track P. Kaneriya
ISSN: 2070-1721 R. Shetty ISSN: 2070-1721 R. Shetty
R. Bonica R. Bonica
Juniper Networks Juniper Networks
P. Psenak P. Psenak
Cisco Systems Cisco Systems
October 2023 November 2023
IGP Flexible Algorithm in IP Networks IGP Flexible Algorithm in IP Networks
Abstract Abstract
This document extends IGP Flexible Algorithm so that it can be used This document extends IGP Flexible Algorithm so that it can be used
with regular IPv4 and IPv6 forwarding. with regular IPv4 and IPv6 forwarding.
Status of This Memo Status of This Memo
skipping to change at line 53 skipping to change at line 53
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction 1. Introduction
2. Requirements Language 2. Requirements Language
3. Use Case Example 3. Use Case Example
4. Advertising Flexible Algorithm Definitions (FAD) 4. Advertising Flexible Algorithm Definitions (FADs)
5. Advertising IP Flexible Algorithm Participation 5. Advertising IP Flexible Algorithm Participation
5.1. The IS-IS IP Algorithm Sub-TLV 5.1. The IS-IS IP Algorithm Sub-TLV
5.2. The OSPF IP Algorithm TLV 5.2. The OSPF IP Algorithm TLV
6. Advertising IP Flexible Algorithm Reachability 6. Advertising IP Flexible Algorithm Reachability
6.1. The IS-IS IPv4 Algorithm Prefix Reachability TLV 6.1. The IS-IS IPv4 Algorithm Prefix Reachability TLV
6.2. The IS-IS IPv6 Algorithm Prefix Reachability TLV 6.2. The IS-IS IPv6 Algorithm Prefix Reachability TLV
6.3. The OSPFv2 IP Algorithm Prefix Reachability Sub-TLV 6.3. The OSPFv2 IP Algorithm Prefix Reachability Sub-TLV
6.3.1. The OSPFv2 IP Forwarding Address Sub-TLV 6.3.1. The OSPFv2 IP Forwarding Address Sub-TLV
6.4. The OSPFv3 IP Algorithm Prefix Reachability Sub-TLV 6.4. The OSPFv3 IP Algorithm Prefix Reachability Sub-TLV
6.5. The OSPF IP Flexible Algorithm ASBR Metric Sub-TLV 6.5. The OSPF IP Flexible Algorithm ASBR Metric Sub-TLV
skipping to change at line 129 skipping to change at line 129
traffic for different sessions is destined to a different destination traffic for different sessions is destined to a different destination
IP address. IP address.
The IP address allocated to the UPF can be associated with an The IP address allocated to the UPF can be associated with an
algorithm. The mobile user traffic is then forwarded along the path algorithm. The mobile user traffic is then forwarded along the path
based on the algorithm-specific metric and constraints. As a result, based on the algorithm-specific metric and constraints. As a result,
traffic can be sent over a path that is optimized for minimal latency traffic can be sent over a path that is optimized for minimal latency
or highest bandwidth. This mechanism is used to achieve Service or highest bandwidth. This mechanism is used to achieve Service
Level Agreement (SLA) appropriate for a user session. Level Agreement (SLA) appropriate for a user session.
4. Advertising Flexible Algorithm Definitions (FAD) 4. Advertising Flexible Algorithm Definitions (FADs)
To guarantee loop-free forwarding, all routers that participate in a To guarantee loop-free forwarding, all routers that participate in a
Flex-Algorithm MUST agree on the Flex-Algorithm Definition (FAD). Flex-Algorithm MUST agree on the Flexible Algorithm Definition (FAD).
Selected nodes within the IGP domain MUST advertise FADs as described Selected nodes within the IGP domain MUST advertise FADs as described
in Sections 5, 6, and 7 of [RFC9350]. in Sections 5, 6, and 7 of [RFC9350].
5. Advertising IP Flexible Algorithm Participation 5. Advertising IP Flexible Algorithm Participation
A node may use various algorithms when calculating paths to nodes and A node may use various algorithms when calculating paths to nodes and
prefixes. Algorithm values are defined in the "IGP Algorithm Types" prefixes. Algorithm values are defined in the "IGP Algorithm Types"
registry [IANA-ALG]. registry [IANA-ALG].
Only a node that is participating in a Flex-Algorithm is: Only a node that is participating in a Flex-Algorithm is:
* Able to compute a path for such Flex-Algorithm * Able to compute a path for such Flex-Algorithm
* Part of the topology for such Flex-Algorithm * Part of the topology for such Flex-Algorithm
Flexible Algorithm participation MUST be advertised for each Flexibel Flexible Algorithm participation MUST be advertised for each Flexible
Algorithm data plane independently, as specified in [RFC9350]. Using Algorithm data plane independently, as specified in [RFC9350]. Using
Flexible Algorithm for regular IPv4 and IPv6 prefixes represents an Flexible Algorithm for regular IPv4 and IPv6 prefixes represents an
independent Flexible Algorithm data plane; as such, the Flexible independent Flexible Algorithm data plane; as such, the Flexible
Algorithm participation for the IP Flexible Algorithm data plane MUST Algorithm participation for the IP Flexible Algorithm data plane MUST
be signaled independently of any other Flexible Algorithm data plane be signaled independently of any other Flexible Algorithm data plane
(e.g., SR). (e.g., SR).
All routers in an IGP domain participate in default algorithm 0. All routers in an IGP domain participate in default algorithm 0.
Advertisement of participation in IP Flex-Algorithm does not impact Advertisement of participation in IP Flexible Algorithm does not
the router participation in default algorithm 0. impact the router participation in default algorithm 0.
Advertisement of participation in IP Flexible Algorithm does not Advertisement of participation in IP Flexible Algorithm does not
impact the router participation signaled for other data planes. For impact the router participation signaled for other data planes. For
example, it is possible that a router participates in a particular example, it is possible that a router participates in a particular
Flex-Algorithm for the IP data plane but does not participate in the Flex-Algorithm for the IP data plane but does not participate in the
same Flex-Algorithm for the SR data plane. same Flex-Algorithm for the SR data plane.
The following sections describe how the IP Flexible Algorithm The following sections describe how the IP Flexible Algorithm
participation is advertised in IGP protocols. participation is advertised in IGP protocols.
skipping to change at line 445 skipping to change at line 445
Flags (1 octet): The following flags are defined: Flags (1 octet): The following flags are defined:
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
|E| Reserved | |E| Reserved |
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
Where: Where:
E bit: The same as the E bit defined in Section A.4.5 of E bit: The same as the E bit defined in Appendix A.4.5 of
[RFC2328]. [RFC2328].
The remaining bits: Are reserved for future use. They MUST be The remaining bits: Are reserved for future use. They MUST be
set to zero on transmission and MUST be ignored on receipt. set to zero on transmission and MUST be ignored on receipt.
Reserved (1 octet): SHOULD be set to 0 on transmission and MUST be Reserved (1 octet): SHOULD be set to 0 on transmission and MUST be
ignored on reception. ignored on reception.
Metric (4 octets): The algorithm-specific metric value. The metric Metric (4 octets): The algorithm-specific metric value. The metric
value of 0XFFFFFFFF MUST be considered unreachable. value of 0XFFFFFFFF MUST be considered unreachable.
skipping to change at line 513 skipping to change at line 513
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Forwarding Address | | Forwarding Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: OSPFv2 IP Forwarding Address Sub-TLV Figure 6: OSPFv2 IP Forwarding Address Sub-TLV
Type (2 octets): The value is 7 Type (2 octets): The value is 7
Length (2 octets): 4 Length (2 octets): 4
Forwarding Address (4 octets): The same as defined in Section A.4.5 Forwarding Address (4 octets): The same as defined in Appendix A.4.5
of [RFC2328] of [RFC2328]
The OSPFv2 IP Forwarding Address Sub-TLV MUST NOT be used for The OSPFv2 IP Forwarding Address Sub-TLV MUST NOT be used for
computing algorithm 0 prefix reachability and MUST be ignored for computing algorithm 0 prefix reachability and MUST be ignored for
algorithm 0 prefixes. algorithm 0 prefixes.
The OSPFv2 IP Forwarding Address Sub-TLV is optional. If it is not The OSPFv2 IP Forwarding Address Sub-TLV is optional. If it is not
present, the forwarding address for computing the IP Algorithm Prefix present, the forwarding address for computing the IP Algorithm Prefix
reachability is assumed to be equal to 0.0.0.0. reachability is assumed to be equal to 0.0.0.0.
skipping to change at line 697 skipping to change at line 697
Participation in the IP Flexible Algorithm is signaled as described Participation in the IP Flexible Algorithm is signaled as described
in Section 5 and is specific to the IP Flexible Algorithm data plane. in Section 5 and is specific to the IP Flexible Algorithm data plane.
Calculation of IP Flexible Algorithm paths follows what is described Calculation of IP Flexible Algorithm paths follows what is described
in [RFC9350]. This computation uses the IP Flexible Algorithm data in [RFC9350]. This computation uses the IP Flexible Algorithm data
plane participation and is independent of the Flexible Algorithm plane participation and is independent of the Flexible Algorithm
calculation done for any other Flexible Algorithm data plane (e.g., calculation done for any other Flexible Algorithm data plane (e.g.,
SR, SRv6). SR, SRv6).
The IP Flexibel Algorithm data plane only considers participating The IP Flexible Algorithm data plane only considers participating
nodes during the Flexible Algorithm calculation. When computing nodes during the Flexible Algorithm calculation. When computing
paths for a given Flex-Algorithm, all nodes that do not advertise paths for a given Flex-Algorithm, all nodes that do not advertise
participation for such IP Flex-Algorithm, as described in Section 5, participation for such IP Flex-Algorithm, as described in Section 5,
MUST be pruned from the topology. MUST be pruned from the topology.
8. IP Flexible Algorithm Forwarding 8. IP Flexible Algorithm Forwarding
The IP Algorithm Prefix Reachability advertisement as described in The IP Algorithm Prefix Reachability advertisement as described in
Section 5 includes the MTID value that associates the prefix with a Section 5 includes the MTID value that associates the prefix with a
specific topology. Algorithm Prefix Reachability advertisement also specific topology. Algorithm Prefix Reachability advertisement also
skipping to change at line 729 skipping to change at line 729
9. Deployment Considerations 9. Deployment Considerations
IGP Flexible Algorithm can be used by many data planes. The original IGP Flexible Algorithm can be used by many data planes. The original
specification was done for SR and SRv6; this specification adds IP as specification was done for SR and SRv6; this specification adds IP as
another data plane that can use IGP Flexible Algorithm. Other data another data plane that can use IGP Flexible Algorithm. Other data
planes may be defined in the future. This section provides some planes may be defined in the future. This section provides some
details about the coexistence of the various data planes of an IGP details about the coexistence of the various data planes of an IGP
Flexible Algorithm. Flexible Algorithm.
Flexibel Algorithm Definition (FAD), as described in [RFC9350], is Flexible Algorithm Definition (FAD), as described in [RFC9350], is
data plane independent and is used by all Flexible Algorithm data data plane independent and is used by all Flexible Algorithm data
planes. planes.
Participation in the Flexible Algorithm, as described in [RFC9350], Participation in the Flexible Algorithm, as described in [RFC9350],
is data plane specific. is data plane specific.
Calculation of the Flexible Algorithm paths is data plane specific Calculation of the Flexible Algorithm paths is data plane specific
and uses data-plane-specific participation advertisements. and uses data-plane-specific participation advertisements.
Data-plane-specific participation and calculation guarantee that the Data-plane-specific participation and calculation guarantee that the
skipping to change at line 776 skipping to change at line 776
LFA and R-LFA computations MUST be restricted to the Flex-Algorithm LFA and R-LFA computations MUST be restricted to the Flex-Algorithm
topology and the computed backup next hops should be programmed for topology and the computed backup next hops should be programmed for
the IP Flex-Algorithm prefixes. the IP Flex-Algorithm prefixes.
11. IANA Considerations 11. IANA Considerations
This specification updates the "OSPF Router Information (RI) TLVs" This specification updates the "OSPF Router Information (RI) TLVs"
registry as follows: registry as follows:
+=======+==============+========================+ +=======+==============+=======================+
| Value | TLV Name | Reference | | Value | TLV Name | Reference |
+=======+==============+========================+ +=======+==============+=======================+
| 21 | IP Algorithm | RFC 9502], Section 5.2 | | 21 | IP Algorithm | RFC 9502, Section 5.2 |
+-------+--------------+------------------------+ +-------+--------------+-----------------------+
Table 1 Table 1
This document also updates the "IS-IS Sub-TLVs for IS-IS Router This document also updates the "IS-IS Sub-TLVs for IS-IS Router
CAPABILITY TLV" registry as follows: CAPABILITY TLV" registry as follows:
+=======+==============+=======================+ +=======+==============+=======================+
| Value | TLV Name | Reference | | Value | TLV Name | Reference |
+=======+==============+=======================+ +=======+==============+=======================+
| 29 | IP Algorithm | RFC 9502, Section 5.1 | | 29 | IP Algorithm | RFC 9502, Section 5.1 |
+-------+--------------+-----------------------+ +-------+--------------+-----------------------+
skipping to change at line 1017 skipping to change at line 1017
DOI 10.17487/RFC9350, February 2023, DOI 10.17487/RFC9350, February 2023,
<https://www.rfc-editor.org/info/rfc9350>. <https://www.rfc-editor.org/info/rfc9350>.
[RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., [RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B.,
and Z. Hu, "IS-IS Extensions to Support Segment Routing and Z. Hu, "IS-IS Extensions to Support Segment Routing
over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352, over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352,
February 2023, <https://www.rfc-editor.org/info/rfc9352>. February 2023, <https://www.rfc-editor.org/info/rfc9352>.
13.2. Informative References 13.2. Informative References
[IANA-ALG] IANA, "IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV", [IANA-ALG] IANA, "IGP Algorithm Types",
<https://www.iana.org/assignments/igp-parameters>. <https://www.iana.org/assignments/igp-parameters>.
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
IP Fast Reroute: Loop-Free Alternates", RFC 5286, IP Fast Reroute: Loop-Free Alternates", RFC 5286,
DOI 10.17487/RFC5286, September 2008, DOI 10.17487/RFC5286, September 2008,
<https://www.rfc-editor.org/info/rfc5286>. <https://www.rfc-editor.org/info/rfc5286>.
[RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N.
So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)",
RFC 7490, DOI 10.17487/RFC7490, April 2015, RFC 7490, DOI 10.17487/RFC7490, April 2015,
 End of changes. 13 change blocks. 
18 lines changed or deleted 18 lines changed or added

This html diff was produced by rfcdiff 1.48.