| < draft-lapukhov-bgp-ecmp-considerations-02.txt | draft-lapukhov-bgp-ecmp-considerations-03.txt > | |||
|---|---|---|---|---|
| Network Working Group P. Lapukhov | IDR Working Group P. Lapukhov | |||
| Internet-Draft Facebook | Internet-Draft Facebook | |||
| Intended status: Informational J. Tantsura | Intended status: Informational J. Tantsura | |||
| Expires: January 2, 2020 Apstra, Inc. | Expires: May 6, 2020 Apstra, Inc. | |||
| July 1, 2019 | November 3, 2019 | |||
| Equal-Cost Multipath Considerations for BGP | Equal-Cost Multipath Considerations for BGP | |||
| draft-lapukhov-bgp-ecmp-considerations-02 | draft-lapukhov-bgp-ecmp-considerations-03 | |||
| Abstract | Abstract | |||
| BGP (Border Gateway Protocol) [RFC4271] employs tie-breaking logic to | BGP (Border Gateway Protocol) [RFC4271] employs tie-breaking logic to | |||
| select a single best path among multiple paths available, known as | select a single best path among multiple paths available, known as | |||
| BGP best path selection. At the same time, it is a common practice | BGP best path selection. At the same time, it has become a common | |||
| to allow for "equal-cost multipath" (ECMP) selection and programming | practice to allow for "equal-cost multipath" (ECMP) selection and | |||
| of multiple next-hops in routing tables. This document summarizes | programming of multiple next-hops in routing tables. This document | |||
| some common considerations for the ECMP logic when BGP is used as the | summarizes some common considerations for the ECMP logic when BGP is | |||
| routing protocol, with the intent of providing common reference for | used as the routing protocol, with the intent of providing common | |||
| otherwise unstandardized set of features. | reference for otherwise unstandardized set of features. | |||
| 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 January 2, 2020. | This Internet-Draft will expire on May 6, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 20 ¶ | skipping to change at page 2, line 20 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. AS-PATH attribute comparison . . . . . . . . . . . . . . . . 2 | 2. AS-PATH attribute comparison . . . . . . . . . . . . . . . . 2 | |||
| 3. Multipath among eBGP-learned paths . . . . . . . . . . . . . 3 | 3. Multipath among eBGP-learned paths . . . . . . . . . . . . . 3 | |||
| 4. Multipath among iBGP learned paths . . . . . . . . . . . . . 3 | 4. Multipath among iBGP learned paths . . . . . . . . . . . . . 3 | |||
| 5. Multipath among eBGP and iBGP paths . . . . . . . . . . . . . 4 | 5. Multipath among eBGP and iBGP paths . . . . . . . . . . . . . 4 | |||
| 6. Multipath with AIGP . . . . . . . . . . . . . . . . . . . . . 5 | 6. Multipath with AIGP . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 7. Best path advertisement . . . . . . . . . . . . . . . . . . . 5 | 7. Best path advertisement . . . . . . . . . . . . . . . . . . . 5 | |||
| 8. Multipath and non-deterministic tie-breaking . . . . . . . . 5 | 8. Multipath and non-deterministic tie-breaking . . . . . . . . 5 | |||
| 9. Weighted equal-cost multipath . . . . . . . . . . . . . . . . 5 | 9. Weighted equal-cost multipath . . . . . . . . . . . . . . . . 5 | |||
| 10. Informative References . . . . . . . . . . . . . . . . . . . 5 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | 11. Informative References . . . . . . . . . . . . . . . . . . . 6 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 1. Introduction | 1. Introduction | |||
| Section 9.1.2.2 of [RFC4271] defines step-by-step tie-breaking | Section 9.1.2.2 of [RFC4271] defines step-by-step tie-breaking | |||
| procedure for selecting a single "best-path" among multiple | procedure for selecting a single "best-path" among multiple | |||
| alternatives available for the same route. In order to improve | alternatives available for the same route. In order to improve | |||
| efficiency in densely meshed symmetric network topologies it is | efficiency, in densely meshed symmetric network topologies is has | |||
| common to allow the selection of multiple "equal cost" paths for the | become a common practice to allow selection of multiple "equal" paths | |||
| same route. Typical approach is to abort the tie-breaking process | for the same route. Most commonly used approach is to abort the tie- | |||
| after comparing IGP cost for the NEXT_HOP attribute and select either | breaking process after comparing IGP cost for the NEXT_HOP attribute | |||
| all eBGP or all iBGP paths that remained "equal" under the tie- | and selecting either all eBGP or all iBGP paths that remained "equal" | |||
| breaking rules. See [BGPMP] for a vendor document explaining the | under the tie-breaking rules (see [BGPMP] for a vendor document | |||
| logic. In a nutshell, the steps that compare the BGP identifiers and | explaining the logic). Basically, the steps that compare the BGP | |||
| BGP peer IP addresses (steps (f) and (g) in [RFC4271]) are ignored | identifiers and BGP peer IP addresses (steps (f) and (g) in | |||
| for the purpose of multipath routing. BGP implementations commonly | [RFC4271]) are ignored for the purpose of multipath routing. BGP | |||
| have a configuration knob that specifies the maximum number of equal | implementations commonly have a configuration knob that specifies the | |||
| paths that are allowed be programmed in the routing table. Commonly, | maximum number of equal paths that are allowed be programmed in the | |||
| there's also a knob to enable multipath separately for iBGP-learned | routing table. Commonnly, there's also a knob to enable multipath | |||
| or eBGP-learned paths. | separately for iBGP-learned or eBGP-learned paths. | |||
| 2. AS-PATH attribute comparison | 2. AS-PATH attribute comparison | |||
| The mandatory requirement for all paths that are considered as the | The mandatory requirement for all paths that are considered as the | |||
| candidates for ECMP selection is to have the same AS_PATH length, | candidates for ECMP selection is to have the same AS_PATH length, | |||
| computed using the logic defined in [RFC4271] and [RFC5065], i.e. | computed using the logic defined in [RFC4271] and [RFC5065], i.e. | |||
| ignoring the AS_SET, AS_CONFED_SEQUENCE, and AS_CONFED_SET segment | ignoring the AS_SET, AS_CONFED_SEQUENCE, and AS_CONFED_SET segment | |||
| lengths. The content of the latter attributes is used purely for | lengths. The content of the latter attributes is used purely for | |||
| routing loop prevention. Assuming that AS_PATHs length computed in | loop detection and prevention. Assuming that AS_PATHs length | |||
| this fashion are the same, many implementations require that the | computed in this fashion are the same, many implementations require | |||
| content of AS_SEQUENCE segment MUST be the same among all the paths | that the content of AS_SEQUENCE segment MUST be the same among all | |||
| considered. Two common configuration knobs to alter this behaviour | the paths considered. Two common configuration knobs to alter this | |||
| are usually provided: First one, to relax the otherwise mandatory | behaviour are usually provided: One, to relax otherwise mandatory | |||
| AS_SEQUENCE comparison rule, enforcing only the AS_PATH length rule, | AS_SEQUENCE comparison rule, enforcing only the AS_PATH length rule, | |||
| while ignoring the content of AS_SEQUENCE. Another one requiring | while ignoring the content of AS_SEQUENCE. And another requiring | |||
| that the first AS numbers in the first AS_SEQUENCE segment found in | that the first AS numbers in first AS_SEQUENCE segment found in | |||
| AS_PATH (often referred to as "peer AS" number) be the same as the | AS_PATH (often referred to as "peer AS" number) be the same as the | |||
| one found in best path (as determined by running the full tie- | one found in best path (determined by running the full tie-breaking | |||
| breaking procedure). This document refers to those two as "multipath | procedure). This document refers to those two as "multipath as-path | |||
| as-path relaxed" and "multipath same peer-as" correspondingly. | relaxed" and "multipath same peer-as". | |||
| 3. Multipath among eBGP-learned paths | 3. Multipath among eBGP-learned paths | |||
| Step (d) in Section 9.1.2.2 of [RFC4271] mandates, in presence of an | Step (d) in Section 9.1.2.2 of [RFC4271] mandates, in presence of an | |||
| eBGP path, to remove all iBGP paths from the the ECMP candidates set. | eBGP path to remove all iBGP paths from the the ECMP candidates set. | |||
| This leaves the BGP tie-breaking procedure with just eBGP paths. At | This leaves the BGP tie-breaking procedure with just eBGP paths. At | |||
| this point, the mandatory BGP NEXT_HOP attribute value most commonly | this point, the mandatory BGP NEXT_HOP attribute value most commonly | |||
| belongs to the IP subnet that the BGP speaker shares with the | belongs to the IP subnet that the BGP speaker shares with the | |||
| advertising neighbor. In this case, it is common for implementations | advertising neighbor. In this case, it is common for implementations | |||
| to treat all NEXT_HOP values as having the same "internal cost" to | to treat all NEXT_HOP values as having the same "internal cost" to | |||
| reach them per the guidance of step (e) of Section 9.1.2.2. In some | reach them per the guidance of step (e) of Section 9.1.2.2. In some | |||
| cases, either static routing or an IGP routing protocol could be used | cases, either static routing or an IGP routing protocol could be | |||
| between the BGP speakers peering using an eBGP session. An | running between the BGP speakers peering over eBGP session. An | |||
| implementation may use the next-hop metric discovered from the above | implementation may use the metric discovered from the above sources | |||
| sources to perform tie-breaking even for eBGP paths. | to perform tie-breaking even for eBGP paths. | |||
| If the MED attribute is present in some paths, the set of multipath | Notice that in case when, in some paths MED attribute is present, the | |||
| routes allowed will most likely be reduced to the ones coming from | set of multipath routes allowed will most likely be reduced to the | |||
| the same peer AS, per step (c) of Section 9.1.2.2. This is unless an | ones coming from the same peer AS, per step (c) of Section 9.1.2.2. | |||
| implementation provides a configuration knob to always compare MED | This is unless an implementation provides a configuration knob to | |||
| attributes across all paths, as recommended by [RFC4451]. In the | always compare MED attributes across all paths, as recommended by | |||
| latter case, the presence of the MED attribute does not automatically | [RFC4451]. In the latter case, the presence of MED attribute does | |||
| reduce the candidate path set to the same peer AS only. | not automatically reduce the candidate path set to the same peer AS | |||
| only. | ||||
| 4. Multipath among iBGP learned paths | 4. Multipath among iBGP learned paths | |||
| In most cases iBGP is used along with an underlying IGP. Thus, when | When all paths for a prefix are learned via iBGP, since in most cases | |||
| all paths for a prefix are learned via iBGP, the tie-breaking | iBGP is used along with an underlying IGP, the tie-breaking commonly | |||
| commonly occurs based on IGP metric of the NEXT_HOP attribute. In | occurs based on IGP metric of the NEXT_HOP attribute. In some | |||
| some implementations, it is possible to ignore the IGP cost as well, | implementations, it is however possible to ignore the IGP cost as | |||
| if all of the paths are reachable via some kind of tunneling | well, if all of the paths are reachable via some kind of tunneling | |||
| mechanism, such as MPLS [RFC3031]. This is enabled via a knob | mechanism, such as MPLS [RFC3031]. This is enabled via a knob | |||
| referred in this document as "skip igp check" . Notice that there is | referred in this document as "skip igp check" . Notice that there is | |||
| no standard way for a BGP speaker to detect presence of such | no standard way for a BGP speaker to detect presence of such | |||
| tunneling techniques other than relying on the configuration | tunneling techniques other than relying on the configuration | |||
| settings. | settings. | |||
| When iBGP is deployed with BGP route-reflectors per [RFC4456], the | When iBGP is deployed with BGP route-reflectors per [RFC4456] the | |||
| path attribute list may include the CLUSTER_LIST attribute. Many | path attribute list may include the CLUSTER_LIST attribute. Most | |||
| implementations ignore it for the purpose of ECMP route selection, | implementations commonly ignore it for the purpose of ECMP route | |||
| assuming that IGP cost along should be sufficient for loop | selection, assuming that IGP cost along should be sufficient for loop | |||
| prevention. This assumption may not hold when IGP is not deployed, | prevention. This assumption may not hold when IGP is not deployed, | |||
| and instead iBGP session are configured to reset the NEXT_HOP | and instead iBGP session are configured to reset the NEXT_HOP | |||
| attribute to "self" on every node. This also assumes the use of | attribute to self on every node (this also assumes the use of | |||
| directly connected link addresses for session formation. In this | directly connected link addresses for session formation). In this | |||
| case, ignoring CLUSTER_LIST length might lead to routing loops. It | case, ignoring CLUSTER_LIST length might lead to routing loops. It | |||
| is therefore recommended for implementations to have a knob that | is therefore recommended for implementations to have a knob that | |||
| enables accounting for CLUSTER_LIST length when performing multipath | enables accounting for CLUSTER_LIST length when performing multipath | |||
| route selection. Effectively, the CLUSTER_LIST attribute length | route selection. In this case, CLUSTER_LIST attribute length should | |||
| should be as an IGP metric. | be effectively used to replace the IGP metric. | |||
| Similarly to the route-reflector scenario, the use of BGP | Similarly to the route-reflector scenario, the use of BGP | |||
| confederations in multipath scenarios assumes presence of an IGP for | confederations in multipath scenarios assumes presence of an IGP for | |||
| proper loop prevention and use the IGP metric as the final tie- | proper loop prevention and use the IGP metric as the final tie- | |||
| breaker for multipath routing. In addition to that, and similar to | breaker for multipath routing. In addition to that, and similar to | |||
| eBGP case, implementations often require that in order to be | eBGP case, implementations often require that in order to be | |||
| considered equal, the paths must belong to the same peer member AS as | considered equal, paths under consideration must belong to the same | |||
| the best-path. It is useful to have the following two configuration | peer member AS as the best-path. It is useful to have the following | |||
| knobs. First one enabling "multipath same confederation member peer- | two configuration knobs, one enabling "multipath same confederation | |||
| as", and another enabling less restrictive "confed as-path multipath | member peer-as" and another enabling less restrictive "confed as-path | |||
| relaxed" rule, that allow selecting multipath routes reachable via | multipath relaxed" rule, that allow selecting multipath routes | |||
| any confederation member peer AS. As mentioned above, the | reachable via any confederation member peer AS. As mentioned above, | |||
| AS_CONFED_SEQUENCE value length is usually ignored for the purpose of | the AS_CONFED_SEQUENCE value length is usually ignored for the | |||
| AS_PATH length comparison, relying instead on the IGP cost for loop | purpose of AS_PATH length comparison, for the loop prevention relying | |||
| prevention. | instead on the IGP cost . | |||
| In cases when IGP is not present with BGP confederation deployment, | In cases, when IGP is not present with BGP confederation deployment, | |||
| and similar to route-reflection case, it may be nessesary to consider | and similar to route-reflection case, it may be nessesary to consider | |||
| AS_CONFED_SEQUENCE length when selecting the equivalent routes, | AS_CONFED_SEQUENCE length when selecting the equivalent routes, | |||
| effectively using it as a substitution for an IGP metric. A separate | effectively using it as a substitution for an IGP metric. A separate | |||
| configuration knob is needed to allow this behavior. | configuration knob is needed to allow this behavior. | |||
| Per [RFC5065] paths learned over BGP intra-confederation peering | Per [RFC5065] paths learned over BGP intra-confederation peering | |||
| sessions are treated as iBGP. There is no specification or | sessions are treated as iBGP. There is no specification or | |||
| operational document that defines how a mixed iBGP route-reflector | operational document that defines how a mixed iBGP route-reflector | |||
| and confederation based deplyments would work together. Therefore, | and confederation based deplyments would work together. Therefore, | |||
| this document does not make recommendations for the above case. | this document does not make recommendations for the above case. | |||
| 5. Multipath among eBGP and iBGP paths | 5. Multipath among eBGP and iBGP paths | |||
| The best-path selection algorithm explicitly prefers eBGP paths over | The best-path selection algorithm explicitly prefers eBGP paths over | |||
| iBGP or learned from a BGP confederation member AS, which is, as per | iBGP (or learned from BGP confederation member AS, which is, as per | |||
| [RFC5065] treated the same as iBGP from perspective of best-path | [RFC5065] treated the same as iBGP from perspective of best-path | |||
| selection. In some cases however, it might be beneficial to allow | selection). In some cases however, it might be beneficial to allow | |||
| multipath routing between eBGP and iBGP learned paths. This is only | multipath routing between eBGP and iBGP learned paths. This is only | |||
| possible if some sort of tunneling technique is used to reach both | possible if some sort of tunneling technique is used to reach both | |||
| the eBGP and iBGP paths. If this feature is enabled, the equal | the eBGP and iBGP paths. If this feature is enabled, the equal | |||
| routes are selected prior to the MED comparison step (c) in | routes are selected prior to the MED comparison step (c) in | |||
| Section 9.1.2.2 [RFC4271]. | Section 9.1.2.2 [RFC4271]. | |||
| 6. Multipath with AIGP | 6. Multipath with AIGP | |||
| AIGP attribute defined in [RFC7311] must be used for best-path | AIGP attribute defined in [RFC7311] must be used for best-path | |||
| selection prior to running any logic of Section 9.1.2.2 [RFC4271]. | selection prior to running any logic of Section 9.1.2.2 [RFC4271]. | |||
| Only the paths with minimal value of AIGP metric are eligible for | Only the paths with minimal value of AIGP metric are eligible for | |||
| further consideration of tie-breaking rules. The rest of multipath | further consideration of tie-breaking rules. The rest of multipath | |||
| selection logic remains the same. | selection logic remains the same. | |||
| 7. Best path advertisement | 7. Best path advertisement | |||
| Unless BGP "Add-Path" feature described in [RFC7911] is enabled and | Unless BGP "Add-Path" feature as described in [RFC7911] is enabled | |||
| even though multiple equal paths may be selected for programming into | and even though multiple equal paths may be selected for programming | |||
| the routing table, a BGP speaker announces single best-path only to | into the routing table, a BGP speaker announces to its peers single | |||
| its peers. The unique best-path is elected among the multi-path set | best-path only. The unique best-path is elected among the multi-path | |||
| using the standard tie-breaking rules. | set using the standard tie-breaking rules. | |||
| 8. Multipath and non-deterministic tie-breaking | 8. Multipath and non-deterministic tie-breaking | |||
| Some implementations may implement non-standard tie-breaking logic, | Some implementations may implement non-standard tie-breaking logic, | |||
| for example using the oldest path rule(reference). This is generally | for example using the oldest path rule, IETF reference - [RFC5004], a | |||
| not recommended, and may interact with multi-path route selection on | vendor implementaion example [BGPMP]. This is generally not | |||
| recommended, and may interact with multi-path route selection on | ||||
| downstream BGP speakers. That is, after a route flap that affects | downstream BGP speakers. That is, after a route flap that affects | |||
| the best-path upstream, the original best path would not be | the best-path upstream, the original best path would not be | |||
| recovered, and the older path would still be advertised, possibly | recovered, and the older path would still be advertised, possibly | |||
| affecting the tie-breaking rules on down-stream device if for | affecting the tie-breaking rules on down-stream device if for | |||
| example, the AS_PATH contents are different from previous. | example, the AS_PATH contents are different from previous. Another | |||
| side effect of using non-standard tie-breaking could be increased | ||||
| number of BGP Next-Hop sets for Prefixes learned from eBGP neighbors | ||||
| and advertised downstream towards iBGP Neighbors. This could | ||||
| potentially cause ECMP group/entry tables to overrun (depending on a | ||||
| platform) as the prefixes will be less coalesced. | ||||
| 9. Weighted equal-cost multipath | 9. Weighted equal-cost multipath | |||
| The proposal in [I-D.ietf-idr-link-bandwidth] defines conditions | The proposal in [I-D.ietf-idr-link-bandwidth] defines conditions | |||
| where iBGP multipath feature might inform the routing table of | where iBGP multipath feature might inform the routing table of | |||
| "weights" associated with the multiple external paths. | "weights" associated with the multiple external paths. | |||
| [I-D.ietf-idr-link-bandwidth] defines the weight extended community | [I-D.ietf-idr-link-bandwidth] defines the weight extended community | |||
| attribute as non-transitive, considers the applicability in iBGP case | attribute as non-transitive, considers the applicability for iBGP | |||
| only, though there are implementations that apply it to eBGP as well. | only, though there are implementations that apply it to eBGP as well. | |||
| The proposal does not change the equal-cost multipath selection | The proposal does not change the equal-cost multipath selection | |||
| logic, but associates additional load-sharing attributes with | logic, only associates additional load-sharing attributes with | |||
| equivalent paths. | equivalent paths. | |||
| 10. Informative References | 10. Acknowledgements | |||
| We like to thank Diptanshu Singh for their reviews and valuable | ||||
| comments. | ||||
| 11. Informative References | ||||
| [BGPMP] "BGP Best Path Selection Algorithm", | [BGPMP] "BGP Best Path Selection Algorithm", | |||
| <http://www.cisco.com/c/en/us/support/docs/ip/ | <http://www.cisco.com/c/en/us/support/docs/ip/border- | |||
| border-gateway-protocol-bgp/13753-25.html>. | gateway-protocol-bgp/13753-25.html>. | |||
| [I-D.ietf-idr-link-bandwidth] | [I-D.ietf-idr-link-bandwidth] | |||
| Mohapatra, P. and R. Fernando, "BGP Link Bandwidth | Mohapatra, P. and R. Fernando, "BGP Link Bandwidth | |||
| Extended Community", draft-ietf-idr-link-bandwidth-07 | Extended Community", draft-ietf-idr-link-bandwidth-07 | |||
| (work in progress), March 2018. | (work in progress), March 2018. | |||
| [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | |||
| Label Switching Architecture", RFC 3031, | Label Switching Architecture", RFC 3031, | |||
| DOI 10.17487/RFC3031, January 2001, | DOI 10.17487/RFC3031, January 2001, | |||
| <https://www.rfc-editor.org/info/rfc3031>. | <https://www.rfc-editor.org/info/rfc3031>. | |||
| skipping to change at page 6, line 29 ¶ | skipping to change at page 6, line 42 ¶ | |||
| [RFC4451] McPherson, D. and V. Gill, "BGP MULTI_EXIT_DISC (MED) | [RFC4451] McPherson, D. and V. Gill, "BGP MULTI_EXIT_DISC (MED) | |||
| Considerations", RFC 4451, DOI 10.17487/RFC4451, March | Considerations", RFC 4451, DOI 10.17487/RFC4451, March | |||
| 2006, <https://www.rfc-editor.org/info/rfc4451>. | 2006, <https://www.rfc-editor.org/info/rfc4451>. | |||
| [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route | [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route | |||
| Reflection: An Alternative to Full Mesh Internal BGP | Reflection: An Alternative to Full Mesh Internal BGP | |||
| (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, | (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, | |||
| <https://www.rfc-editor.org/info/rfc4456>. | <https://www.rfc-editor.org/info/rfc4456>. | |||
| [RFC5004] Chen, E. and S. Sangli, "Avoid BGP Best Path Transitions | ||||
| from One External to Another", RFC 5004, | ||||
| DOI 10.17487/RFC5004, September 2007, | ||||
| <https://www.rfc-editor.org/info/rfc5004>. | ||||
| [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous | [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous | |||
| System Confederations for BGP", RFC 5065, | System Confederations for BGP", RFC 5065, | |||
| DOI 10.17487/RFC5065, August 2007, | DOI 10.17487/RFC5065, August 2007, | |||
| <https://www.rfc-editor.org/info/rfc5065>. | <https://www.rfc-editor.org/info/rfc5065>. | |||
| [RFC7311] Mohapatra, P., Fernando, R., Rosen, E., and J. Uttaro, | [RFC7311] Mohapatra, P., Fernando, R., Rosen, E., and J. Uttaro, | |||
| "The Accumulated IGP Metric Attribute for BGP", RFC 7311, | "The Accumulated IGP Metric Attribute for BGP", RFC 7311, | |||
| DOI 10.17487/RFC7311, August 2014, | DOI 10.17487/RFC7311, August 2014, | |||
| <https://www.rfc-editor.org/info/rfc7311>. | <https://www.rfc-editor.org/info/rfc7311>. | |||
| skipping to change at page 7, line 4 ¶ | skipping to change at page 7, line 24 ¶ | |||
| Authors' Addresses | Authors' Addresses | |||
| Petr Lapukhov | Petr Lapukhov | |||
| 1 Hacker Way | 1 Hacker Way | |||
| Menlo Park, CA 94025 | Menlo Park, CA 94025 | |||
| US | US | |||
| Email: petr@fb.com | Email: petr@fb.com | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Apstra, Inc. | Apstra, Inc. | |||
| 333 Middlefield Rd #200 | ||||
| Menlo Park, CA 94025 | Menlo Park, CA 94025 | |||
| US | US | |||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| End of changes. 31 change blocks. | ||||
| 86 lines changed or deleted | 106 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/ | ||||