| < draft-ietf-rtgwg-multihomed-prefix-lfa-07.txt | draft-ietf-rtgwg-multihomed-prefix-lfa-08.txt > | |||
|---|---|---|---|---|
| Routing Area Working Group P. Sarkar, Ed. | Routing Area Working Group P. Sarkar, Ed. | |||
| Internet-Draft Arrcus, Inc. | Internet-Draft Arrcus, Inc. | |||
| Updates: 5286 (if approved) U. Chunduri, Ed. | Updates: 5286 (if approved) U. Chunduri, Ed. | |||
| Intended status: Standards Track Huawei USA | Intended status: Standards Track Huawei USA | |||
| Expires: March 23, 2019 S. Hegde | Expires: April 19, 2019 S. Hegde | |||
| Juniper Networks, Inc. | Juniper Networks, Inc. | |||
| J. Tantsura | J. Tantsura | |||
| Nuage Networks | Apstra, Inc. | |||
| H. Gredler | H. Gredler | |||
| RtBrick, Inc. | RtBrick, Inc. | |||
| September 19, 2018 | October 16, 2018 | |||
| LFA selection for Multi-Homed Prefixes | LFA selection for Multi-Homed Prefixes | |||
| draft-ietf-rtgwg-multihomed-prefix-lfa-07 | draft-ietf-rtgwg-multihomed-prefix-lfa-08 | |||
| 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 (LFAs) for multi-homed prefixes. | |||
| particular, this document provides explicit inequalities that can be | In particular, this document provides explicit inequalities that can | |||
| used to evaluate neighbors as a potential alternates for multi-homed | be used to evaluate neighbors as a potential alternates for multi- | |||
| prefixes. It also provides detailed criteria for evaluating | homed 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 | |||
| specified in Section 6 of RFC 5286. | specified in Section 6 of RFC 5286. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| document are to be interpreted as described in RFC8174 [RFC8174]. | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 RFC8174 [RFC2119] RFC8174 [RFC8174] when, and only when, they | ||||
| appear in all capitals, as shown here. | ||||
| 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 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 March 23, 2019. | ||||
| This Internet-Draft will expire on April 19, 2019. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | |||
| skipping to change at page 2, line 26 ¶ | skipping to change at page 2, line 29 ¶ | |||
| 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 . . . . . . . . . 5 | |||
| 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.1.1. Multiple ASBRs belonging different area . . . . . 9 | 4.2.1.1. Multiple ASBRs belonging different area . . . . . 11 | |||
| 4.2.1.2. Type 1 and Type 2 costs . . . . . . . . . . . . . 10 | 4.2.1.2. Type 1 and Type 2 costs . . . . . . . . . . . . . 11 | |||
| 4.2.1.3. RFC1583compatibility is set to enabled . . . . . 10 | 4.2.1.3. RFC1583compatibility is set to enabled . . . . . 11 | |||
| 4.2.1.4. Type 7 routes . . . . . . . . . . . . . . . . . . 10 | 4.2.1.4. Type 7 routes . . . . . . . . . . . . . . . . . . 11 | |||
| 4.2.2. Inequalities to be applied for alternate ASBR | 4.2.2. Inequalities to be applied for alternate ASBR | |||
| selection . . . . . . . . . . . . . . . . . . . . . . 11 | selection . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.2.2.1. Forwarding address set to non-zero value . . . . 11 | 4.2.2.1. Forwarding address set to non-zero value . . . . 12 | |||
| 4.2.2.2. ASBRs advertising type1 and type2 cost . . . . . 11 | 4.2.2.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. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8. Contributing Authors . . . . . . . . . . . . . . . . . . . . 14 | 8. Contributing Authors . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 15 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 16 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 15 | 10.2. Informative References . . . . . . . . . . . . . . . . . 16 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 1. Introduction | 1. Introduction | |||
| A framework for the development of IP fast- reroute mechanisms is | A framework for the development of IP fast-reroute mechanisms is | |||
| detailed in [RFC5714]. The use of Loop-Free Alternates (LFA) for IP | detailed in [RFC5714]. The use of LFAs for IP Fast Reroute is | |||
| Fast Reroute is specified in [RFC5286]. Section 6.1 of [RFC5286] | specified in [RFC5286]. Section 6.1 of [RFC5286] describes a method | |||
| describes a method to determine loop-free alternates for multi-homed | to determine LFAs for multi-homed prefixes (MHPs). This document | |||
| prefixes (MHPs). This document describes a procedure using explicit | describes a procedure using explicit inequalities that can be used by | |||
| inequalities that can be used by a computing router to evaluate a | a computing router to evaluate a neighbor as a potential alternate | |||
| neighbor as a potential alternate for a multi-homed prefix. The | for a multi-homed prefix. The results obtained are equivalent to | |||
| results obtained are equivalent to those obtained using the method | those obtained using the method described in Section 6.1 of | |||
| described in Section 6.1 of [RFC5286]. However, some may find this | [RFC5286]. However, some may find this formulation useful. | |||
| formulation useful. | ||||
| Section 6.3 of [RFC5286] discusses complications associated with | Section 6.3 of [RFC5286] discusses complications associated with | |||
| computing LFAs for multi-homed prefixes in OSPF. This document | computing LFAs for multi-homed prefixes in OSPF. This document | |||
| provides detailed criteria for evaluating potential alternates for | provides detailed criteria for evaluating potential alternates for | |||
| external prefixes advertised by OSPF ASBRs, as well as explicit | external prefixes advertised by OSPF ASBRs, as well as explicit | |||
| inequalities. | inequalities. | |||
| This document also provides clarifications, additional considerations | This document also provides clarifications, additional considerations | |||
| to [RFC5286], to address a few coverage and operational observations. | to [RFC5286], to address a few coverage and operational observations. | |||
| These observations are in the area of handling IS-IS attach (ATT) bit | These observations are in the area of handling IS-IS attach (ATT) bit | |||
| in Level-1 (L1) area, links provisioned with MAX_METRIC for traffic | in Level-1 (L1) area, links provisioned with MAX_METRIC for traffic | |||
| engineering (TE) purposes and in the area of Multi Topology (MT) IGP | engineering (TE) purposes and in the area of Multi Topology (MT) IGP | |||
| deployments. These are elaborated in detail in Section 3.2 and | deployments. These are elaborated in detail in Section 3.2 and | |||
| Section 5. | Section 5. | |||
| This specification uses the same terminology introduced in [RFC5714] | ||||
| to represent LFA and builds on the inequalities notation used in | ||||
| [RFC5286] to compute LFAs for MHPs. | ||||
| 1.1. Acronyms | 1.1. Acronyms | |||
| 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 | |||
| LFA - Loop-Free Alternate | ||||
| LSP - IS-IS Link State PDU | 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 | |||
| Link-Protection: | Link-Protection: | |||
| D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,S) + | D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | |||
| 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 | P - The multi-homed prefix being evaluated for | |||
| computing alternates | 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, a computing | To compute a valid LFA for a given multi-homed prefix P, a computing | |||
| router S MUST follow one of the appropriate procedures below, for | router S MUST follow one of the appropriate procedures below, for | |||
| skipping to change at page 6, line 27 ¶ | skipping to change at page 6, line 33 ¶ | |||
| failure optimal point of attachment, at the expense of potentially | failure optimal point of attachment, at the expense of potentially | |||
| 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. | |||
| 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 ECMP MHPs as described | alternatives without any additional cost for ECMP MHPs as described | |||
| through the below example network. The approach specified here MAY | through the below example network presented in Figure 3. The | |||
| also be applicable for handling default routes as explained in | approach specified here MAY also be applicable for handling default | |||
| Section 3.2. | routes as explained in 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 | | |||
| +---+ +---+ +---+ +---+ | +---+ +---+ +---+ +---+ | |||
| | 10 5 | | | 10 5 | | |||
| +-----------P---------+ | +-----------P---------+ | |||
| Figure 3: MHP with same ECMP Next-hop | Figure 3: MHP with same ECMP Next-hop | |||
| In the above network a prefix p, is advertised from both Node E and | In the above network a prefix P, is advertised from both Node E and | |||
| Node F. With simplified approach taken as specified in [RFC5286] | Node F. With simplified approach taken as specified in [RFC5286] | |||
| Section 6.1, prefix P will get only link protection LFA through the | Section 6.1, prefix P will get only link protection LFA through the | |||
| neighbor C while a node protection path is available through neighbor | neighbor C while a node protection path is available through neighbor | |||
| A. In this scenario, E and F both are pre-failure optimal points of | A. In this scenario, E and F both are pre-failure optimal points of | |||
| 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 example network presented in Figure 4, prefix P | |||
| E and node F with cost 20. Though it has 2 pre-failure optimal | has an ECMP through both node E and node F with cost 20. Though it | |||
| points of attachment, the primary next-hop to each pre-failure | has 2 pre-failure optimal points of attachment, the primary next-hop | |||
| optimal point of attachment is different. In this case, prefix P | to each pre-failure optimal point of attachment is different. In | |||
| MUST inherit corresponding LFAs of each primary next-hop calculated | this case, prefix P MUST inherit corresponding LFAs of each primary | |||
| for the router advertising the same respectively. In the below | next-hop calculated for the router advertising the same respectively. | |||
| diagram that would be node E's and node F's LFA i.e., node N1 and | In the below diagram that would be node E's and node F's LFA i.e., | |||
| node N2 respectively. | node N1 and node N2 respectively. | |||
| 4 +----+ | 4 +----+ | |||
| +------------------| N2 | | +------------------| N2 | | |||
| | +----+ | | +----+ | |||
| | | 4 | | | 4 | |||
| 10 +---+ 3 +---+ | 10 +---+ 3 +---+ | |||
| +------| S |----------------| B | | +------| S |----------------| B | | |||
| | +---+ +---+ | | +---+ +---+ | |||
| | | | | | | | | |||
| | 10 | 1 | | | 10 | 1 | | |||
| skipping to change at page 9, line 7 ¶ | skipping to change at page 10, line 7 ¶ | |||
| 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 belong to intra area | 1a. if primary ASBR and alternate ASBR belong to intra-area | |||
| non-backbone go to step 2. | non-backbone 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 this alternate ASBR and | 1c. for other paths, skip this alternate ASBR and | |||
| consider next ASBR. | consider next ASBR. | |||
| 2. Compare cost types (type 1/type 2) advertised by alternate ASBR and | 2. Compare cost types (type 1/type 2) advertised by alternate ASBR and | |||
| by the primary ASBR | by the primary ASBR | |||
| 2a. If not the same type skip alternate ASBR and consider next ASBR. | 2a. If not the same type skip alternate ASBR and | |||
| consider next ASBR. | ||||
| 2b. If same proceed to step 3. | 2b. If same proceed to step 3. | |||
| 3.If cost types are type 1, compare costs advertised by alternate ASBR | 3.If cost types are type 1, compare costs advertised by alternate ASBR | |||
| and by the primary ASBR | and by the primary ASBR | |||
| 3a. If costs are the same then program ECMP FRR and return. | 3a. If costs are the same then program ECMP FRR and return. | |||
| 3b. else go to step 5.. | 3b. else go to step 5.. | |||
| 4 If cost types are type 2, compare costs advertised by alternate ASBR | 4 If cost types are type 2, compare costs advertised by alternate ASBR | |||
| and by the primary ASBR | and by the primary ASBR | |||
| 4a. If costs are different, skip alternate ASBR and | 4a. If costs are different, skip alternate ASBR and | |||
| consider next ASBR. | consider next ASBR. | |||
| 4b. If cost are the same, proceed to step 4c to compare | 4b. If cost are the same, proceed to step 4c to compare | |||
| cost to reach ASBR/forwarding address. | cost to reach ASBR/forwarding address. | |||
| 4c. If cost to reach ASBR/forwarding address are also same program ECMP FRR and return. | 4c. If cost to reach ASBR/forwarding address are also same | |||
| 4d. If cost to reach ASBR/forwarding address are different go to step 5. | program ECMP FRR and return. | |||
| 4d. If cost to reach ASBR/forwarding address are 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 match. If p-bit and forwarding address matches proceed to step 6. | ASBRs match. If p-bit and forwarding address matches | |||
| proceed to step 6. | ||||
| If not, skip this alternate ASBR and consider | If not, skip this alternate ASBR and consider | |||
| next ASBR. | next ASBR. | |||
| 5b. If route type is not same, skip this alternate ASBR | 5b. If route type is not same, skip this alternate ASBR | |||
| and consider next alternate 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.1.1. Multiple ASBRs belonging different area | 4.2.1.1. Multiple ASBRs belonging different area | |||
| When "RFC1583compatibility" is set to disabled, OSPF [RFC2328] | When "RFC1583compatibility" is set to disabled, OSPF [RFC2328] | |||
| defines certain rules of preference to choose the ASBRs. While | defines certain rules of preference to choose the ASBRs. While | |||
| selecting alternate ASBR for loop evaluation for LFA, these rules | selecting alternate ASBR for loop evaluation for LFA, these rules | |||
| should be applied to ensure that the alternate neighbor does not | should be applied to ensure that the alternate neighbor does not | |||
| cause loop. | cause looping. | |||
| 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 [RFC2328] 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.1.2. Type 1 and Type 2 costs | 4.2.1.2. Type 1 and Type 2 costs | |||
| If there are multiple ASBRs not pruned via rules defined in | If there are multiple ASBRs not pruned via rules defined in | |||
| Section 4.2.1.1, the cost type advertised by the ASBRs is compared. | Section 4.2.1.1, the cost type advertised by the ASBRs is compared. | |||
| skipping to change at page 11, line 14 ¶ | skipping to change at page 12, line 16 ¶ | |||
| 4.2.2. Inequalities to be applied for alternate ASBR selection | 4.2.2. Inequalities to be applied for alternate ASBR selection | |||
| The alternate ASBRs selected using above mechanism described in | The alternate ASBRs selected using above mechanism described in | |||
| Section 4.2.1, are evaluated for Loop free criteria using below | Section 4.2.1, are evaluated for Loop free criteria using below | |||
| inequalities. | inequalities. | |||
| 4.2.2.1. Forwarding address set to non-zero value | 4.2.2.1. Forwarding address set to non-zero value | |||
| Link-Protection: | Link-Protection: | |||
| F_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,S) + | F_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | |||
| F_opt(S,PO_best) + cost(PO_best,P) | F_opt(S,PO_best) + Cost(PO_best,P) | |||
| Link-Protection + Downstream-paths-only: | Link-Protection + Downstream-paths-only: | |||
| F_opt(N,PO_i)+ cost(PO_i,P) < F_opt(S,PO_best) + cost(PO_best,P) | F_opt(N,PO_i)+ Cost(PO_i,P) < F_opt(S,PO_best) + Cost(PO_best,P) | |||
| Node-Protection: | Node-Protection: | |||
| F_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,E) + | F_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,E) + | |||
| F_opt(E,PO_best) + cost(PO_best,P) | F_opt(E,PO_best) + Cost(PO_best,P) | |||
| Where, | Where, | |||
| P - The multi-homed prefix being evaluated for | P - The multi-homed prefix being evaluated for | |||
| computing alternates | 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,Y) - External cost for Y as advertised by X | Cost(X,Y) - External cost for Y as advertised by X | |||
| F_opt(X,Y) - Distance on the shortest path from node X to Forwarding | F_opt(X,Y) - Distance on the shortest path from node X to Forwarding | |||
| address specified by ASBR Y. | address specified by ASBR Y. | |||
| D_opt(X,Y) - Distance on the shortest path from node X to node Y. | D_opt(X,Y) - Distance on the shortest path from node X to node Y. | |||
| Figure 6: LFA inequality definition when forwarding address is non- | Figure 6: LFA inequality definition when forwarding address is non- | |||
| zero | zero | |||
| 4.2.2.2. ASBRs advertising type1 and type2 cost | 4.2.2.2. ASBRs advertising type1 and type2 cost | |||
| Link-Protection: | Link-Protection: | |||
| D_opt(N,PO_i)+ cost(PO_i,P) < D_opt(N,S) + | D_opt(N,PO_i)+ Cost(PO_i,P) < D_opt(N,S) + | |||
| 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 | P - The multi-homed prefix being evaluated for | |||
| computing alternates | 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,Y) - External cost for Y as advertised by X. | Cost(X,Y) - External cost for Y as advertised by X. | |||
| D_opt(X,Y) - Distance on the shortest path from node X to node Y. | D_opt(X,Y) - Distance on the shortest path from node X to node Y. | |||
| Figure 7: LFA inequality definition for type1 and type 2 cost | Figure 7: LFA inequality definition for type1 and type 2 cost | |||
| 5. LFA Extended Procedures | 5. LFA Extended Procedures | |||
| This section explains the additional considerations in various | This section explains the additional considerations in various | |||
| aspects as listed below to the base LFA specification [RFC5286]. | aspects as listed below to the base LFA specification [RFC5286]. | |||
| 5.1. Links with IGP MAX_METRIC | 5.1. Links with IGP MAX_METRIC | |||
| skipping to change at page 14, line 42 ¶ | skipping to change at page 15, line 42 ¶ | |||
| 8. Contributing Authors | 8. Contributing Authors | |||
| The following people contributed substantially to the content of this | The following people contributed substantially to the content of this | |||
| document and should be considered co-authors. | document and should be considered co-authors. | |||
| Chris Bowers | Chris Bowers | |||
| Juniper Networks, Inc. | Juniper Networks, Inc. | |||
| 1194 N. Mathilda Ave, | 1194 N. Mathilda Ave, | |||
| Sunnyvale, CA 94089, USA | Sunnyvale, CA 94089, USA | |||
| Email: cbowers@juniper.ne | Email: cbowers@juniper.net | |||
| Bruno Decraene | Bruno Decraene | |||
| Orange, | Orange, | |||
| France | France | |||
| Email: bruno.decraene@orange.com | Email: bruno.decraene@orange.com | |||
| 9. Security Considerations | 9. Security Considerations | |||
| Existing OSPF security considerations and stronger authentication and | Existing OSPF security considerations and stronger authentication and | |||
| manual key management mechanisms are specified in [RFC7474] SHOULD be | manual key management mechanisms are specified in [RFC7474] SHOULD be | |||
| considered for OSPF deployments. Security concerns for IS-IS are | considered for OSPF deployments. Security concerns for IS-IS are | |||
| addressed in [RFC5304] and [RFC5310]. Further security analysis for | addressed in [RFC5304] and [RFC5310]. Further security analysis for | |||
| IS-IS protocol is done in [RFC7645] SHOULD be considered for IS-IS | IS-IS protocol is done in [RFC7645] SHOULD be considered for IS-IS | |||
| deployments. This document does not introduce any change in any of | deployments. This document does not change any of the discussed | |||
| the protocol [RFC1195] [RFC5120] [RFC2328] [RFC5838] specifications | protocol specifications [RFC1195] [RFC5120] [RFC2328] [RFC5838], and | |||
| discussed here and also this does not introduce any new security | the security considerations of the LFA base specification [RFC5286] | |||
| issues other than as noted in the LFA base specification [RFC5286]. | therefore continue to apply. | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
| Requirement Levels", BCP 14, RFC 2119, | ||||
| DOI 10.17487/RFC2119, March 1997, | ||||
| <https://www.rfc-editor.org/info/rfc2119>. | ||||
| [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for | |||
| IP Fast Reroute: Loop-Free Alternates", RFC 5286, | IP Fast Reroute: Loop-Free Alternates", RFC 5286, | |||
| DOI 10.17487/RFC5286, September 2008, | DOI 10.17487/RFC5286, September 2008, | |||
| <https://www.rfc-editor.org/info/rfc5286>. | <https://www.rfc-editor.org/info/rfc5286>. | |||
| [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", | ||||
| RFC 5714, DOI 10.17487/RFC5714, January 2010, | ||||
| <https://www.rfc-editor.org/info/rfc5714>. | ||||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 10.2. Informative References | 10.2. Informative References | |||
| [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | |||
| dual environments", RFC 1195, DOI 10.17487/RFC1195, | dual environments", RFC 1195, DOI 10.17487/RFC1195, | |||
| December 1990, <https://www.rfc-editor.org/info/rfc1195>. | December 1990, <https://www.rfc-editor.org/info/rfc1195>. | |||
| skipping to change at page 16, line 28 ¶ | skipping to change at page 17, line 28 ¶ | |||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc5308>. | <https://www.rfc-editor.org/info/rfc5308>. | |||
| [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., | [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., | |||
| and M. Fanto, "IS-IS Generic Cryptographic | and M. Fanto, "IS-IS Generic Cryptographic | |||
| Authentication", RFC 5310, DOI 10.17487/RFC5310, February | Authentication", RFC 5310, DOI 10.17487/RFC5310, February | |||
| 2009, <https://www.rfc-editor.org/info/rfc5310>. | 2009, <https://www.rfc-editor.org/info/rfc5310>. | |||
| [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", | ||||
| RFC 5714, DOI 10.17487/RFC5714, January 2010, | ||||
| <https://www.rfc-editor.org/info/rfc5714>. | ||||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc5838>. | <https://www.rfc-editor.org/info/rfc5838>. | |||
| [RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. | [RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. | |||
| McPherson, "OSPF Stub Router Advertisement", RFC 6987, | McPherson, "OSPF Stub Router Advertisement", RFC 6987, | |||
| DOI 10.17487/RFC6987, September 2013, | DOI 10.17487/RFC6987, September 2013, | |||
| <https://www.rfc-editor.org/info/rfc6987>. | <https://www.rfc-editor.org/info/rfc6987>. | |||
| skipping to change at page 17, line 26 ¶ | skipping to change at page 18, line 29 ¶ | |||
| 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 | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Nuage Networks | Apstra, Inc. | |||
| 755 Ravendale Drive | ||||
| Mountain View, CA 94043 | ||||
| USA | ||||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| Hannes Gredler | Hannes Gredler | |||
| RtBrick, Inc. | RtBrick, Inc. | |||
| Email: hannes@rtbrick.com | Email: hannes@rtbrick.com | |||
| End of changes. 41 change blocks. | ||||
| 92 lines changed or deleted | 105 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/ | ||||