draft-ietf-rtgwg-multihomed-prefix-lfa-02.txt | draft-ietf-rtgwg-multihomed-prefix-lfa-03.txt | |||
---|---|---|---|---|
Routing Area Working Group P. Sarkar, Ed. | Routing Area Working Group P. Sarkar, Ed. | |||
Internet-Draft Individual | Internet-Draft Arrcus, Inc. | |||
Updates: 5286 (if approved) S. Hegde | Updates: 5286 (if approved) S. Hegde | |||
Intended status: Standards Track C. Bowers | Intended status: Standards Track C. Bowers | |||
Expires: January 26, 2018 Juniper Networks, Inc. | Expires: May 3, 2018 Juniper Networks, Inc. | |||
U. Chunduri, Ed. | U. Chunduri, Ed. | |||
Huawei Technologies | Huawei Technologies | |||
J. Tantsura | J. Tantsura | |||
Individual | Individual | |||
B. Decraene | B. Decraene | |||
Orange | Orange | |||
H. Gredler | H. Gredler | |||
RtBrick, Inc. | RtBrick, Inc. | |||
July 25, 2017 | October 30, 2017 | |||
LFA selection for Multi-Homed Prefixes | LFA selection for Multi-Homed Prefixes | |||
draft-ietf-rtgwg-multihomed-prefix-lfa-02 | draft-ietf-rtgwg-multihomed-prefix-lfa-03 | |||
Abstract | Abstract | |||
This document shares experience gained from implementing algorithms | This document shares experience gained from implementing algorithms | |||
to determine Loop-Free Alternates for multi-homed prefixes. In | to determine Loop-Free Alternates for multi-homed prefixes. In | |||
particular, this document provides explicit inequalities that can be | particular, this document provides explicit inequalities that can be | |||
used to evaluate neighbors as a potential alternates for multi-homed | used to evaluate neighbors as a potential alternates for multi-homed | |||
prefixes. It also provides detailed criteria for evaluating | prefixes. It also provides detailed criteria for evaluating | |||
potential alternates for external prefixes advertised by OSPF ASBRs. | potential alternates for external prefixes advertised by OSPF ASBRs. | |||
This documents updates and expands some of the "Routing Aspects" as | This documents updates and expands some of the "Routing Aspects" as | |||
skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 46 ¶ | |||
document are to be interpreted as described in RFC2119 [RFC2119]. | document are to be interpreted as described in RFC2119 [RFC2119]. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 http://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 January 26, 2018. | This Internet-Draft will expire on May 3, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 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 | |||
(http://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 | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. LFA inequalities for MHPs . . . . . . . . . . . . . . . . . . 4 | 2. LFA inequalities for MHPs . . . . . . . . . . . . . . . . . . 4 | |||
3. LFA selection for the multi-homed prefixes . . . . . . . . . 4 | 3. LFA selection for the multi-homed prefixes . . . . . . . . . 4 | |||
3.1. Improved coverage with simplified approach to MHPs . . . 6 | 3.1. Improved coverage with simplified approach to MHPs . . . 6 | |||
3.2. IS-IS ATT Bit considerations . . . . . . . . . . . . . . 7 | 3.2. IS-IS ATT Bit considerations . . . . . . . . . . . . . . 8 | |||
4. LFA selection for the multi-homed external prefixes . . . . . 8 | 4. LFA selection for the multi-homed external prefixes . . . . . 8 | |||
4.1. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4.1. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
4.2. OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4.2. OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
4.2.1. Rules to select alternate ASBR . . . . . . . . . . . 8 | 4.2.1. Rules to select alternate ASBR . . . . . . . . . . . 9 | |||
4.2.2. Multiple ASBRs belonging different area . . . . . . . 9 | 4.2.2. Multiple ASBRs belonging different area . . . . . . . 10 | |||
4.2.3. Type 1 and Type 2 costs . . . . . . . . . . . . . . . 10 | 4.2.3. Type 1 and Type 2 costs . . . . . . . . . . . . . . . 11 | |||
4.2.4. RFC1583compatibility is set to enabled . . . . . . . 10 | 4.2.4. RFC1583compatibility is set to enabled . . . . . . . 11 | |||
4.2.5. Type 7 routes . . . . . . . . . . . . . . . . . . . . 10 | 4.2.5. Type 7 routes . . . . . . . . . . . . . . . . . . . . 11 | |||
4.2.6. Inequalities to be applied for alternate ASBR | 4.2.6. Inequalities to be applied for alternate ASBR | |||
selection . . . . . . . . . . . . . . . . . . . . . . 10 | selection . . . . . . . . . . . . . . . . . . . . . . 11 | |||
4.2.6.1. Forwarding address set to non-zero value . . . . 10 | 4.2.6.1. Forwarding address set to non-zero value . . . . 11 | |||
4.2.6.2. ASBRs advertising type1 and type2 cost . . . . . 11 | 4.2.6.2. ASBRs advertising type1 and type2 cost . . . . . 12 | |||
5. LFA Extended Procedures . . . . . . . . . . . . . . . . . . . 12 | 5. LFA Extended Procedures . . . . . . . . . . . . . . . . . . . 13 | |||
5.1. Links with IGP MAX_METRIC . . . . . . . . . . . . . . . . 12 | 5.1. Links with IGP MAX_METRIC . . . . . . . . . . . . . . . . 13 | |||
5.2. Multi Topology Considerations . . . . . . . . . . . . . . 13 | 5.2. Multi Topology Considerations . . . . . . . . . . . . . . 14 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 14 | 8.2. Informative References . . . . . . . . . . . . . . . . . 16 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
1. Introduction | 1. Introduction | |||
The use of Loop-Free Alternates (LFA) for IP Fast Reroute is | The use of Loop-Free Alternates (LFA) for IP Fast Reroute is | |||
specified in [RFC5286]. Section 6.1 of [RFC5286] describes a method | specified in [RFC5286]. Section 6.1 of [RFC5286] describes a method | |||
to determine loop-free alternates for a multi-homed prefixes (MHPs). | to determine loop-free alternates for a multi-homed prefixes (MHPs). | |||
This document describes a procedure using explicit inequalities that | This document describes a procedure using explicit inequalities that | |||
can be used by a computing router to evaluate a neighbor as a | can be used by a computing router to evaluate a neighbor as a | |||
potential alternate for a multi-homed prefix. The results obtained | potential alternate for a multi-homed prefix. The results obtained | |||
are equivalent to those obtained using the method described in | are equivalent to those obtained using the method described in | |||
skipping to change at page 3, line 45 ¶ | skipping to change at page 3, line 45 ¶ | |||
AF - Address Family | AF - Address Family | |||
ATT - IS-IS Attach Bit | ATT - IS-IS Attach Bit | |||
ECMP - Equal Cost Multi Path | ECMP - Equal Cost Multi Path | |||
IGP - Interior Gateway Protocol | IGP - Interior Gateway Protocol | |||
IS-IS - Intermediate System to Intermediate System | IS-IS - Intermediate System to Intermediate System | |||
LSP - IS-IS Link State PDU | ||||
OSPF - Open Shortest Path First | OSPF - Open Shortest Path First | |||
MHP - Multi-homed Prefix | MHP - Multi-homed Prefix | |||
MT - Multi Topology | MT - Multi Topology | |||
SPF - Shortest Path First PDU | SPF - Shortest Path First PDU | |||
2. LFA inequalities for MHPs | 2. LFA inequalities for MHPs | |||
This document proposes the following set of LFA inequalities for | This document proposes the following set of LFA inequalities for | |||
selecting the most appropriate LFAs for multi-homed prefixes (MHPs). | selecting the most appropriate LFAs for multi-homed prefixes (MHPs). | |||
They can be derived from the inequalities in [RFC5286] combined with | They can be derived from the inequalities in [RFC5286] combined with | |||
the observation that D_opt(N,P) = Min (D_opt(N,PO_i) + cost(PO_i,P)) | the observation that D_opt(N,P) = Min (D_opt(N,PO_i) + cost(PO_i,P)) | |||
over all PO_i | over all PO_i | |||
skipping to change at page 4, line 25 ¶ | skipping to change at page 4, line 26 ¶ | |||
D_opt(S,PO_best) + cost(PO_best,P) | D_opt(S,PO_best) + cost(PO_best,P) | |||
Link-Protection + Downstream-paths-only: | Link-Protection + Downstream-paths-only: | |||
D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(S,PO_best) + cost(PO_best,P) | D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(S,PO_best) + cost(PO_best,P) | |||
Node-Protection: | Node-Protection: | |||
D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,E) + | D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,E) + | |||
D_opt(E,PO_best) + cost(PO_best,P) | D_opt(E,PO_best) + cost(PO_best,P) | |||
Where, | Where, | |||
P - The multi-homed prefix being evaluated for | ||||
computing alternates | ||||
S - The computing router | S - The computing router | |||
N - The alternate router being evaluated | N - The alternate router being evaluated | |||
E - The primary next-hop on shortest path from S to | E - The primary next-hop on shortest path from S to | |||
prefix P. | prefix P. | |||
PO_i - The specific prefix-originating router being | PO_i - The specific prefix-originating router being | |||
evaluated. | evaluated. | |||
PO_best - The prefix-originating router on the shortest path | PO_best - The prefix-originating router on the shortest path | |||
from the computing router S to prefix P. | from the computing router S to prefix P. | |||
Cost (X,P) - Cost of reaching the prefix P from prefix | Cost (X,P) - Cost of reaching the prefix P from prefix | |||
originating node X. | originating node X. | |||
D_opt(X,Y) - Distance on the shortest path from node X to node | D_opt(X,Y) - Distance on the shortest path from node X to node | |||
Y. | Y. | |||
Figure 1: LFA inequalities for MHPs | Figure 1: LFA inequalities for MHPs | |||
3. LFA selection for the multi-homed prefixes | 3. LFA selection for the multi-homed prefixes | |||
To compute a valid LFA for a given multi-homed prefix P, through an | To compute a valid LFA for a given multi-homed prefix P, a computing | |||
alternate neighbor N a computing router S MUST follow one of the | router S MUST follow one of the appropriate procedures below, for | |||
appropriate procedures below. | each alternate neighbor N. | |||
Link-Protection : | Link-Protection : | |||
================= | ================= | |||
1. If alternate neighbor N is also prefix-originator of P, | 1. If alternate neighbor N is also prefix-originator of P, | |||
1.a. Select N as a LFA for prefix P (irrespective of | 1.a. Select N as a LFA for prefix P (irrespective of | |||
the metric advertised by N for the prefix P). | the metric advertised by N for the prefix P). | |||
2. Else, evaluate the link-protecting LFA inequality for P with | 2. Else, evaluate the link-protecting LFA inequality for P with | |||
the N as the alternate neighbor. | the N as the alternate neighbor. | |||
2.a. If LFA inequality condition is met, | 2.a. If LFA inequality condition is met, | |||
select N as a LFA for prefix P. | select N as a LFA for prefix P. | |||
skipping to change at page 5, line 38 ¶ | skipping to change at page 5, line 38 ¶ | |||
the metric advertised by N for the prefix P). | the metric advertised by N for the prefix P). | |||
2. Else, evaluate the appropriate node-protecting LFA inequality | 2. Else, evaluate the appropriate node-protecting LFA inequality | |||
for P with the N as the alternate neighbor. | for P with the N as the alternate neighbor. | |||
2.a. If LFA inequality condition is met, | 2.a. If LFA inequality condition is met, | |||
select N as a LFA for prefix P. | select N as a LFA for prefix P. | |||
2.b. Else, N is not a LFA for prefix P. | 2.b. Else, N is not a LFA for prefix P. | |||
Figure 2: Rules for selecting LFA for MHPs | Figure 2: Rules for selecting LFA for MHPs | |||
In case an alternate neighbor N is also one of the prefix-originators | In case an alternate neighbor N is also one of the prefix-originators | |||
of prefix P, N MAY be selected as a valid LFA for P. | of prefix P, N MAY be selected as a valid LFA for P since being a | |||
prefix-originator it is guaranteed that N will not loop back packets | ||||
destined for prefix P to computing router S. | ||||
However, if N is not a prefix-originator of P, the computing router | However, if N is not a prefix-originator of P, the computing router | |||
SHOULD evaluate one of the corresponding LFA inequalities, as | SHOULD evaluate one of the corresponding LFA inequalities, as | |||
mentioned in Figure 1, once for each remote node that originated the | mentioned in Figure 1, once for each remote node that originated the | |||
prefix. In case the inequality is satisfied by the neighbor N router | prefix. In case the inequality is satisfied by the neighbor N router | |||
S MUST choose neighbor N, as one of the valid LFAs for the prefix P. | S MUST choose neighbor N, as one of the valid LFAs for the prefix P. | |||
When computing a downstream-only LFA, in addition to being a prefix- | When computing a downstream-only LFA, in addition to being a prefix- | |||
originator of P, router N MUST also satisfy the downstream-only LFA | originator of P, router N MUST also satisfy the downstream-only LFA | |||
inequality specified in Figure 1. | inequality specified in Figure 1. | |||
skipping to change at page 6, line 25 ¶ | skipping to change at page 6, line 28 ¶ | |||
lower coverage. If an implementation chooses to simplify the multi- | lower coverage. If an implementation chooses to simplify the multi- | |||
homed prefix calculation by assuming that the MHP is solely attached | homed prefix calculation by assuming that the MHP is solely attached | |||
to the router that was its pre-failure optimal point of attachment, | to the router that was its pre-failure optimal point of attachment, | |||
the procedure described in this memo can potentially improve coverage | the procedure described in this memo can potentially improve coverage | |||
for equal cost multi path (ECMP) MHPs without incurring extra | for equal cost multi path (ECMP) MHPs without incurring extra | |||
computational cost. | computational cost. | |||
The approach specified in [RFC5286] Section 6.1 last paragraph, is to | The approach specified in [RFC5286] Section 6.1 last paragraph, is to | |||
simplify the MHP as solely attached to the router that was its pre- | simplify the MHP as solely attached to the router that was its pre- | |||
failure optimal point of attachment; though it is a scalable approach | failure optimal point of attachment; though it is a scalable approach | |||
and simplifies computation, [RFC5286] notes this may result in little | and simplifies computation, [RFC5286] notes this MAY result in little | |||
less coverage. | less coverage. | |||
This document improves the above approach to provide loop-free | This document improves the above approach to provide loop-free | |||
alternatives without any additional cost for equal cost multi path | alternatives without any additional cost for ECMP MHPs as described | |||
MHPs as described through the below example network. The approach | through the below example network. The approach specified here MAY | |||
specified here MAY also be applicable for handling default routes as | also be applicable for handling default routes as explained in | |||
explained in Section 3.2. | Section 3.2. | |||
5 +---+ 8 +---+ 5 +---+ | 5 +---+ 8 +---+ 5 +---+ | |||
+-----| S |------| A |-----| B | | +-----| S |------| A |-----| B | | |||
| +---+ +---+ +---+ | | +---+ +---+ +---+ | |||
| | | | | | | | |||
| 5 | 5 | | | 5 | 5 | | |||
| | | | | | | | |||
+---+ 5 +---+ 4 +---+ 1 +---+ | +---+ 5 +---+ 4 +---+ 1 +---+ | |||
| C |---| E |-----| M |-------| F | | | C |---| E |-----| M |-------| F | | |||
+---+ +---+ +---+ +---+ | +---+ +---+ +---+ +---+ | |||
skipping to change at page 7, line 15 ¶ | skipping to change at page 7, line 20 ¶ | |||
attachment and share the same primary next-hop. Hence, an | attachment and share the same primary next-hop. Hence, an | |||
implementation MAY compare the kind of protection A provides to F | implementation MAY compare the kind of protection A provides to F | |||
(link-and-node protection) with the kind of protection C provides to | (link-and-node protection) with the kind of protection C provides to | |||
E (link protection) and inherit the better alternative to prefix p | E (link protection) and inherit the better alternative to prefix p | |||
and here it is A. | and here it is A. | |||
However, in the below network prefix p has an ECMP through both node | However, in the below network prefix p has an ECMP through both node | |||
E and node F with cost 20. Though it has 2 pre-failure optimal | E and node F with cost 20. Though it has 2 pre-failure optimal | |||
points of attachment, the primary next-hop to each pre-failure | points of attachment, the primary next-hop to each pre-failure | |||
optimal point of attachment is different. In this case, prefix p | optimal point of attachment is different. In this case, prefix p | |||
shall inherit corresponding LFA to each primary next-hop calculated | MUST inherit corresponding LFAs of each primary next-hop calculated | |||
for the router advertising the same respectively (node E's and node | for the router advertising the same respectively. In the below | |||
F's LFA). | diagram that would be node E's and node F's LFA i.e., node N1 and | |||
node N2 respectively. | ||||
+---+ 3 +---+ | 4 +----+ | |||
| S |----------------| B | | +------------------| N2 | | |||
+---+ +---+ | | +----+ | |||
| | | | | 4 | |||
10 | 1 | | 10 +---+ 3 +---+ | |||
| | | +------| S |----------------| B | | |||
+---+ 6 +---+ | | +---+ +---+ | |||
| E |-----------------| F | | | | | | |||
+---+ +---+ | | 10 | 1 | | |||
| | | | ||||
+----+ 5 +---+ 16 +---+ | ||||
| N1 |----| E |-----------------| F | | ||||
+----+ +---+ +---+ | ||||
| 10 16 | | | 10 16 | | |||
+-----------p---------+ | +-----------p---------+ | |||
Figure 4: MHP with different ECMP Next-hops | Figure 4: MHP with different ECMP Next-hops | |||
In summary, if there are multiple pre-failure points of attachment | In summary, if there are multiple pre-failure points of attachment | |||
for a MHP and primary next-hop of a MHP is same as that of the | for a MHP and primary next-hop of a MHP is same as that of the | |||
primary next-hop of the router that was pre-failure optimal point of | primary next-hop of the router that was pre-failure optimal point of | |||
attachment, an implementation MAY provide the better protection to | attachment, an implementation MAY provide the better protection to | |||
MHP without incurring any additional computation cost. | MHP without incurring any additional computation cost. | |||
3.2. IS-IS ATT Bit considerations | 3.2. IS-IS ATT Bit considerations | |||
Per [RFC1195] a default route needs to be added in Level1 (L1) router | Per [RFC1195] a default route needs to be added in Level1 (L1) router | |||
to the closest reachable Level1/Level2 (L1/L2) router in the network | to the closest reachable Level1/Level2 (L1/L2) router in the network | |||
advertising ATT (attach) bit in its LSP-0 fragment. All L1 routers | advertising ATT (attach) bit in its LSP-0 fragment. All L1 routers | |||
in the area would do this during the decision process with the next- | in the area would do this during the decision process with the next- | |||
hop of the default route set to the adjacent router through which the | hop of the default route set to the adjacent router through which the | |||
closest L1/L2 router is reachable. The base LFA specification | closest L1/L2 router is reachable. The base LFA specification | |||
[RFC5286] does not specify any procedure for computing LFA for a | [RFC5286] does not specify any procedure for computing LFA for a | |||
default route in IS-IS L1 area. Potentially one MAY consider a | default route in IS-IS L1 area. This document specifies, potentially | |||
default route is being advertised from the border L1/L2 router where | a node MAY consider a default route is being advertised from the | |||
ATT bit is set and can do LFA computation for the default route. | border L1/L2 router where ATT bit is set and can do LFA computation | |||
for the default route. But, when multiple ECMP L1/L2 routers are | ||||
But, when multiple ECMP L1/L2 routers are reachable in an L1 area | reachable in an L1 area corresponding best LFAs SHOULD be given for | |||
corresponding best LFAs SHOULD be given for each primary next-hop | each primary next-hop associated with default route. Considerations | |||
associated with default route. Considerations as specified in | as specified in Section 3 and Section 3.1 are applicable for default | |||
Section 3 and Section 3.1 are applicable for default routes, if the | routes, if the default route is considered as ECMP MHP. Note that, | |||
default route is considered as ECMP MHP. | this document doesn't alter any ECMP handling rules or computation of | |||
LFAs for ECMP in general as laid out in [RFC5286]. | ||||
4. LFA selection for the multi-homed external prefixes | 4. LFA selection for the multi-homed external prefixes | |||
Redistribution of external routes into IGP is required in case of two | Redistribution of external routes into IGP is required in case of two | |||
different networks getting merged into one or during protocol | different networks getting merged into one or during protocol | |||
migrations. External routes could be distributed into an IGP domain | migrations. External routes could be distributed into an IGP domain | |||
via multiple nodes to avoid a single point of failure. | via multiple nodes to avoid a single point of failure. | |||
During LFA calculation, alternate LFA next-hops to reach the best | During LFA calculation, alternate LFA next-hops to reach the best | |||
ASBR could be used as LFA for the routes redistributed via that ASBR. | ASBR could be used as LFA for the routes redistributed via that ASBR. | |||
skipping to change at page 8, line 34 ¶ | skipping to change at page 8, line 48 ¶ | |||
distributing nodes in the network. | distributing nodes in the network. | |||
4.1. IS-IS | 4.1. IS-IS | |||
LFA evaluation for multi-homed external prefixes in IS-IS is similar | LFA evaluation for multi-homed external prefixes in IS-IS is similar | |||
to the multi-homed internal prefixes. Inequalities described in sec | to the multi-homed internal prefixes. Inequalities described in sec | |||
2 would also apply to multi-homed external prefixes as well. | 2 would also apply to multi-homed external prefixes as well. | |||
4.2. OSPF | 4.2. OSPF | |||
Loop free Alternates [RFC 5286] describes mechanisms to apply | Loop free Alternates [RFC5286] describes mechanisms to apply | |||
inequalities to find the loop free alternate neighbor. For the | inequalities to find the loop free alternate neighbor. For the | |||
selection of alternate ASBR for LFA consideration, additional rules | selection of alternate ASBR for LFA consideration, additional rules | |||
have to be applied in selecting the alternate ASBR due to the | have to be applied in selecting the alternate ASBR due to the | |||
external route calculation rules imposed by [RFC 2328]. | external route calculation rules imposed by [RFC2328]. | |||
This document also defines the inequalities defined in RFC [5286] | This document also defines the inequalities defined in [RFC5286] | |||
specifically for the alternate loop-free ASBR evaluation. | specifically for the alternate loop-free ASBR evaluation. | |||
4.2.1. Rules to select alternate ASBR | 4.2.1. Rules to select alternate ASBR | |||
The process to select an alternate ASBR is best explained using the | The process to select an alternate ASBR is best explained using the | |||
rules below. The below process is applied when primary ASBR for the | rules below. The below process is applied when primary ASBR for the | |||
concerned prefix is chosen and there is an alternate ASBR originating | concerned prefix is chosen and there is an alternate ASBR originating | |||
same prefix. | same prefix. | |||
1. If RFC1583Compatibility is disabled | 1. If RFC1583Compatibility is disabled | |||
1a. if primary ASBR and alternate ASBR are intra area | 1a. if primary ASBR and alternate ASBR are intra area | |||
non-backbone path go to step 2. | non-backbone path go to step 2. | |||
1b. If primary ASBR and alternate ASBR belong to | 1b. If primary ASBR and alternate ASBR belong to | |||
intra-area backbone and/or inter-area path go | intra-area backbone and/or inter-area path go | |||
to step 2. | to step 2. | |||
1c. for other paths, skip the alternate ASBR and | 1c. for other paths, skip this alternate ASBR and | |||
consider next ASBR. | consider next ASBR. | |||
2. If cost type (type1/type2) advertised by alternate | 2. If cost type (type1/type2) advertised by alternate | |||
ASBR same as primary | ASBR same as primary | |||
2a. If not same skip alternate ASBR and consider next ASBR. | 2a. If not, same skip alternate ASBR and consider | |||
next ASBR. | ||||
2b. If same proceed to step 3. | ||||
3. If cost type is type1 | 3. If cost type is type1 | |||
3a. If cost is same, program ECMP | 3a. If cost is same, program ECMP and return. | |||
3b. else go to step 5. | 3b. else go to step 5. | |||
4 If cost type is type 2 | 4 If cost type is type 2 | |||
4a. If cost is different, skip alternate ASBR and | 4a. If cost is different, skip alternate ASBR and | |||
consider next ASBR | consider next ASBR. | |||
4b. If type2 cost is same, compare type 1 cost. | 4b. If type2 cost is same, proceed to step 4c to compare | |||
4c. If type1 cost is also same program ECMP. | compare type 1 cost. | |||
4c. If type1 cost is also same program ECMP and return. | ||||
4d. If type 1 cost is different go to step 5. | 4d. If type 1 cost is different go to step 5. | |||
5. If route type (type 5/type 7) | 5. If route type (type 5/type 7) | |||
5a. If route type is same, check route p-bit, | 5a. If route type is same, check route p-bit, | |||
forwarding address field for routes from both | forwarding address field for routes from both | |||
ASBRs | ASBRs match. If p-bit matches proceed to step 6. | |||
match. If not skip alternate ASBR and consider | If not, skip this alternate ASBR and consider | |||
next ASBR. | next ASBR. | |||
5b. If route type is not same, skip ASBR | 5b. If route type is not same, skip this alternate ASBR | |||
and consider next ASBR. | and consider next alternate ASBR. | |||
6. Apply inequality on the alternate ASBR. | 6. Apply inequality on the alternate ASBR. | |||
Figure 5: Rules for selecting alternate ASBR in OSPF | Figure 5: Rules for selecting alternate ASBR in OSPF | |||
4.2.2. Multiple ASBRs belonging different area | 4.2.2. Multiple ASBRs belonging different area | |||
When "RFC1583compatibility" is set to disabled, OSPF[RFC2328] defines | When "RFC1583compatibility" is set to disabled, OSPF [RFC2328] | |||
certain rules of preference to choose the ASBRs. While selecting | defines certain rules of preference to choose the ASBRs. While | |||
alternate ASBR for loop evaluation for LFA, these rules should be | selecting alternate ASBR for loop evaluation for LFA, these rules | |||
applied and ensured that the alternate neighbor does not loop the | should be applied and ensured that the alternate neighbor does not | |||
traffic back. | loop the traffic back. | |||
When there are multiple ASBRs belonging to different area advertising | When there are multiple ASBRs belonging to different area advertising | |||
the same prefix, pruning rules as defined in RFC 2328 section 16.4.1 | the same prefix, pruning rules as defined in [RFC2328] section 16.4.1 | |||
are applied. The alternate ASBRs pruned using above rules are not | are applied. The alternate ASBRs pruned using above rules are not | |||
considered for LFA evaluation. | considered for LFA evaluation. | |||
4.2.3. Type 1 and Type 2 costs | 4.2.3. Type 1 and Type 2 costs | |||
If there are multiple ASBRs not pruned via rules defined in 3.2.2, | If there are multiple ASBRs not pruned via rules defined in 3.2.2, | |||
the cost type advertised by the ASBRs is compared. ASBRs advertising | the cost type advertised by the ASBRs is compared. ASBRs advertising | |||
Type1 costs are preferred and the type2 costs are pruned. If two | Type1 costs are preferred and the type2 costs are pruned. If two | |||
ASBRs advertise same type2 cost, the alternate ASBRs are considered | ASBRs advertise same type2 cost, the alternate ASBRs are considered | |||
along with their type1 cost for evaluation. If the two ASBRs with | along with their type1 cost for evaluation. If the two ASBRs with | |||
skipping to change at page 13, line 24 ¶ | skipping to change at page 14, line 24 ¶ | |||
+---+ | +---+ | |||
10 | | 10 | | |||
+---+ | +---+ | |||
|D2 | | |D2 | | |||
+---+ | +---+ | |||
Figure 8: Link with IGP MAX_METRIC | Figure 8: Link with IGP MAX_METRIC | |||
In the simple example network, all the link costs have a cost of 10 | In the simple example network, all the link costs have a cost of 10 | |||
in both directions, except for the link between S and N2. The S-N2 | in both directions, except for the link between S and N2. The S-N2 | |||
link has a cost of 10 in the direction from S to N2, and a cost of | link has a cost of 10 in the forward direction i.e., from S to N2, | |||
MAX_METRIC in the direction from N2 to S (0xffffff /2^24 - 1 for IS- | and a cost of MAX_METRIC (0xffffff /2^24 - 1 for IS-IS and 0xffff for | |||
IS and 0xffff for OSPF) for a specific end to end Traffic Engineering | OSPF) in the reverse direction i.e., from N2 to S for a specific end- | |||
(TE) requirement of the operator. At node S, D1 is reachable through | to-end Traffic Engineering (TE) requirement of the operator. At node | |||
N1 with cost 20, and D2 is reachable through N2 with cost 20. Even | S, D1 is reachable through N1 with cost 20, and D2 is reachable | |||
though neighbor N2 satisfies basic loop-free condition (inequality 1 | through N2 with cost 20. Even though neighbor N2 satisfies basic | |||
of [RFC5286]) for D1 this could be excluded as potential alternative | loop-free condition (inequality 1 of [RFC5286]) for D1, S's neighbor | |||
because of the current exclusions as specified in section 3.5 and 3.6 | N2 could be excluded as a potential alternative because of the | |||
procedure of [RFC5286]. But, as the primary traffic destined to D2 | current exclusions as specified in section 3.5 and 3.6 procedure of | |||
continue to use the link and hence irrespective of the reverse metric | [RFC5286]. But, as the primary traffic destined to D2 continue to | |||
in this case, the same link MAY be used as a potential LFA for D1. | use the link and hence irrespective of the reverse metric in this | |||
case, same link MAY be used as a potential LFA for D1. | ||||
Alternatively, reverse metric of the link MAY be configured with | Alternatively, reverse metric of the link MAY be configured with | |||
MAX_METRIC-1, so that the link can be used as an alternative while | MAX_METRIC-1, so that the link can be used as an alternative while | |||
meeting the TE requirements. | meeting the operator's TE requirements and without having to update | |||
the router to fix this particular issue. | ||||
5.2. Multi Topology Considerations | 5.2. Multi Topology Considerations | |||
Section 6.2 and 6.3.2 of [RFC5286] state that multi-topology OSPF and | Section 6.2 and 6.3.2 of [RFC5286] state that multi-topology OSPF and | |||
ISIS are out of scope for that specification. This memo clarifies | ISIS are out of scope for that specification. This memo clarifies | |||
and describes the applicability. | and describes the applicability. | |||
In Multi Topology (MT) IGP deployments, for each MT ID, a separate | In Multi Topology (MT) IGP deployments, for each MT ID, a separate | |||
shortest path tree (SPT) is built with topology specific adjacencies, | shortest path tree (SPT) is built with topology specific adjacencies, | |||
the LFA principles laid out in [RFC5286] are actually applicable for | the LFA principles laid out in [RFC5286] are actually applicable for | |||
MT IS-IS [RFC5120] LFA SPF. The primary difference in this case is, | MT IS-IS [RFC5120] LFA SPF. The primary difference in this case is, | |||
identifying the eligible-set of neighbors for each LFA computation | identifying the eligible-set of neighbors for each LFA computation | |||
which is done per MT ID. The eligible-set for each MT ID is | which is done per MT ID. The eligible-set for each MT ID is | |||
determined by the presence of IGP adjacency from Source to the | determined by the presence of IGP adjacency from Source to the | |||
neighboring node on that MT-ID apart from the administrative | neighboring node on that MT-ID apart from the administrative | |||
restrictions and other checks laid out in [RFC5286]. The same is | restrictions and other checks laid out in [RFC5286]. The same is | |||
also applicable for OSPF [RFC4915] [MT-OSPF] or different AFs in | also applicable for MT-OSPF [RFC4915] or different AFs in multi | |||
multi instance OSPFv3 [RFC5838]. | instance OSPFv3 [RFC5838]. | |||
However for MT IS-IS, if a default topology is used with MT-ID 0 | However for MT IS-IS, if a "standart topology" is used with MT-ID #0 | |||
[RFC5286] and both IPv4 [RFC5305] and IPv6 routes/AFs [RFC5308] are | [RFC5286] and both IPv4 [RFC5305] and IPv6 routes/AFs [RFC5308] are | |||
present, then the condition of network congruency is applicable for | present, then the condition of network congruency is applicable for | |||
LFA computation as well. Network congruency here refers to, having | LFA computation as well. Network congruency here refers to, having | |||
same address families provisioned on all the links and all the nodes | same address families provisioned on all the links and all the nodes | |||
of the network with MT-ID 0. Here with single decision process both | of the network with MT-ID #0. Here with single decision process both | |||
IPv4 and IPv6 next-hops are computed for all the prefixes in the | IPv4 and IPv6 next-hops are computed for all the prefixes in the | |||
network and similarly with one LFA computation from all eligible | network and similarly with one LFA computation from all eligible | |||
neighbors per [RFC5286], all potential alternatives can be computed. | neighbors per [RFC5286], all potential alternatives can be computed. | |||
6. Acknowledgements | 6. Acknowledgements | |||
Thanks to Alia Atlas and Salih K A for their useful feedback and | Thanks to Alia Atlas and Salih K A for their useful feedback and | |||
inputs. | inputs. Thanks to Stewart Bryant for being document shepherd and | |||
providing detailed review comments. | ||||
7. Security Considerations | 7. Security Considerations | |||
This document does not introduce any change in any of the protocol | This document does not introduce any change in any of the protocol | |||
specifications and also this does not introduce any new security | [RFC1195] [RFC5120] [RFC2328] [RFC5838] specifications discussed here | |||
issues other than as noted in the LFA base specification [RFC5286]. | and also this does not introduce any new security issues other than | |||
as noted in the LFA base specification [RFC5286]. | ||||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | ||||
dual environments", RFC 1195, DOI 10.17487/RFC1195, | ||||
December 1990, <http://www.rfc-editor.org/info/rfc1195>. | ||||
[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, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | ||||
IP Fast Reroute: Loop-Free Alternates", RFC 5286, | ||||
DOI 10.17487/RFC5286, September 2008, | ||||
<https://www.rfc-editor.org/info/rfc5286>. | ||||
8.2. Informative References | 8.2. Informative References | |||
[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | ||||
dual environments", RFC 1195, DOI 10.17487/RFC1195, | ||||
December 1990, <https://www.rfc-editor.org/info/rfc1195>. | ||||
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | ||||
DOI 10.17487/RFC2328, April 1998, | ||||
<https://www.rfc-editor.org/info/rfc2328>. | ||||
[RFC3137] Retana, A., Nguyen, L., White, R., Zinin, A., and D. | [RFC3137] Retana, A., Nguyen, L., White, R., Zinin, A., and D. | |||
McPherson, "OSPF Stub Router Advertisement", RFC 3137, | McPherson, "OSPF Stub Router Advertisement", RFC 3137, | |||
DOI 10.17487/RFC3137, June 2001, | DOI 10.17487/RFC3137, June 2001, | |||
<http://www.rfc-editor.org/info/rfc3137>. | <https://www.rfc-editor.org/info/rfc3137>. | |||
[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, | |||
<http://www.rfc-editor.org/info/rfc4915>. | <https://www.rfc-editor.org/info/rfc4915>. | |||
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | |||
Topology (MT) Routing in Intermediate System to | Topology (MT) Routing in Intermediate System to | |||
Intermediate Systems (IS-ISs)", RFC 5120, | Intermediate Systems (IS-ISs)", RFC 5120, | |||
DOI 10.17487/RFC5120, February 2008, | DOI 10.17487/RFC5120, February 2008, | |||
<http://www.rfc-editor.org/info/rfc5120>. | <https://www.rfc-editor.org/info/rfc5120>. | |||
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | ||||
IP Fast Reroute: Loop-Free Alternates", RFC 5286, | ||||
DOI 10.17487/RFC5286, September 2008, | ||||
<http://www.rfc-editor.org/info/rfc5286>. | ||||
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | |||
Engineering", RFC 5305, DOI 10.17487/RFC5305, October | Engineering", RFC 5305, DOI 10.17487/RFC5305, October | |||
2008, <http://www.rfc-editor.org/info/rfc5305>. | 2008, <https://www.rfc-editor.org/info/rfc5305>. | |||
[RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, | [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, | |||
DOI 10.17487/RFC5308, October 2008, | DOI 10.17487/RFC5308, October 2008, | |||
<http://www.rfc-editor.org/info/rfc5308>. | <https://www.rfc-editor.org/info/rfc5308>. | |||
[RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and | [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and | |||
R. Aggarwal, "Support of Address Families in OSPFv3", | R. Aggarwal, "Support of Address Families in OSPFv3", | |||
RFC 5838, DOI 10.17487/RFC5838, April 2010, | RFC 5838, DOI 10.17487/RFC5838, April 2010, | |||
<http://www.rfc-editor.org/info/rfc5838>. | <https://www.rfc-editor.org/info/rfc5838>. | |||
[RFC7916] Litkowski, S., Ed., Decraene, B., Filsfils, C., Raza, K., | ||||
Horneffer, M., and P. Sarkar, "Operational Management of | ||||
Loop-Free Alternates", RFC 7916, DOI 10.17487/RFC7916, | ||||
July 2016, <http://www.rfc-editor.org/info/rfc7916>. | ||||
Authors' Addresses | Authors' Addresses | |||
Pushpasis Sarkar (editor) | Pushpasis Sarkar (editor) | |||
Individual | Arrcus, Inc. | |||
Email: pushpasis.ietf@gmail.com | Email: pushpasis.ietf@gmail.com | |||
Shraddha Hegde | Shraddha Hegde | |||
Juniper Networks, Inc. | Juniper Networks, Inc. | |||
Electra, Exora Business Park | Electra, Exora Business Park | |||
Bangalore, KA 560103 | Bangalore, KA 560103 | |||
India | India | |||
Email: shraddha@juniper.net | Email: shraddha@juniper.net | |||
End of changes. 48 change blocks. | ||||
118 lines changed or deleted | 135 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |