| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||