< draft-ietf-lsr-flex-algo-18.txt   draft-ietf-lsr-flex-algo-19.txt >
Network Working Group P. Psenak, Ed. Network Working Group P. Psenak, Ed.
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Intended status: Standards Track S. Hegde Intended status: Standards Track S. Hegde
Expires: April 28, 2022 Juniper Networks, Inc. Expires: October 9, 2022 Juniper Networks, Inc.
C. Filsfils C. Filsfils
K. Talaulikar
Cisco Systems, Inc. Cisco Systems, Inc.
K. Talaulikar
Arrcus, Inc
A. Gulko A. Gulko
Edward Jones Edward Jones
October 25, 2021 April 7, 2022
IGP Flexible Algorithm IGP Flexible Algorithm
draft-ietf-lsr-flex-algo-18 draft-ietf-lsr-flex-algo-19
Abstract Abstract
IGP protocols traditionally compute best paths over the network based IGP protocols traditionally compute best paths over the network based
on the IGP metric assigned to the links. Many network deployments on the IGP metric assigned to the links. Many network deployments
use RSVP-TE based or Segment Routing based Traffic Engineering to use RSVP-TE based or Segment Routing based Traffic Engineering to
steer traffic over a path that is computed using different metrics or steer traffic over a path that is computed using different metrics or
constraints than the shortest IGP path. This document proposes a constraints than the shortest IGP path. This document proposes a
solution that allows IGPs themselves to compute constraint-based solution that allows IGPs themselves to compute constraint-based
paths over the network. This document also specifies a way of using paths over the network. This document also specifies a way of using
skipping to change at page 1, line 44 skipping to change at page 1, line 45
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 28, 2022. This Internet-Draft will expire on October 9, 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 31 skipping to change at page 2, line 31
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 5 4. Flexible Algorithm . . . . . . . . . . . . . . . . . . . . . 5
5. Flexible Algorithm Definition Advertisement . . . . . . . . . 6 5. Flexible Algorithm Definition Advertisement . . . . . . . . . 6
5.1. IS-IS Flexible Algorithm Definition Sub-TLV . . . . . . . 6 5.1. IS-IS Flexible Algorithm Definition Sub-TLV . . . . . . . 6
5.2. OSPF Flexible Algorithm Definition TLV . . . . . . . . . 8 5.2. OSPF Flexible Algorithm Definition TLV . . . . . . . . . 8
5.3. Common Handling of Flexible Algorithm Definition TLV . . 9 5.3. Common Handling of Flexible Algorithm Definition TLV . . 9
6. Sub-TLVs of IS-IS FAD Sub-TLV . . . . . . . . . . . . . . . . 10 6. Sub-TLVs of IS-IS FAD Sub-TLV . . . . . . . . . . . . . . . . 10
6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV . . 10 6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV . . 11
6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV 11 6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV 12
6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV 12 6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV 12
6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV . . . . 12 6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV . . . . 13
6.5. IS-IS Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 13 6.5. IS-IS Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 14
7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 14 7. Sub-TLVs of OSPF FAD TLV . . . . . . . . . . . . . . . . . . 15
7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 14 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV . . . 15
7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV . 15 7.2. OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV . 16
7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 15 7.3. OSPF Flexible Algorithm Include-All Admin Group Sub-TLV . 16
7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV . . . . 15 7.4. OSPF Flexible Algorithm Definition Flags Sub-TLV . . . . 16
7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 17 7.5. OSPF Flexible Algorithm Exclude SRLG Sub-TLV . . . . . . 17
8. IS-IS Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . 17 8. IS-IS Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . 18
9. OSPF Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 18 9. OSPF Flexible Algorithm Prefix Metric Sub-TLV . . . . . . . . 19
10. OSPF Flexible Algorithm ASBR Reachability Advertisement . . . 20 10. OSPF Flexible Algorithm ASBR Reachability Advertisement . . . 21
10.1. OSPFv2 Extended Inter-Area ASBR LSA . . . . . . . . . . 20 10.1. OSPFv2 Extended Inter-Area ASBR LSA . . . . . . . . . . 21
10.1.1. OSPFv2 Extended Inter-Area ASBR TLV . . . . . . . . 22 10.1.1. OSPFv2 Extended Inter-Area ASBR TLV . . . . . . . . 23
10.2. OSPF Flexible Algorithm ASBR Metric Sub-TLV . . . . . . 22 10.2. OSPF Flexible Algorithm ASBR Metric Sub-TLV . . . . . . 23
11. Advertisement of Node Participation in a Flex-Algorithm . . . 24 11. Advertisement of Node Participation in a Flex-Algorithm . . . 25
11.1. Advertisement of Node Participation for Segment Routing 25 11.1. Advertisement of Node Participation for Segment Routing 26
11.2. Advertisement of Node Participation for Other 11.2. Advertisement of Node Participation for Other
Applications . . . . . . . . . . . . . . . . . . . . . . 25 Applications . . . . . . . . . . . . . . . . . . . . . . 26
12. Advertisement of Link Attributes for Flex-Algorithm . . . . . 25 12. Advertisement of Link Attributes for Flex-Algorithm . . . . . 26
13. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 26 13. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 27
13.1. Multi-area and Multi-domain Considerations . . . . . . . 28 13.1. Multi-area and Multi-domain Considerations . . . . . . . 29
14. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 30 14. Flex-Algorithm and Forwarding Plane . . . . . . . . . . . . . 31
14.1. Segment Routing MPLS Forwarding for Flex-Algorithm . . . 31 14.1. Segment Routing MPLS Forwarding for Flex-Algorithm . . . 32
14.2. SRv6 Forwarding for Flex-Algorithm . . . . . . . . . . . 31 14.2. SRv6 Forwarding for Flex-Algorithm . . . . . . . . . . . 32
14.3. Other Applications' Forwarding for Flex-Algorithm . . . 32 14.3. Other Applications' Forwarding for Flex-Algorithm . . . 33
15. Operational Considerations . . . . . . . . . . . . . . . . . 32 15. Operational Considerations . . . . . . . . . . . . . . . . . 33
15.1. Inter-area Considerations . . . . . . . . . . . . . . . 32 15.1. Inter-area Considerations . . . . . . . . . . . . . . . 33
15.2. Usage of SRLG Exclude Rule with Flex-Algorithm . . . . . 33 15.2. Usage of SRLG Exclude Rule with Flex-Algorithm . . . . . 34
15.3. Max-metric consideration . . . . . . . . . . . . . . . . 34 15.3. Max-metric consideration . . . . . . . . . . . . . . . . 35
16. Backward Compatibility . . . . . . . . . . . . . . . . . . . 34 16. Backward Compatibility . . . . . . . . . . . . . . . . . . . 35
17. Security Considerations . . . . . . . . . . . . . . . . . . . 34 17. Security Considerations . . . . . . . . . . . . . . . . . . . 35
18. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35 18. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36
18.1. IGP IANA Considerations . . . . . . . . . . . . . . . . 35 18.1. IGP IANA Considerations . . . . . . . . . . . . . . . . 36
18.1.1. IGP Algorithm Types Registry . . . . . . . . . . . . 35 18.1.1. IGP Algorithm Types Registry . . . . . . . . . . . . 36
18.1.2. IGP Metric-Type Registry . . . . . . . . . . . . . . 35 18.1.2. IGP Metric-Type Registry . . . . . . . . . . . . . . 36
18.2. Flexible Algorithm Definition Flags Registry . . . . . . 36 18.2. Flexible Algorithm Definition Flags Registry . . . . . . 37
18.3. IS-IS IANA Considerations . . . . . . . . . . . . . . . 36 18.3. IS-IS IANA Considerations . . . . . . . . . . . . . . . 37
18.3.1. Sub TLVs for Type 242 . . . . . . . . . . . . . . . 36 18.3.1. Sub TLVs for Type 242 . . . . . . . . . . . . . . . 37
18.3.2. Sub TLVs for for TLVs 135, 235, 236, and 237 . . . . 36 18.3.2. Sub TLVs for for TLVs 135, 235, 236, and 237 . . . . 37
18.3.3. Sub-Sub-TLVs for Flexible Algorithm Definition Sub- 18.3.3. Sub-Sub-TLVs for Flexible Algorithm Definition Sub-
TLV . . . . . . . . . . . . . . . . . . . . . . . . 36 TLV . . . . . . . . . . . . . . . . . . . . . . . . 37
18.4. OSPF IANA Considerations . . . . . . . . . . . . . . . . 37 18.4. OSPF IANA Considerations . . . . . . . . . . . . . . . . 38
18.4.1. OSPF Router Information (RI) TLVs Registry . . . . . 37 18.4.1. OSPF Router Information (RI) TLVs Registry . . . . . 38
18.4.2. OSPFv2 Extended Prefix TLV Sub-TLVs . . . . . . . . 38 18.4.2. OSPFv2 Extended Prefix TLV Sub-TLVs . . . . . . . . 39
18.4.3. OSPFv3 Extended-LSA Sub-TLVs . . . . . . . . . . . . 38 18.4.3. OSPFv3 Extended-LSA Sub-TLVs . . . . . . . . . . . . 39
18.4.4. OSPF Flex-Algorithm Prefix Metric Bits . . . . . . . 38 18.4.4. OSPF Flex-Algorithm Prefix Metric Bits . . . . . . . 39
18.4.5. OSPF Opaque LSA Option Types . . . . . . . . . . . . 38 18.4.5. OSPF Opaque LSA Option Types . . . . . . . . . . . . 39
18.4.6. OSPFv2 Externded Inter-Area ASBR TLVs . . . . . . . 39 18.4.6. OSPFv2 Externded Inter-Area ASBR TLVs . . . . . . . 40
18.4.7. OSPFv2 Inter-Area ASBR Sub-TLVs . . . . . . . . . . 39 18.4.7. OSPFv2 Inter-Area ASBR Sub-TLVs . . . . . . . . . . 40
18.4.8. OSPF Flexible Algorithm Definition TLV Sub-TLV 18.4.8. OSPF Flexible Algorithm Definition TLV Sub-TLV
Registry . . . . . . . . . . . . . . . . . . . . . . 39 Registry . . . . . . . . . . . . . . . . . . . . . . 40
18.4.9. Link Attribute Applications Registry . . . . . . . . 41 18.4.9. Link Attribute Applications Registry . . . . . . . . 42
19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 41 19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 42
20. References . . . . . . . . . . . . . . . . . . . . . . . . . 41 20. References . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.1. Normative References . . . . . . . . . . . . . . . . . . 41 20.1. Normative References . . . . . . . . . . . . . . . . . . 42
20.2. Informative References . . . . . . . . . . . . . . . . . 43 20.2. Informative References . . . . . . . . . . . . . . . . . 44
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46
1. Introduction 1. Introduction
An IGP-computed path based on the shortest IGP metric is often be An IGP-computed path based on the shortest IGP metric is often be
replaced by a traffic-engineered path due to the traffic requirements replaced by a traffic-engineered path due to the traffic requirements
which are not reflected by the IGP metric. Some networks engineer which are not reflected by the IGP metric. Some networks engineer
the IGP metric assignments in a way that the IGP metric reflects the the IGP metric assignments in a way that the IGP metric reflects the
link bandwidth or delay. If, for example, the IGP metric is link bandwidth or delay. If, for example, the IGP metric is
reflecting the bandwidth on the link and the application traffic is reflecting the bandwidth on the link and the application traffic is
delay sensitive, the best IGP path may not reflect the best path from delay sensitive, the best IGP path may not reflect the best path from
skipping to change at page 7, line 34 skipping to change at page 7, line 34
Calculation Type defined for the specified IGP Algorithm is used. Calculation Type defined for the specified IGP Algorithm is used.
The Metric/Constraints MUST NOT be inherited. If the required The Metric/Constraints MUST NOT be inherited. If the required
calculation type is Shortest Path First, the value 0 SHOULD appear calculation type is Shortest Path First, the value 0 SHOULD appear
in this field. in this field.
Priority: Value between 0 and 255 inclusive that specifies the Priority: Value between 0 and 255 inclusive that specifies the
priority of the advertisement. priority of the advertisement.
Sub-TLVs - optional sub-TLVs. Sub-TLVs - optional sub-TLVs.
The IS-IS FAD Sub-TLV MAY be advertised in an LSP of any number, but The IS-IS FAD Sub-TLV MAY be advertised in an LSP of any number. IS-
a router MUST NOT advertise more than one IS-IS FAD Sub-TLV for a IS router MAY advertise more than one IS-IS FAD Sub-TLV for a given
given Flexible-Algorithm. A router receiving multiple IS-IS FAD Sub- Flexible-Algorithm (see Section 6).
TLVs for a given Flexible-Algorithm from the same originator MUST
select the first advertisement in the lowest numbered LSP.
The IS-IS FAD Sub-TLV has an area scope. The Router Capability TLV The IS-IS FAD Sub-TLV has an area scope. The Router Capability TLV
in which the FAD Sub-TLV is present MUST have the S-bit clear. in which the FAD Sub-TLV is present MUST have the S-bit clear.
IS-IS L1/L2 router MAY be configured to re-generate the winning FAD IS-IS L1/L2 router MAY be configured to re-generate the winning FAD
from level 2, without any modification to it, to level 1 area. The from level 2, without any modification to it, to level 1 area. The
re-generation of the FAD Sub-TLV from level 2 to level 1 is re-generation 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 the level 2. In such case, the re-generated FAD advertisement in the level 2. In such case, the re-generated FAD
Sub-TLV will be advertised in the level 1 Router Capability TLV Sub-TLV will be advertised in the level 1 Router Capability TLV
skipping to change at page 9, line 4 skipping to change at page 8, line 49
1: Min Unidirectional Link Delay as defined in [RFC7471], 1: Min Unidirectional Link Delay as defined in [RFC7471],
section 4.2, encoded as application specific link attribute as section 4.2, encoded as application specific link attribute as
specified in [RFC8920] and Section 12 of this document. specified in [RFC8920] and Section 12 of this document.
2: Traffic Engineering metric as defined in [RFC3630], section 2: Traffic Engineering metric as defined in [RFC3630], section
2.5.5, encoded as application specific link attribute as 2.5.5, encoded as application specific link attribute as
specified in [RFC8920] and Section 12 of this document. specified in [RFC8920] and Section 12 of this document.
Calc-Type: as described in Section 5.1 Calc-Type: as described in Section 5.1
Priority: as described in Section 5.1
Priority: as described in Section 5.1
Sub-TLVs - optional sub-TLVs. Sub-TLVs - optional sub-TLVs.
When multiple OSPF FAD TLVs, for the same Flexible-Algorithm, are When multiple OSPF FAD TLVs, for the same Flexible-Algorithm, are
received from a given router, the receiver MUST use the first received from a given router, the receiver MUST use the first
occurrence of the TLV in the Router Information LSA. If the OSPF FAD occurrence of the TLV in the Router Information LSA. If the OSPF FAD
TLV, for the same Flex-Algorithm, appears in multiple Router TLV, for the same Flex-Algorithm, appears in multiple Router
Information LSAs that have different flooding scopes, the OSPF FAD Information LSAs that have different flooding scopes, the OSPF FAD
TLV in the Router Information LSA with the area-scoped flooding scope TLV in the Router Information LSA with the area-scoped flooding scope
MUST be used. If the OSPF FAD TLV, for the same algorithm, appears MUST be used. If the OSPF FAD TLV, for the same algorithm, appears
in multiple Router Information LSAs that have the same flooding in multiple Router Information LSAs that have the same flooding
skipping to change at page 10, line 23 skipping to change at page 10, line 22
allowed to advertise FAD for such Flex-Algorithm. Receiving routers allowed to advertise FAD for such Flex-Algorithm. Receiving routers
MUST consider FAD advertisement regardless of the Flex-Algorithm MUST consider FAD advertisement regardless of the Flex-Algorithm
participation of the FAD originator. participation of the FAD originator.
Any change in the Flex-Algorithm definition may result in temporary Any change in the Flex-Algorithm definition may result in temporary
disruption of traffic that is forwarded based on such Flex-Algorithm disruption of traffic that is forwarded based on such Flex-Algorithm
paths. The impact is similar to any other event that requires paths. The impact is similar to any other event that requires
network-wide convergence. network-wide convergence.
If a node is configured to participate in a particular Flexible- If a node is configured to participate in a particular Flexible-
Algorithm, but the selected Flex-Algorithm definition includes Algorithm, but there is no valid Flex-Algorithm definition available
for it, or the selected Flex-Algorithm definition includes
calculation-type, metric-type, constraint, flag, or Sub-TLV that is calculation-type, metric-type, constraint, flag, or Sub-TLV that is
not supported by the node, it MUST stop participating in such not supported by the node, it MUST stop participating in such
Flexible-Algorithm. That implies that it MUST NOT announce Flexible-Algorithm. That implies that it MUST NOT announce
participation for such Flexible-Algorithm as specified in Section 11 participation for such Flexible-Algorithm as specified in Section 11
and it MUST remove any forwarding state associated with it. and it MUST remove any forwarding state associated with it.
Flex-Algorithm definition is topology independent. It applies to all Flex-Algorithm definition is topology independent. It applies to all
topologies that a router participates in. topologies that a router participates in.
6. Sub-TLVs of IS-IS FAD Sub-TLV 6. Sub-TLVs of IS-IS FAD Sub-TLV
One of the limitations of IS-IS [ISO10589] is that the length of a
TLV/sub-TLV is limited to a maximum of 255 octets. For the FAD sub-
TLV, there are a number of sub-sub-TLVs (defined below) which are
supported. For a given Flex-Algorithm, it is possible that the total
number of octets required to completely define a FAD exceeds the
maximum length supported by a single FAD sub-TLV. In such cases, the
FAD may be split into multiple such sub-TLVs and the content of the
multiple FAD sub-TLVs combined to provide a complete FAD for the
Flex-Algorithm. In such case, the fixed portion of the FAD (see
Section 5.1) MUST be identical in all FAD sub-TLVs for a given Flex-
Algorithm from a given IS. In case the fixed portion of such FAD
Sub-TLVs differ, the values in the fixed portion in the FAD sub-TLV
in the first occurrence in the lowest numbered LSP from a given IS
MUST be used.
Any specification that introduces a new ISIS FAD sub-sub-TLV MUST
specify whether the FAD sub-TLV may appear multiple times in the set
of FAD sub-TLVs for a given Flex-Algorithm from a given IS and how to
handle them if multiple are allowed.
6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV 6.1. IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV
The Flexible Algorithm definition can specify 'colors' that are used The Flexible Algorithm definition can specify 'colors' that are used
by the operator to exclude links during the Flex-Algorithm path by the operator to exclude links during the Flex-Algorithm path
computation. computation.
The IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV is used to The IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV is used to
advertise the exclude rule that is used during the Flex-Algorithm advertise the exclude rule that is used during the Flex-Algorithm
path calculation as specified in Section 13. path calculation as specified in Section 13.
skipping to change at page 11, line 24 skipping to change at page 11, line 40
where: where:
Type: 1 Type: 1
Length: variable, dependent on the size of the Extended Admin Length: variable, dependent on the size of the Extended Admin
Group. MUST be a multiple of 4 octets. Group. MUST be a multiple of 4 octets.
Extended Administrative Group: Extended Administrative Group as Extended Administrative Group: Extended Administrative Group as
defined in [RFC7308]. defined in [RFC7308].
The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in an IS-IS The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in a single
FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV IS-IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-
MUST be ignored by the receiver. TLV MUST be ignored by the receiver.
The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in the set of
FAD sub-TLVs for a given Flex-Algorithm from a given IS. If it
appears more than once in such set, the IS-IS FAEAG Sub-TLV in the
first occurrence in the lowest numbered LSP from a given IS MUST be
used and any other occurrences MUST be ignored.
6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV 6.2. IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV
The Flexible Algorithm definition can specify 'colors' that are used The Flexible Algorithm definition can specify 'colors' that are used
by the operator to include links during the Flex-Algorithm path by the operator to include links during the Flex-Algorithm path
computation. computation.
The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV is used The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV is used
to advertise include-any rule that is used during the Flex-Algorithm to advertise include-any rule that is used during the Flex-Algorithm
path calculation as specified in Section 13. path calculation as specified in Section 13.
The format of the IS-IS Flexible Algorithm Include-Any Admin Group The format of the IS-IS Flexible Algorithm Include-Any Admin Group
Sub-TLV is identical to the format of the FAEAG Sub-TLV in Sub-TLV is identical to the format of the FAEAG Sub-TLV in
Section 6.1. Section 6.1.
The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV Type is The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV Type is
2. 2.
The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT
appear more than once in an IS-IS FAD Sub-TLV. If it appears more appear more than once in a single IS-IS FAD Sub-TLV. If it appears
than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiver. more than once, the IS-IS FAD Sub-TLV MUST be ignored by the
receiver.
The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT
appear more than once in the set of FAD sub-TLVs for a given Flex-
Algorithm from a given IS. If it appears more than once in such set,
the IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV in the
first occurrence in the lowest numbered LSP from a given IS MUST be
used and any other occurrences MUST be ignored.
6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV 6.3. IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV
The Flexible Algorithm definition can specify 'colors' that are used The Flexible Algorithm definition can specify 'colors' that are used
by the operator to include link during the Flex-Algorithm path by the operator to include link during the Flex-Algorithm path
computation. computation.
The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV is used The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV is used
to advertise include-all rule that is used during the Flex-Algorithm to advertise include-all rule that is used during the Flex-Algorithm
path calculation as specified in Section 13. path calculation as specified in Section 13.
The format of the IS-IS Flexible Algorithm Include-All Admin Group The format of the IS-IS Flexible Algorithm Include-All Admin Group
Sub-TLV is identical to the format of the FAEAG Sub-TLV in Sub-TLV is identical to the format of the FAEAG Sub-TLV in
Section 6.1. Section 6.1.
The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV Type is The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV Type is
3. 3.
The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT
appear more than once in an IS-IS FAD Sub-TLV. If it appears more appear more than once in a single IS-IS FAD Sub-TLV. If it appears
than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiver. more than once, the IS-IS FAD Sub-TLV MUST be ignored by the
receiver.
The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT
appear more than once in the set of FAD sub-TLVs for a given Flex-
Algorithm from a given IS. If it appears more than once in such set,
the IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV in the
first occurrence in the lowest numbered LSP from a given IS MUST be
used and any other occurrences MUST be ignored.
6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV 6.4. IS-IS Flexible Algorithm Definition Flags Sub-TLV
The IS-IS Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) The IS-IS Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV)
is a Sub-TLV of the IS-IS FAD Sub-TLV. It has the following format: is a Sub-TLV of the IS-IS FAD Sub-TLV. It has the 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 |
skipping to change at page 13, line 20 skipping to change at page 14, line 8
Bits are defined/sent starting with Bit 0 defined above. Additional Bits are defined/sent starting with Bit 0 defined above. Additional
bit definitions that may be defined in the future SHOULD be assigned bit definitions that may be defined in the future SHOULD be assigned
in ascending bit order so as to minimize the number of bits that will in ascending bit order so as to minimize the number of bits that will
need to be transmitted. need to be transmitted.
Undefined bits MUST be transmitted as 0. Undefined bits MUST be transmitted as 0.
Bits that are NOT transmitted MUST be treated as if they are set to 0 Bits that are NOT transmitted MUST be treated as if they are set to 0
on receipt. on receipt.
The IS-IS FADF Sub-TLV MUST NOT appear more than once in an IS-IS FAD The IS-IS FADF Sub-TLV MUST NOT appear more than once in a single IS-
Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV MUST be IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV
ignored by the receiver. MUST be ignored by the receiver.
The IS-IS FADF Sub-TLV MUST NOT appear more than once in the set of
FAD sub-TLVs for a given Flex-Algorithm from a given IS. If it
appears more than once in such set, the IS-IS FADF Sub-TLV in the
first occurrence in the lowest numbered LSP from a given IS MUST be
used and any other occurrences MUST be ignored.
If the IS-IS FADF Sub-TLV is not present inside the IS-IS FAD Sub- If the IS-IS FADF Sub-TLV is not present inside the IS-IS FAD Sub-
TLV, all the bits are assumed to be set to 0. TLV, all the bits are assumed to be set to 0.
If a node is configured to participate in a particular Flexible- If a node is configured to participate in a particular Flexible-
Algorithm, but the selected Flex-Algorithm definition includes a bit Algorithm, but the selected Flex-Algorithm definition includes a bit
in the IS-IS FADF Sub-TLV that is not supported by the node, it MUST in the IS-IS FADF Sub-TLV that is not supported by the node, it MUST
stop participating in such Flexible-Algorithm. stop participating in such Flexible-Algorithm.
New flag bits may be defined in the future. Implementations MUST New flag bits may be defined in the future. Implementations MUST
skipping to change at page 14, line 23 skipping to change at page 15, line 12
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
Type: 5 Type: 5
Length: variable, dependent on number of SRLG values. MUST be a Length: variable, dependent on number of SRLG values. MUST be a
multiple of 4 octets. multiple of 4 octets.
Shared Risk Link Group Value: SRLG value as defined in [RFC5307]. Shared Risk Link Group Value: SRLG value as defined in [RFC5307].
The IS-IS FAESRLG Sub-TLV MUST NOT appear more than once in an IS-IS The IS-IS FAESRLG Sub-TLV MUST NOT appear more than once in a single
FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV IS-IS FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-
MUST be ignored by the receiver. TLV MUST be ignored by the receiver.
The IS-IS FAESRLG Sub-TLV MAY appear more than once in the set of FAD
sub-TLVs for a given Flex-Algorithm from a given IS. This may be
necessary in cases where the total number of SRLG values which are
specified cause the FAD sub-TLV to exceed the maximum length of a
single FAD sub-TLV. In such case the receiver MUST use the union of
all values across all IS-IS FAESRLG Sub-TLVs from such set.
7. Sub-TLVs of OSPF FAD TLV 7. Sub-TLVs of OSPF FAD TLV
7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV 7.1. OSPF Flexible Algorithm Exclude Admin Group Sub-TLV
The Flexible Algorithm Exclude Admin Group Sub-TLV (FAEAG Sub-TLV) is The Flexible Algorithm Exclude Admin Group Sub-TLV (FAEAG Sub-TLV) is
a Sub-TLV of the OSPF FAD TLV. It's usage is described in a Sub-TLV of the OSPF FAD TLV. It's usage is described in
Section 6.1. It has the following format: Section 6.1. It has the following format:
0 1 2 3 0 1 2 3
skipping to change at page 43, line 42 skipping to change at page 44, line 42
[I-D.gulkohegde-routing-planes-using-sr] [I-D.gulkohegde-routing-planes-using-sr]
Hegde, S. and A. Gulko, "Separating Routing Planes using Hegde, S. and A. Gulko, "Separating Routing Planes using
Segment Routing", draft-gulkohegde-routing-planes-using- Segment Routing", draft-gulkohegde-routing-planes-using-
sr-00 (work in progress), March 2017. sr-00 (work in progress), March 2017.
[I-D.ietf-rtgwg-segment-routing-ti-lfa] [I-D.ietf-rtgwg-segment-routing-ti-lfa]
Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., Litkowski, S., Bashandy, A., Filsfils, C., Francois, P.,
Decraene, B., and D. Voyer, "Topology Independent Fast Decraene, B., and D. Voyer, "Topology Independent Fast
Reroute using Segment Routing", draft-ietf-rtgwg-segment- Reroute using Segment Routing", draft-ietf-rtgwg-segment-
routing-ti-lfa-07 (work in progress), June 2021. routing-ti-lfa-08 (work in progress), January 2022.
[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>.
[RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
skipping to change at page 45, line 42 skipping to change at page 46, line 42
Email: shraddha@juniper.net Email: shraddha@juniper.net
Clarence Filsfils Clarence Filsfils
Cisco Systems, Inc. Cisco Systems, Inc.
Brussels Brussels
Belgium Belgium
Email: cfilsfil@cisco.com Email: cfilsfil@cisco.com
Ketan Talaulikar Ketan Talaulikar
Cisco Systems, Inc. Arrcus, Inc
S.No. 154/6, Phase I, Hinjawadi
PUNE, MAHARASHTRA 411 057
India India
Email: ketant@cisco.com Email: ketant.ietf@gmail.com
Arkadiy Gulko Arkadiy Gulko
Edward Jones Edward Jones
Email: arkadiy.gulko@edwardjones.com Email: arkadiy.gulko@edwardjones.com
 End of changes. 26 change blocks. 
86 lines changed or deleted 139 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/