rfc9350v4.txt | rfc9350.txt | |||
---|---|---|---|---|
skipping to change at line 12 ¶ | skipping to change at line 12 ¶ | |||
Internet Engineering Task Force (IETF) P. Psenak, Ed. | Internet Engineering Task Force (IETF) P. Psenak, Ed. | |||
Request for Comments: 9350 Cisco Systems, Inc. | Request for Comments: 9350 Cisco Systems, Inc. | |||
Category: Standards Track S. Hegde | Category: Standards Track S. Hegde | |||
ISSN: 2070-1721 Juniper Networks, Inc. | ISSN: 2070-1721 Juniper Networks, Inc. | |||
C. Filsfils | C. Filsfils | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
K. Talaulikar | K. Talaulikar | |||
Cisco Systems, Inc | Cisco Systems, Inc | |||
A. Gulko | A. Gulko | |||
Edward Jones | Edward Jones | |||
January 2023 | February 2023 | |||
IGP Flexible Algorithm | IGP Flexible Algorithm | |||
Abstract | Abstract | |||
IGP protocols historically compute the best paths over the network | IGP protocols historically compute the best paths over the network | |||
based on the IGP metric assigned to the links. Many network | based on the IGP metric assigned to the links. Many network | |||
deployments use RSVP-TE or Segment Routing - Traffic Engineering (SR- | deployments use RSVP-TE or Segment Routing - Traffic Engineering (SR- | |||
TE) to steer traffic over a path that is computed using different | TE) to steer traffic over a path that is computed using different | |||
metrics or constraints than the shortest IGP path. This document | metrics or constraints than the shortest IGP path. This document | |||
skipping to change at line 324 ¶ | skipping to change at line 324 ¶ | |||
Priority: value between 0 and 255 inclusive that specifies the | Priority: value between 0 and 255 inclusive that specifies the | |||
priority of the advertisement. Numerically greater values are | priority of the advertisement. Numerically greater values are | |||
preferred. Usage of the priority is described in Section 5.3. | preferred. Usage of the priority is described in Section 5.3. | |||
Sub-TLVs: optional sub-TLVs. | Sub-TLVs: optional sub-TLVs. | |||
The IS-IS FAD sub-TLV MAY be advertised in a Label Switched Path | The IS-IS FAD sub-TLV MAY be advertised in a Label Switched Path | |||
(LSP) of any number. The IS-IS router MAY advertise more than one | (LSP) of any number. The IS-IS router MAY advertise more than one | |||
IS-IS FAD sub-TLV for a given Flexible Algorithm (see Section 6). | IS-IS FAD sub-TLV for a given Flexible Algorithm (see Section 6). | |||
The IS-IS FAD sub-TLV has an area scope. The Router Capability TLV | The IS-IS FAD sub-TLV has an area/level scope. The Router Capability | |||
in which the FAD sub-TLV is present MUST have the S bit clear. | TLV in which the FAD sub-TLV is present MUST have the S bit clear. | |||
An IS-IS L1/L2 router MAY be configured to regenerate the winning FAD | An IS-IS L1/L2 router MAY be configured to regenerate the winning FAD | |||
from level 2, without any modification to it, to the level 1 area. | from level 2, without any modification to it, to the level 1 area. | |||
The regeneration of the FAD sub-TLV from level 2 to level 1 is | The regeneration of the FAD sub-TLV from level 2 to level 1 is | |||
determined by the L1/L2 router, not by the originator of the FAD | determined by the L1/L2 router, not by the originator of the FAD | |||
advertisement in level 2. In such a case, the regenerated FAD sub- | advertisement in level 2. In such a case, the regenerated FAD sub- | |||
TLV will be advertised in the level 1 Router Capability TLV | TLV will be advertised in the level 1 Router Capability TLV | |||
originated by the L1/L2 router. | originated by the L1/L2 router. | |||
An L1/L2 router MUST NOT regenerate any FAD sub-TLV from level 1 to | An L1/L2 router MUST NOT regenerate any FAD sub-TLV from level 1 to | |||
skipping to change at line 957 ¶ | skipping to change at line 955 ¶ | |||
ignored. | ignored. | |||
If a prefix is advertised with a Flex-Algorithm prefix metric larger | If a prefix is advertised with a Flex-Algorithm prefix metric larger | |||
than MAX_PATH_METRIC, as defined in [RFC5305], this prefix MUST NOT | than MAX_PATH_METRIC, as defined in [RFC5305], this prefix MUST NOT | |||
be considered during the Flexible Algorithm computation. | be considered during the Flexible Algorithm computation. | |||
The usage of the Flex-Algorithm prefix metric is described in | The usage of the Flex-Algorithm prefix metric is described in | |||
Section 13. | Section 13. | |||
The IS-IS FAPM sub-TLV MUST NOT be advertised as a sub-TLV of the IS- | The IS-IS FAPM sub-TLV MUST NOT be advertised as a sub-TLV of the IS- | |||
IS SRv6 Locator TLV [RFCYYY1]. The IS-IS SRv6 Locator TLV includes | IS SRv6 Locator TLV [RFC9352]. The IS-IS SRv6 Locator TLV includes | |||
the Algorithm and Metric fields, which MUST be used instead. If the | the Algorithm and Metric fields, which MUST be used instead. If the | |||
FAPM sub-TLV is present as a sub-TLV of the IS-IS SRv6 Locator TLV in | FAPM sub-TLV is present as a sub-TLV of the IS-IS SRv6 Locator TLV in | |||
the received LSP, such FAPM sub-TLV MUST be ignored. | the received LSP, such FAPM sub-TLV MUST be ignored. | |||
9. OSPF Flexible Algorithm Prefix Metric Sub-TLV | 9. OSPF Flexible Algorithm Prefix Metric Sub-TLV | |||
The OSPF Flexible Algorithm Prefix Metric (FAPM) sub-TLV supports the | The OSPF Flexible Algorithm Prefix Metric (FAPM) sub-TLV supports the | |||
advertisement of a Flex-Algorithm-specific prefix metric associated | advertisement of a Flex-Algorithm-specific prefix metric associated | |||
with a given prefix advertisement. | with a given prefix advertisement. | |||
skipping to change at line 1514 ¶ | skipping to change at line 1512 ¶ | |||
unsigned 32-bit variable. In such scenarios, the value MUST be | unsigned 32-bit variable. In such scenarios, the value MUST be | |||
considered to be of value 0xFFFFFFFF during the computation and | considered to be of value 0xFFFFFFFF during the computation and | |||
advertised as such. | advertised as such. | |||
The FAPM MUST NOT be advertised with IS-IS L1 or L2 intra-area, | The FAPM MUST NOT be advertised with IS-IS L1 or L2 intra-area, | |||
OSPFv2 intra-area, or OSPFv3 intra-area routes. If the FAPM is | OSPFv2 intra-area, or OSPFv3 intra-area routes. If the FAPM is | |||
advertised for these route-types, it MUST be ignored during the | advertised for these route-types, it MUST be ignored during the | |||
prefix reachability calculation. | prefix reachability calculation. | |||
The M-flag in the FAD is not applicable to prefixes advertised as | The M-flag in the FAD is not applicable to prefixes advertised as | |||
SRv6 locators. The IS-IS SRv6 Locator TLV [RFCYYY1] includes the | SRv6 locators. The IS-IS SRv6 Locator TLV [RFC9352] includes the | |||
Algorithm and Metric fields. When the SRv6 Locator is advertised | Algorithm and Metric fields. When the SRv6 Locator is advertised | |||
between areas or domains, the Metric field in the Locator TLV of IS- | between areas or domains, the Metric field in the Locator TLV of IS- | |||
IS MUST be used irrespective of the M-flag in the FAD advertisement. | IS MUST be used irrespective of the M-flag in the FAD advertisement. | |||
OSPF external and NSSA external prefix advertisements MAY include a | OSPF external and NSSA external prefix advertisements MAY include a | |||
non-zero forwarding address in the prefix advertisements in the base | non-zero forwarding address in the prefix advertisements in the base | |||
protocol. In such a scenario, the Flex-Algorithm-specific | protocol. In such a scenario, the Flex-Algorithm-specific | |||
reachability of the external prefix is determined by Flex-Algorithm- | reachability of the external prefix is determined by Flex-Algorithm- | |||
specific reachability of the forwarding address. | specific reachability of the forwarding address. | |||
skipping to change at line 1596 ¶ | skipping to change at line 1594 ¶ | |||
14.2. SRv6 Forwarding for Flex-Algorithm | 14.2. SRv6 Forwarding for Flex-Algorithm | |||
This section describes how Flex-Algorithm paths are used with SRv6 | This section describes how Flex-Algorithm paths are used with SRv6 | |||
forwarding. | forwarding. | |||
In SRv6, a node is provisioned with a (topology, algorithm) specific | In SRv6, a node is provisioned with a (topology, algorithm) specific | |||
locator for each of the topology/algorithm pairs supported by that | locator for each of the topology/algorithm pairs supported by that | |||
node. Each locator is an aggregate prefix for all SIDs provisioned | node. Each locator is an aggregate prefix for all SIDs provisioned | |||
on that node that have the matching topology/algorithm. | on that node that have the matching topology/algorithm. | |||
The SRv6 locator advertisement in IS-IS [RFCYYY1] includes the Multi- | The SRv6 locator advertisement in IS-IS [RFC9352] includes the Multi- | |||
Topology Identifier (MTID) value that associates the locator with a | Topology Identifier (MTID) value that associates the locator with a | |||
specific topology. SRv6 locator advertisements also include an | specific topology. SRv6 locator advertisements also include an | |||
algorithm value that explicitly associates the locator with a | algorithm value that explicitly associates the locator with a | |||
specific algorithm. When the algorithm value advertised with a | specific algorithm. When the algorithm value advertised with a | |||
locator represents a Flex-Algorithm, the paths to the locator prefix | locator represents a Flex-Algorithm, the paths to the locator prefix | |||
MUST be calculated using the specified Flex-Algorithm in the | MUST be calculated using the specified Flex-Algorithm in the | |||
associated topology. | associated topology. | |||
Forwarding entries for the locator prefixes advertised in IS-IS MUST | Forwarding entries for the locator prefixes advertised in IS-IS MUST | |||
be installed in the forwarding plane of the receiving SRv6-capable | be installed in the forwarding plane of the receiving SRv6-capable | |||
skipping to change at line 1957 ¶ | skipping to change at line 1955 ¶ | |||
+=======+=========================================+==============+ | +=======+=========================================+==============+ | |||
| 26 | Flexible Algorithm Prefix Metric (FAPM) | RFC 9350, | | | 26 | Flexible Algorithm Prefix Metric (FAPM) | RFC 9350, | | |||
| | | Section 9 | | | | | Section 9 | | |||
+-------+-----------------------------------------+--------------+ | +-------+-----------------------------------------+--------------+ | |||
| 33 | OSPF Flexible Algorithm ASBR Metric | RFC 9350, | | | 33 | OSPF Flexible Algorithm ASBR Metric | RFC 9350, | | |||
| | | Section 10.2 | | | | | Section 10.2 | | |||
+-------+-----------------------------------------+--------------+ | +-------+-----------------------------------------+--------------+ | |||
Table 9: OSPFv3 Extended-LSA Sub-TLVs Registry | Table 9: OSPFv3 Extended-LSA Sub-TLVs Registry | |||
For both of these sub-TLVs, the column "L2BM" in the registry is set | ||||
to "X", meaning "sub-TLV is not a Router Link sub-TLV; it MUST NOT | ||||
appear in L2 Bundle Member sub-TLV". | ||||
18.4.4. OSPF Flex-Algorithm Prefix Metric Bits Registry | 18.4.4. OSPF Flex-Algorithm Prefix Metric Bits Registry | |||
IANA has created the "OSPF Flex-Algorithm Prefix Metric Bits" | IANA has created the "OSPF Flex-Algorithm Prefix Metric Bits" | |||
registry under the "Open Shortest Path First (OSPF) Parameters" | registry under the "Open Shortest Path First (OSPF) Parameters" | |||
registry. The registration procedure is "IETF Review". Bits 1-7 are | registry. The registration procedure is "IETF Review". Bits 1-7 are | |||
unassigned, and the initial value has been assigned as follows. | unassigned, and the initial value has been assigned as follows. | |||
+============+=======================+=====================+ | +============+=======================+=====================+ | |||
| Bit Number | Description | Reference | | | Bit Number | Description | Reference | | |||
+============+=======================+=====================+ | +============+=======================+=====================+ | |||
skipping to change at line 2180 ¶ | skipping to change at line 2174 ¶ | |||
[RFC8919] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | [RFC8919] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | |||
J. Drake, "IS-IS Application-Specific Link Attributes", | J. Drake, "IS-IS Application-Specific Link Attributes", | |||
RFC 8919, DOI 10.17487/RFC8919, October 2020, | RFC 8919, DOI 10.17487/RFC8919, October 2020, | |||
<https://www.rfc-editor.org/info/rfc8919>. | <https://www.rfc-editor.org/info/rfc8919>. | |||
[RFC8920] Psenak, P., Ed., Ginsberg, L., Henderickx, W., Tantsura, | [RFC8920] Psenak, P., Ed., Ginsberg, L., Henderickx, W., Tantsura, | |||
J., and J. Drake, "OSPF Application-Specific Link | J., and J. Drake, "OSPF Application-Specific Link | |||
Attributes", RFC 8920, DOI 10.17487/RFC8920, October 2020, | Attributes", RFC 8920, DOI 10.17487/RFC8920, October 2020, | |||
<https://www.rfc-editor.org/info/rfc8920>. | <https://www.rfc-editor.org/info/rfc8920>. | |||
[RFCYYY1] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., | [RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., | |||
and Z. Hu, "IS-IS Extension to Support Segment Routing | and Z. Hu, "IS-IS Extensions to Support Segment Routing | |||
over the IPv6 Data Plane", RFC YYY1, DOI 10.17487/RFCYYY1, | over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352, | |||
January 2023, <https://www.rfc-editor.org/info/rfcYYY1>. | February 2023, <https://www.rfc-editor.org/info/rfc9352>. | |||
19.2. Informative References | 19.2. Informative References | |||
[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>. | |||
[RFC3101] Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option", | [RFC3101] Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option", | |||
RFC 3101, DOI 10.17487/RFC3101, January 2003, | RFC 3101, DOI 10.17487/RFC3101, January 2003, | |||
<https://www.rfc-editor.org/info/rfc3101>. | <https://www.rfc-editor.org/info/rfc3101>. | |||
End of changes. 7 change blocks. | ||||
14 lines changed or deleted | 10 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |