| rfc9746.original | rfc9746.txt | |||
|---|---|---|---|---|
| BESS Workgroup J. Rabadan, Ed. | Internet Engineering Task Force (IETF) J. Rabadan, Ed. | |||
| Internet-Draft K. Nagaraj | Request for Comments: 9746 K. Nagaraj | |||
| Updates: 8365, 7432 (if approved) Nokia | Updates: 7432, 8365 Nokia | |||
| Intended status: Standards Track W. Lin | Category: Standards Track W. Lin | |||
| Expires: 17 February 2025 Juniper | ISSN: 2070-1721 Juniper | |||
| A. Sajassi | A. Sajassi | |||
| Cisco | Cisco | |||
| 16 August 2024 | March 2025 | |||
| BGP EVPN Multi-Homing Extensions for Split Horizon Filtering | BGP EVPN Multihoming Extensions for Split-Horizon Filtering | |||
| draft-ietf-bess-evpn-mh-split-horizon-11 | ||||
| Abstract | Abstract | |||
| Ethernet Virtual Private Network (EVPN) is commonly used with Network | An Ethernet Virtual Private Network (EVPN) is commonly used with | |||
| Virtualization Overlay (NVO) tunnels, as well as MPLS and Segment | Network Virtualization Overlay (NVO) tunnels as well as with MPLS and | |||
| Routing tunnels. The multi-homing procedures in EVPN may vary based | Segment Routing (SR) tunnels. The multihoming procedures in EVPN may | |||
| on the type of tunnel used within the EVPN Broadcast Domain. | vary based on the type of tunnel used within the EVPN Broadcast | |||
| Specifically, there are two multi-homing Split Horizon procedures | Domain. Specifically, there are two multihoming split-horizon | |||
| designed to prevent looped frames on multi-homed Customer Edge (CE) | procedures designed to prevent looped frames on multihomed Customer | |||
| devices: the ESI Label-based procedure and the Local Bias procedure. | Edge (CE) devices: the Ethernet Segment Identifier (ESI) Label-based | |||
| The ESI Label-based Split Horizon is applied to MPLS-based tunnels, | procedure and the local-bias procedure. The ESI Label-based split- | |||
| such as MPLSoUDP, while the Local Bias procedure is used for other | horizon procedure is applied to MPLS-based tunnels such as MPLS over | |||
| tunnels, such as VXLAN. | UDP (MPLSoUDP), while the local-bias procedure is used for other | |||
| tunnels such as Virtual eXtensible Local Area Network (VXLAN) | ||||
| tunnels. | ||||
| Current specifications do not allow operators to choose which Split | Current specifications do not allow operators to choose which split- | |||
| Horizon procedure to use for tunnel encapsulations that support both | horizon procedure to use for tunnel encapsulations that support both | |||
| methods. Examples of tunnels that may support both procedures | methods. Examples of tunnels that may support both procedures | |||
| include MPLSoGRE, MPLSoUDP, GENEVE, and SRv6. This document updates | include MPLSoUDP, MPLS over GRE (MPLSoGRE), Generic Network | |||
| the EVPN multi-homing procedures described in RFC 8365 and RFC 7432, | Virtualization Encapsulation (Geneve), and Segment Routing over IPv6 | |||
| enabling operators to select the Split Horizon procedure that meets | (SRv6) tunnels. This document updates the EVPN multihoming | |||
| their specific requirements. | procedures described in RFCs 7432 and 8365, enabling operators to | |||
| select the split-horizon procedure that meets their specific | ||||
| requirements. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | This document is a product of the Internet Engineering Task Force | |||
| Task Force (IETF). Note that other groups may also distribute | (IETF). It represents the consensus of the IETF community. It has | |||
| working documents as Internet-Drafts. The list of current Internet- | received public review and has been approved for publication by the | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | Information about the current status of this document, any errata, | |||
| and may be updated, replaced, or obsoleted by other documents at any | and how to provide feedback on it may be obtained at | |||
| time. It is inappropriate to use Internet-Drafts as reference | https://www.rfc-editor.org/info/rfc9746. | |||
| material or to cite them other than as "work in progress." | ||||
| This Internet-Draft will expire on 17 February 2025. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
| 1.1. Conventions and Terminology . . . . . . . . . . . . . . . 3 | 1.1. Conventions and Terminology | |||
| 1.2. Split Horizon Filtering and Tunnel Encapsulations . . . . 5 | 1.2. Split-Horizon Filtering and Tunnel Encapsulations | |||
| 2. BGP EVPN Extensions . . . . . . . . . . . . . . . . . . . . . 9 | 2. BGP EVPN Extensions | |||
| 2.1. The Split Horizon Type . . . . . . . . . . . . . . . . . 9 | 2.1. The Split-Horizon Type | |||
| 2.2. Use of the Split Horizon Type In A-D Per ES Routes . . . 10 | 2.2. Use of the Split-Horizon Type in A-D per ES Routes | |||
| 2.3. ESI Label Value In A-D Per ES Routes . . . . . . . . . . 12 | 2.3. The ESI Label Value in A-D per ES Routes | |||
| 2.4. Backwards Compatibility With RFC8365 NVEs . . . . . . . . 12 | 2.4. Backwards Compatibility with NVEs from RFC 8365 | |||
| 3. Procedures for NVEs Supporting Multiple Encapsulations . . . 13 | 3. Procedures for NVEs Supporting Multiple Encapsulations | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 4. Security Considerations | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 5. IANA Considerations | |||
| 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17 | 6. References | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 6.1. Normative References | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 6.2. Informative References | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 18 | Acknowledgments | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 | Authors' Addresses | |||
| 1. Introduction | 1. Introduction | |||
| Ethernet Virtual Private Networks (EVPN) are commonly used with the | Ethernet Virtual Private Networks (EVPNs) are commonly used with the | |||
| following tunnel encapsulations: | following tunnel encapsulations: | |||
| * Network Virtualization Overlay (NVO) tunnels, where the EVPN | * Network Virtualization Overlay (NVO) tunnels, where the EVPN | |||
| procedures are specified in [RFC8365]. MPLSoGRE [RFC4023], | procedures are specified in [RFC8365]. MPLSoGRE [RFC4023], | |||
| MPLSoUDP [RFC7510], GENEVE [RFC8926] or VXLAN [RFC7348] tunnels | MPLSoUDP [RFC7510], Geneve [RFC8926], or VXLAN [RFC7348] tunnels | |||
| are considered NVO tunnels. | are considered NVO tunnels. | |||
| * MPLS and Segment Routing with MPLS data plane (SR-MPLS), where the | * MPLS and Segment Routing over MPLS (SR-MPLS) tunnels, where the | |||
| relevant EVPN procedures are specified in [RFC7432]. Segment | relevant EVPN procedures are specified in [RFC7432]. SR-MPLS | |||
| Routing with MPLS data plane tunneling is specified in [RFC8660]. | tunneling is specified in [RFC8660]. | |||
| * Segment Routing with IPv6 data plane (SRv6), where the relevant | * Segment Routing over IPv6 (SRv6) tunnels, where the relevant EVPN | |||
| EVPN procedures are specified in [RFC9252]. SRv6 is specified in | procedures are specified in [RFC9252]. SRv6 is specified in | |||
| [RFC8402][RFC8754]. | [RFC8402] and [RFC8754]. | |||
| Split Horizon, in this document, follows the definition in [RFC7432]. | In this document, the term "split horizon" follows the definition in | |||
| Split Horizon refers to the EVPN multihoming procedure that prevents | [RFC7432]. Split horizon refers to the EVPN multihoming procedure | |||
| a PE from sending a frame back to a multihomed Customer Edge (CE) | that prevents a Provider Edge (PE) from sending a frame back to a | |||
| when that CE originated the frame in the first place. | multihomed Customer Edge (CE) when that CE originated the frame in | |||
| the first place. | ||||
| EVPN multihoming procedures may vary depending on the type of tunnel | EVPN multihoming procedures may vary depending on the type of tunnel | |||
| utilized within the EVPN Broadcast Domain. Specifically, there are | utilized within the EVPN Broadcast Domain. Specifically, there are | |||
| two multihoming Split Horizon procedures employed to prevent looped | two multihoming split-horizon procedures employed to prevent looped | |||
| frames on multihomed CE devices: the ESI Label-based procedure and | frames on multihomed CE devices: the ESI Label-based procedure and | |||
| the Local Bias procedure. | the local-bias procedure. | |||
| The ESI Label-based Split Horizon procedure is used for MPLS or MPLS- | The ESI Label-based split-horizon procedure is used for MPLS or MPLS | |||
| over-X (MPLSoX) tunnels, such as MPLS-over-UDP, and its procedures | over X (MPLSoX) tunnels, such as MPLSoUDP, and its procedures are | |||
| are detailed in [RFC7432]. Conversely, the Local Bias procedure is | detailed in [RFC7432]. Conversely, the local-bias procedure is used | |||
| used for IP-based tunnels, such as VXLAN tunnels, and it is described | for IP-based tunnels, such as VXLAN tunnels, and it is described in | |||
| in [RFC8365]. | [RFC8365]. | |||
| 1.1. Conventions and Terminology | 1.1. Conventions and Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| * AC: Attachment Circuit. | AC: Attachment Circuit | |||
| * A-D per ES route: refers to the EVPN Ethernet Auto-Discovery per | A-D per ES route: Auto-Discovery per Ethernet Segment route (as | |||
| ES route defined in [RFC7432]. | defined in [RFC7432]). | |||
| * Arg.FE2: refers to the ESI filtering argument used for Split | Arg.FE2: Refers to the ESI filtering argument used for split horizon | |||
| Horizon as specified in [RFC9252]. | as specified in [RFC9252]. | |||
| * Broadcast Domain (BD): an emulated Ethernet, such that two systems | BD: Broadcast Domain. Refers to an emulated Ethernet, such that two | |||
| on the same BD will receive each other's broadcast, unknown and | systems on the same BD will receive each other's BUM traffic. In | |||
| multicast traffic. In this document, BD also refers to the | this document, BD also refers to the instantiation of a BD on an | |||
| instantiation of a Broadcast Domain on an EVPN PE. An EVPN PE can | EVPN PE. An EVPN PE can be attached to one or multiple BDs of the | |||
| be attached to one or multiple BDs of the same tenant. | same tenant. | |||
| * BUM: Broadcast, Unknown unicast and Multicast traffic. | BUM: Broadcast, Unknown Unicast, and Multicast | |||
| * Designated Forwarder (DF): as defined in [RFC7432], an ES may be | CE: Customer Edge | |||
| DF: Designated Forwarder. As defined in [RFC7432], an ES may be | ||||
| multihomed (attached to more than one PE). An ES may also contain | multihomed (attached to more than one PE). An ES may also contain | |||
| multiple BDs, of one or more EVIs. For each such EVI, one of the | multiple BDs of one or more EVIs. For each such EVI, one of the | |||
| PEs attached to the segment becomes that EVI's DF for that | PEs attached to the segment becomes that EVI's DF for that | |||
| segment. Since a BD may belong to only one EVI, we can speak | segment. Since a BD may belong to only one EVI, we can speak | |||
| unambiguously of the BD's DF for a given segment. | unambiguously of the BD's DF for a given segment. | |||
| * ES and ESI: Ethernet Segment and Ethernet Segment Identifier. | ES: Ethernet Segment | |||
| * EVI: EVPN Instance | ESI: Ethernet Segment Identifier | |||
| * EVI-RT: EVI Route Target. A group of NVEs attached to the same | EVI: EVPN Instance | |||
| EVI will share the same EVI-RT. | ||||
| * GENEVE: Generic Network Virtualization Encapsulation, [RFC8926] | EVI-RT: EVI Route Target. Refers to a group of NVEs attached to the | |||
| ([IANA-BGP-TUNNEL-ENCAP] tunnel type 19). | same EVI that will share the same EVI-RT. | |||
| * MPLS tunnels and non-MPLS NVO tunnels: refer to Multi-Protocol | Geneve: Generic Network Virtualization Encapsulation [RFC8926] (see | |||
| Label Switching (or the absence of it) Network Virtualization | tunnel type 19 in [TUNNEL-ENCAP]). | |||
| Overlay tunnels. Network Virtualization Overlay tunnels use an IP | ||||
| encapsulation for overlay frames, where the source IP address | ||||
| identifies the ingress NVE and the destination IP address the | ||||
| egress NVE. | ||||
| * MPLSoUDP: Multi-Protocol Label Switching over User Datagram | MPLS tunnels and non-MPLS NVO tunnels: Refers to Multiprotocol Label | |||
| Protocol, [RFC7510] ([IANA-BGP-TUNNEL-ENCAP] tunnel type 13). | Switching (or the absence of it) Network Virtualization Overlay | |||
| tunnels. NVO tunnels use an IP encapsulation for overlay frames, | ||||
| where the source IP address identifies the ingress NVE and the | ||||
| destination IP address identifies the egress NVE. | ||||
| * MPLSoGRE: Multi-Protocol Label Switching over Generic Network | MPLSoUDP: Multiprotocol Label Switching over User Datagram Protocol | |||
| Encapsulation, [RFC4023] ([IANA-BGP-TUNNEL-ENCAP] tunnel type 11). | [RFC7510] (see tunnel type 13 in [TUNNEL-ENCAP]). | |||
| * MPLSoX: refers to MPLS over any IP encapsulation. Examples are | MPLSoGRE: Multiprotocol Label Switching over Generic Network | |||
| MPLS-over-UDP or MPLS-over-GRE. | Encapsulation [RFC4023] (see tunnel type 11 in [TUNNEL-ENCAP]). | |||
| * NVE: Network Virtualization Edge device. | MPLSoX: Refers to MPLS over any IP encapsulation, for example, | |||
| MPLSoUDP or MPLSoGRE. | ||||
| * NVGRE: Network Virtualization Using Generic Routing Encapsulation, | NVE: Network Virtualization Edge | |||
| [RFC7637] ([IANA-BGP-TUNNEL-ENCAP] tunnel type 9). | ||||
| * VXLAN: Virtual eXtensible Local Area Network, [RFC7348] | NVGRE: Network Virtualization Using Generic Routing Encapsulation | |||
| ([IANA-BGP-TUNNEL-ENCAP] tunnel type 8). | [RFC7637] (see tunnel type 9 in [TUNNEL-ENCAP]). | |||
| * VXLAN-GPE: VXLAN Generic Protocol Extension, | PE: Provider Edge | |||
| [I-D.ietf-nvo3-vxlan-gpe] ([IANA-BGP-TUNNEL-ENCAP] tunnel type | ||||
| 12). | ||||
| * SHT: Split Horizon Type, it refers to the Split Horizon method | RTs: Route Targets | |||
| that a PE intends to use and advertises in an A-D per ES route. | ||||
| * SRv6: Segment Routing with an IPv6 data plane, [RFC8402][RFC8754]. | VXLAN: Virtual eXtensible Local Area Network [RFC7348] (see tunnel | |||
| type 8 in [TUNNEL-ENCAP]). | ||||
| VXLAN-GPE: VXLAN Generic Protocol Extension [VXLAN-GPE] (see tunnel | ||||
| type 12 in [TUNNEL-ENCAP]). | ||||
| SHT: Split-Horizon Type. Refers to the split-horizon method that a | ||||
| PE intends to use and advertises in an A-D per ES route. | ||||
| SRv6: Segment Routing over IPv6 (see [RFC8402] and [RFC8754]). | ||||
| TLV: Type-Length-Value | ||||
| This document also assumes familiarity with the terminology of | This document also assumes familiarity with the terminology of | |||
| [RFC7432] and [RFC8365]. | [RFC7432] and [RFC8365]. | |||
| 1.2. Split Horizon Filtering and Tunnel Encapsulations | 1.2. Split-Horizon Filtering and Tunnel Encapsulations | |||
| EVPN supports two Split Horizon Filtering mechanisms: | EVPN supports two split-horizon filtering mechanisms: | |||
| * ESI Label based Split Horizon filtering [RFC7432] | 1. ESI Label-based split-horizon filtering [RFC7432]: | |||
| When EVPN is employed for MPLS transport tunnels, an MPLS label | When EVPN is employed for MPLS transport tunnels, an MPLS label | |||
| facilitates Split Horizon filtering to support All-Active | facilitates split-horizon filtering to support All-Active | |||
| multihoming. The ingress Network Virtualization Edge (NVE) device | multihoming. The ingress NVE device appends a label | |||
| appends a label corresponding to the source Ethernet Segment | corresponding to the source ESI (the ESI label) during packet | |||
| Identifier (ESI label) during packet encapsulation. The egress | encapsulation. The egress NVE verifies the ESI label when | |||
| NVE verifies the ESI label when attempting to forward a multi- | attempting to forward a multi-destination frame through a local | |||
| destination frame through a local Ethernet Segment (ES) interface. | ES interface. If the ESI label matches the site identifier (the | |||
| If the ESI label matches the site identifier (ESI) associated with | ESI) associated with that ES interface, then the packet is not | |||
| that ES interface, the packet is not forwarded. This mechanism | forwarded. This mechanism effectively prevents forwarding loops | |||
| effectively prevents forwarding loops for BUM traffic. | for BUM traffic. | |||
| The ESI Label Split Horizon filtering should also be utilized with | ESI Label split-horizon filtering should also be utilized with | |||
| Single-Active multihoming to prevent transient loops for in-flight | Single-Active multihoming to prevent transient loops for in- | |||
| packets when the egress NVE assumes the role of Designated | flight packets when the egress NVE assumes the role of DF for an | |||
| Forwarder for an ES. | ES. | |||
| * Local Bias [RFC8365] | 2. Local-bias filtering [RFC8365]: | |||
| Since IP tunnels, such as VXLAN or NVGRE, do not support the ESI | Since IP tunnels such as VXLAN or NVGRE do not support the ESI | |||
| label or any MPLS label, an alternative Split Horizon filtering | label or any MPLS label, an alternative split-horizon filtering | |||
| procedure must be implemented for All-Active multihoming. This | procedure must be implemented for All-Active multihoming. This | |||
| mechanism, known as Local Bias, relies on the source IP address of | mechanism, known as local bias, relies on the source IP address | |||
| the tunnel to determine whether to forward BUM traffic to a local | of the tunnel to determine whether to forward BUM traffic to a | |||
| Ethernet Segment (ES) interface at the egress Network | local ES interface at the egress NVE. | |||
| Virtualization Edge (NVE). | ||||
| In summary and as specified in [RFC8365], each NVE tracks the IP | In summary and as specified in [RFC8365], each NVE tracks the IP | |||
| address(es) of other NVEs with which it shares multihomed ESs. | address(es) of other NVEs with which it shares multihomed ESs. | |||
| Upon receiving a BUM frame encapsulated in an IP tunnel, the | Upon receiving a BUM frame encapsulated in an IP tunnel, the | |||
| egress NVE inspects the source IP address in the tunnel header, | egress NVE inspects the source IP address in the tunnel header, | |||
| which identifies the ingress NVE. The egress NVE then filters out | which identifies the ingress NVE. The egress NVE then filters | |||
| the frame on all local interfaces connected to ESs that are shared | out the frame on all local interfaces connected to ESs that are | |||
| with the ingress NVE. | shared with the ingress NVE. | |||
| Due to this behavior at the egress NVE, the ingress NVE is | Due to this behavior at the egress NVE, the ingress NVE is | |||
| required to perform local replication to all directly attached | required to perform local replication to all directly attached | |||
| ESs, regardless of the Designated Forwarder election state, for | ESs, regardless of the DF election state, for all BUM traffic | |||
| all BUM traffic ingressing from the access Attachment Circuits | ingressing from the access ACs. This local replication at the | |||
| (ACs). This local replication at the ingress NVE is the basis for | ingress NVE is the basis for the term "local bias". | |||
| the term Local Bias. | ||||
| Local Bias is not suitable for Single-Active multihoming, as the | Local bias is not suitable for Single-Active multihoming, as the | |||
| ingress NVE deactivates the ACs for which it is not the Designated | ingress NVE deactivates the ACs for which it is not the DF. | |||
| Forwarder. Consequently, local replication to non-Designated | Consequently, local replication to non-DF ACs cannot occur, | |||
| Forwarder ACs cannot occur, leading to transient in-flight BUM | leading to transient in-flight BUM packets being looped back to | |||
| packets to be looped back to the originating site by newly elected | the originating site by newly elected DF egress NVEs. | |||
| Designated Forwarder egress NVEs. | ||||
| [RFC8365] specifies that Local Bias is exclusively utilized for IP | [RFC8365] specifies that local bias is exclusively utilized for IP | |||
| tunnels, while ESI Label-based Split Horizon is employed for IP-based | tunnels, while ESI Label-based split horizon is employed for IP-based | |||
| MPLS tunnels. However, IP-based MPLS tunnels, such as MPLS over GRE | MPLS tunnels. However, IP-based MPLS tunnels such as MPLSoGRE or | |||
| (MPLSoGRE) or MPLS over UDP (MPLSoUDP), are also categorized as IP | MPLSoUDP are also categorized as IP tunnels and have the potential to | |||
| tunnels and have the potential to support both procedures. These | support both procedures. These tunnels are capable of carrying ESI | |||
| tunnels are capable of carrying ESI labels and also utilize a tunnel | labels and also utilize a tunnel IP header in which the source IP | |||
| IP header in which the source IP address identifies the ingress | address identifies the ingress NVE. | |||
| Network Virtualization Edge (NVE). | ||||
| Similarly, certain IP tunnels - that include an identifier for the | Similarly, certain IP tunnels (those that include an identifier for | |||
| source Ethernet Segment (ES) in the tunnel header - may also | the source ES in the tunnel header) may also potentially support | |||
| potentially support either procedure. Examples of such tunnels | either procedure. Examples of such tunnels include Geneve and SRv6: | |||
| include GENEVE and SRv6.: | ||||
| * In a GENEVE tunnel, the source IP address identifies the ingress | * In a Geneve tunnel, the source IP address identifies the ingress | |||
| NVE therefore local bias is possible. Also, | NVE; therefore, local bias is possible. Also, Section 4.1 of | |||
| [I-D.ietf-bess-evpn-geneve] section 4.1 defines an Ethernet option | [EVPN-GENEVE] defines an Ethernet option Type-Length-Value (TLV) | |||
| TLV (Type Length Value) to encode an ESI label value. | to encode an ESI label value. | |||
| * In an SRv6 tunnel, the source IP address identifies the ingress | * In an SRv6 tunnel, the source IP address identifies the ingress | |||
| NVE. By default, and as outlined in [RFC9252], the ingress PE | NVE. By default, and as outlined in [RFC9252], the ingress PE | |||
| adds specific information to the SRv6 packet to enable the egress | adds specific information to the SRv6 packet to enable the egress | |||
| PE to identify the source ES of the BUM packet. This information | PE to identify the source ES of the BUM packet. This information | |||
| is the ESI filtering argument (Arg.FE2) [RFC9252] (section 6.1.1) | is the ESI filtering argument (Arg.FE2) (see Section 6.1.1 of | |||
| [RFC8986] (section 4.12) of the service Segment Identifier (SID) | [RFC9252] and Section 4.12 of [RFC8986]) of the service Segment | |||
| received on an A-D per ES route from the egress PE. | Identifier (SID) received on an A-D per ES route from the egress | |||
| PE. | ||||
| Table 1 presents various tunnel encapsulations along with their | Table 1 presents various tunnel encapsulations along with their | |||
| supported and default Split Horizon methods. For GENEVE, the default | supported and default split-horizon methods. For Geneve, the default | |||
| Split Horizon Type (SHT) is contingent upon the negotiation of the | SHT is contingent upon the negotiation of the Ethernet Option with | |||
| Ethernet Option with the Source ID TLV. In the case of SRv6, the | the Source ID TLV. In the case of SRv6, the default SHT is specified | |||
| default SHT is specified as ESI Label filtering in the table, as its | as ESI Label filtering in the table, as its behavior is analogous to | |||
| behavior is analogous to that of ESI Label filtering. In this | that of ESI Label filtering. In this document, "ESI Label filtering" | |||
| document, ESI Label filtering refers to the Split Horizon filtering | refers to the split-horizon filtering based on the presence of a | |||
| based on the presence of a source Ethernet Segment (ES) identifier in | source ES identifier in the tunnel header. | |||
| the tunnel header. | ||||
| This document classifies the tunnel encapsulations used by EVPN into: | This document classifies the tunnel encapsulations used by EVPN into: | |||
| 1. IP-based MPLS tunnels | 1. IP-based MPLS tunnels | |||
| 2. (SR-)MPLS tunnels, that is, MPLS and Segment Routing with MPLS | 2. MPLS and SR-MPLS tunnels | |||
| data plane tunnels | ||||
| 3. IP tunnels | 3. IP tunnels | |||
| 4. SRv6 tunnels | 4. SRv6 tunnels | |||
| Table 1 lists the encapsulations supported by this document. Any | Table 1 lists the encapsulations supported by this document. Any | |||
| tunnel encapsulation not listed in Table 1) is out of scope. Tunnel | tunnel encapsulation not listed in Table 1 is out of scope. Tunnel | |||
| encapsulations used by EVPN can be categorized into one of the four | encapsulations used by EVPN can be categorized into one of the four | |||
| encapsulation groups mentioned above and support Split Horizon | encapsulation groups mentioned above and support split-horizon | |||
| filtering based on the following rules: | filtering based on the following rules: | |||
| * IP-based MPLS tunnels and SRv6 tunnels are capable of supporting | * IP-based MPLS tunnels and SRv6 tunnels are capable of supporting | |||
| both Split Horizon filtering methods. | both split-horizon filtering methods. | |||
| * (SR-)MPLS tunnels only support ESI Label-based Split Horizon | * MPLS and SR-MPLS tunnels only support ESI Label-based split- | |||
| filtering | horizon filtering. | |||
| * IP tunnels support Local Bias Split Horizon filtering and may also | * IP tunnels support local-bias split-horizon filtering and may also | |||
| support ESI Label-based Split Horizon filtering, provided they | support ESI Label-based split-horizon filtering, provided they | |||
| incorporate a mechanism to identify the source ESI in the header. | incorporate a mechanism to identify the source ESI in the header. | |||
| +===============+=========================+============+===========+ | +===============+====================+============+===========+ | |||
| | Tunnel | Default Split Horizon | Supports | Supports | | | Tunnel | Default Split- | Supports | Supports | | |||
| | Encapsulation | Type (SHT) | Local Bias | ESI Label | | | Encapsulation | Horizon Type (SHT) | Local Bias | ESI Label | | |||
| +===============+=========================+============+===========+ | +===============+====================+============+===========+ | |||
| | MPLSoGRE (IP- | ESI Label filtering | Yes | Yes | | | MPLSoGRE (IP- | ESI Label | Yes | Yes | | |||
| | based MPLS) | | | | | | based MPLS) | filtering | | | | |||
| +---------------+-------------------------+------------+-----------+ | +---------------+--------------------+------------+-----------+ | |||
| | MPLSoUDP (IP- | ESI Label filtering | Yes | Yes | | | MPLSoUDP (IP- | ESI Label | Yes | Yes | | |||
| | based MPLS) | | | | | | based MPLS) | filtering | | | | |||
| +---------------+-------------------------+------------+-----------+ | +---------------+--------------------+------------+-----------+ | |||
| | (SR-)MPLS | ESI Label filtering | No | Yes | | | MPLS and SR- | ESI Label | No | Yes | | |||
| +---------------+-------------------------+------------+-----------+ | | MPLS | filtering | | | | |||
| | VXLAN (IP | Local Bias | Yes | No | | +---------------+--------------------+------------+-----------+ | |||
| | tunnels) | | | | | | VXLAN (IP | Local Bias | Yes | No | | |||
| +---------------+-------------------------+------------+-----------+ | | tunnels) | | | | | |||
| | NVGRE (IP | Local Bias | Yes | No | | +---------------+--------------------+------------+-----------+ | |||
| | tunnels) | | | | | | NVGRE (IP | Local Bias | Yes | No | | |||
| +---------------+-------------------------+------------+-----------+ | | tunnels) | | | | | |||
| | VXLAN-GPE (IP | Local Bias | Yes | No | | +---------------+--------------------+------------+-----------+ | |||
| | tunnels) | | | | | | VXLAN-GPE (IP | Local Bias | Yes | No | | |||
| +---------------+-------------------------+------------+-----------+ | | tunnels) | | | | | |||
| | GENEVE (IP | Local Bias (no ESI Lb), | Yes | Yes | | +---------------+--------------------+------------+-----------+ | |||
| | tunnels) | ESI Label (if ESI lb) | | | | | Geneve (IP | Local Bias (if no | Yes | Yes | | |||
| +---------------+-------------------------+------------+-----------+ | | tunnels) | ESI Lb), ESI Label | | | | |||
| | SRv6 | ESI Label filtering | Yes | Yes | | | | (if ESI lb) | | | | |||
| +---------------+-------------------------+------------+-----------+ | +---------------+--------------------+------------+-----------+ | |||
| | SRv6 | ESI Label | Yes | Yes | | ||||
| | | filtering | | | | ||||
| +---------------+--------------------+------------+-----------+ | ||||
| Table 1: Tunnel Encapsulations and Split Horizon Types | Table 1: Tunnel Encapsulations and Split-Horizon Types | |||
| The ESI Label method is applicable for both All-Active and Single- | The ESI Label method is applicable for both All-Active and Single- | |||
| Active configurations, whereas the Local Bias method is suitable only | Active configurations, whereas the local-bias method is suitable only | |||
| for All-Active configurations. Moreover, the ESI Label method is | for All-Active configurations. Moreover, the ESI Label method is | |||
| effective across different network domains, while Local Bias is | effective across different network domains, while local bias is | |||
| constrained to networks where there is no change in the next hop | constrained to networks where there is no change in the next hop | |||
| between the NVEs attached to the same ES. Nonetheless, some | between the NVEs attached to the same ES. Nonetheless, some | |||
| operators favor the Local Bias method due to its simplification of | operators favor the local-bias method due to its simplification of | |||
| the encapsulation process, reduced resource consumption on NVEs, and | the encapsulation process, reduced resource consumption on NVEs, and | |||
| the fact that the ingress NVE always forwards traffic locally to | the fact that the ingress NVE always forwards traffic locally to | |||
| other interfaces, thereby decreasing the delay in reaching multihomed | other interfaces, thereby decreasing the delay in reaching multihomed | |||
| hosts. | hosts. | |||
| This document extends the EVPN multihoming procedures to allow | This document extends the EVPN multihoming procedures to allow | |||
| operators to select the preferred Split Horizon method for a given | operators to select the preferred split-horizon method for a given | |||
| NVO tunnel according to their specific requirements. The choice | NVO tunnel according to their specific requirements. The choice | |||
| between Local Bias and ESI Label Split Horizon is now allowed (by | between local bias and ESI Label split horizon is now allowed (by | |||
| configuration) for tunnel encapsulations that support both methods, | configuration) for tunnel encapsulations that support both methods, | |||
| and this selection is advertised along with the EVPN A-D per ES | and this selection is advertised along with the EVPN A-D per ES | |||
| route. IP tunnels that do not support both methods, such as VXLAN or | route. IP tunnels that do not support both methods, such as VXLAN or | |||
| NVGRE, will continue to adhere to the procedures specified in | NVGRE, will continue to adhere to the procedures specified in | |||
| [RFC8365]. Note that this document does not modify the Local Bias or | [RFC8365]. Note that this document does not modify the local bias or | |||
| the ESI Label Split Horizon procedures themselves, just focuses on | the ESI Label split-horizon procedures themselves, just focuses on | |||
| the signaling and selection of the Split Horizon method to apply by | the signaling and selection of the split-horizon method to apply by | |||
| the multihomed NVEs. | the multihomed NVEs. | |||
| 2. BGP EVPN Extensions | 2. BGP EVPN Extensions | |||
| Extensions to EVPN are required to enable NVEs to advertise their | Extensions to EVPN are required to enable NVEs to advertise their | |||
| preferred Split Horizon method for a given ES. Figure 1 illustrates | preferred split-horizon method for a given ES. Figure 1 illustrates | |||
| the ESI Label extended community ([RFC7432] Section 7.5), which is | the ESI Label extended community (Section 7.5 of [RFC7432]), which is | |||
| consistently advertised alongside the EVPN A-D per ES route. All | consistently advertised alongside the EVPN A-D per ES route. All | |||
| NVEs connected to an ES advertise an A-D per ES route for that ES, | NVEs connected to an ES advertise an A-D per ES route for that ES, | |||
| including the extended community, which communicates information | including the extended community, which communicates information | |||
| regarding the multihoming mode (either All-Active or Single-Active) | regarding the multihoming mode (either All-Active or Single-Active) | |||
| and, if necessary, specifies the ESI Label to be utilized. | and, if necessary, specifies the ESI Label to be utilized. | |||
| 1 2 3 | 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type=0x06 | Sub-Type=0x01 | Flags(1 octet)| Reserved=0 | | | Type=0x06 | Sub-Type=0x01 | Flags(1 octet)| Reserved=0 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved=0 | ESI Label | | | Reserved=0 | ESI Label | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: ESI Label extended community | Figure 1: ESI Label Extended Community | |||
| [RFC7432] defines the low-order bit of the Flags octet (bit 0) as the | [RFC7432] defines the low-order bit of the Flags octet (bit 0) as the | |||
| "Single-Active" bit: | "Single-Active" bit: | |||
| * A value of 0 means that the multihomed ES is operating in All- | * A value of 0 means that the multihomed ES is operating in All- | |||
| Active multihoming redundancy mode. | Active multihoming redundancy mode. | |||
| * A value of 1 means that the multihomed ES is operating in Single- | * A value of 1 means that the multihomed ES is operating in Single- | |||
| Active multihoming redundancy mode. | Active multihoming redundancy mode. | |||
| Section 5 establishes a registry for the Flags octet, designating the | Section 5 establishes a registry for the Flags octet, designating the | |||
| "Single-Active" bit as the low-order bit of the newly defined | "Single-Active" bit as the low-order bit of the newly defined | |||
| multihoming redundancy mode field. | Multihoming Redundancy Mode field. | |||
| 2.1. The Split Horizon Type | 2.1. The Split-Horizon Type | |||
| [RFC8365] does not include any explicit indication regarding the | [RFC8365] does not include any explicit indication regarding the | |||
| Split Horizon method in the A-D per Ethernet Segment (ES) route. In | split-horizon method in the A-D per ES route. In this document, the | |||
| this document, the Split Horizon procedure defined in [RFC8365] | split-horizon procedure defined in Section 8.3.1 of [RFC8365] is | |||
| (section 8.3.1) is considered the default behavior, presuming that | considered the default behavior, presuming that local bias is | |||
| Local Bias is employed exclusively for IP tunnels, while ESI Label- | employed exclusively for IP tunnels, while ESI Label-based split | |||
| based Split Horizon is used for IP-based MPLS tunnels. This document | horizon is used for IP-based MPLS tunnels. This document specifies | |||
| specifies that the two high-order bits in the Flags octet (bits 6 and | that the two high-order bits in the Flags octet (bits 6 and 7) | |||
| 7) constitute the "Split Horizon Type" (SHT) field, where: | constitute the "Split-Horizon Type" or "SHT" field, where: | |||
| 7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |SHT| |RED| | |SHT| |RED| | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| RED = "Multihoming Redundancy Mode" field (section 5) | RED = "Multihoming Redundancy Mode" field (see Table 2) | |||
| SHT bit 7 6 | SHT bit 7 6 | |||
| ----------- | ----------- | |||
| 0 0 --> Default SHT | 0 0 --> Default SHT | |||
| Backwards compatible with [RFC8365] and [RFC7432] | Backwards compatible with [RFC8365] and [RFC7432] | |||
| 0 1 --> Local Bias | 0 1 --> Local Bias | |||
| 1 0 --> ESI Label based filtering | 1 0 --> ESI Label-based filtering | |||
| 1 1 --> reserved for future use | 1 1 --> Unassigned | |||
| * SHT = 00 is backwards compatible with [RFC8365] and [RFC7432], and | * SHT = 00 is backwards compatible with [RFC8365] and [RFC7432], and | |||
| indicates that the advertising NVE intends to use the default or | indicates that the advertising NVE intends to use the default or | |||
| built-in SHT. The default SHT is shown in Table 1 for each | built-in SHT. The default SHT is shown in Table 1 for each | |||
| encapsulation. An egress NVE that follows the [RFC8365] behavior | encapsulation. An egress NVE that follows the [RFC8365] behavior | |||
| and does not support this specification will ignore the SHT bits | and does not support this specification will ignore the SHT bits | |||
| (which is equivalent to process them as value of 00). | (which is equivalent to processing them as a value of 00). | |||
| * SHT = 01 indicates that the advertising NVE intends to use Local | * SHT = 01 indicates that the advertising NVE intends to use local- | |||
| Bias procedures in the ES for which the AD per-ES route is | bias procedures in the ES for which the AD per-ES route is | |||
| advertised. | advertised. | |||
| * SHT = 10 indicates that the advertising NVE intends to use the ESI | * SHT = 10 indicates that the advertising NVE intends to use the ESI | |||
| Label based Split Horizon method procedures in the ES for which | Label-based split-horizon method procedures in the ES for which | |||
| the AD per-ES route is advertised. | the AD per-ES route is advertised. | |||
| * SHT = 11 is a reserved value, for future use. | * SHT = 11 is Unassigned. | |||
| 2.2. Use of the Split Horizon Type In A-D Per ES Routes | 2.2. Use of the Split-Horizon Type in A-D per ES Routes | |||
| The following behavior is observed: | The following behavior is observed: | |||
| * An SHT value of 01 or 10 MUST NOT be used with encapsulations that | * An SHT value of 01 or 10 MUST NOT be used with encapsulations that | |||
| support only one SHT in Table 1, and MAY be used by encapsulations | support only one SHT in Table 1, and MAY be used by encapsulations | |||
| that support the two SHTs in Table 1. | that support the two SHTs in Table 1. | |||
| * An SHT value different from 00 expresses the intent to use a | * An SHT value different than 00 expresses the intent to use a | |||
| specific Split Horizon method, but does not reflect the actual | specific split-horizon method, but does not reflect the actual | |||
| operational SHT used by the advertising NVE, unless all the NVEs | operational SHT used by the advertising NVE, unless all the NVEs | |||
| attached to the ES advertise the same SHT. | attached to the ES advertise the same SHT. | |||
| * In case of inconsistency in the SHT value advertised by the NVEs | * In case of an inconsistency in the SHT value advertised by the | |||
| attached to the same ES for a given EVI, all the NVEs MUST revert | NVEs attached to the same ES for a given EVI, all the NVEs MUST | |||
| to the [RFC8365] behavior, and use the default SHT in Table 1, | revert to the behavior in [RFC8365] and use the default SHT in | |||
| irrespective of the advertised SHT. | Table 1, irrespective of the advertised SHT. | |||
| * An SHT different from 00 MUST NOT be set if the Single-Active bit | * An SHT different than 00 MUST NOT be set if the "Single-Active" | |||
| is set. A received A-D per ES route where Single-Active and SHT | bit is set. A received A-D per ES route where the "Single-Active" | |||
| bits are different from zero MUST follow the treat-as-withdraw | and SHT bits are different than zero MUST follow the treat-as- | |||
| behavior [RFC7606]. | withdraw behavior in [RFC7606]. | |||
| * The SHT MUST have the same value in each Ethernet A-D per ES route | * The SHT MUST have the same value in each Ethernet A-D per ES route | |||
| that an NVE advertises for a given ES and a given encapsulation | that an NVE advertises for a given ES and a given encapsulation | |||
| (see Section 3 for NVEs supporting multiple encapsulations). | (see Section 3 for NVEs supporting multiple encapsulations). | |||
| As an example, egress NVEs that support IP-based MPLS tunnels, such | As an example, egress NVEs that support IP-based MPLS tunnels, such | |||
| as MPLSoGRE or MPLSoUDP, will advertise A-D per ES routes for the ES | as MPLSoGRE or MPLSoUDP, will advertise A-D per ES routes for the ES | |||
| along with the BGP Encapsulation extended community, as defined in | along with the BGP Encapsulation Extended Community, as defined in | |||
| [RFC9012]. This extended community indicates the encapsulation type | [RFC9012]. This extended community indicates the encapsulation type | |||
| (MPLSoGRE or MPLSoUDP) and may use the SHT value of 01 or 10 to | (MPLSoGRE or MPLSoUDP) and may use the SHT value of 01 or 10 to | |||
| signify the intent to use Local Bias or ESI Label, respectively. | signify the intent to use local bias or the ESI Label, respectively. | |||
| An egress NVE MUST NOT use an SHT value other than 00 when | An egress NVE MUST NOT use an SHT value other than 00 when | |||
| advertising an A-D per ES route with [RFC9012] Tunnel encapsulation | advertising an A-D per ES route with the following tunnel | |||
| types of VXLAN (type 8), NVGRE (type 9), MPLS (type 10), or no BGP | encapsulation types from [RFC9012]: VXLAN (type 8), NVGRE (type 9), | |||
| tunnel encapsulation extended community at all. In all these cases, | MPLS (type 10), or no BGP Tunnel Encapsulation Extended Community at | |||
| it is presumed that there is no choice for the Split Horizon method; | all. In all these cases, it is presumed that there is no choice for | |||
| therefore, the SHT value MUST be set to 00. If a route with any of | the split-horizon method; therefore, the SHT value MUST be set to 00. | |||
| the mentioned encapsulation options is received and has an SHT value | If a route with any of the mentioned encapsulation options is | |||
| different from 00, it SHOULD apply the treat-as-withdraw behavior, | received and has an SHT value different than 00, it SHOULD apply the | |||
| per [RFC7606]. | treat-as-withdraw behavior, per [RFC7606]. | |||
| An egress NVE advertising A-D per ES route(s) for an ES with GENEVE | An egress NVE advertising A-D per ES route(s) for an ES with Geneve | |||
| encapsulation ([RFC9012], Tunnel encapsulation type 19, | encapsulation (tunnel encapsulation type 19 in the BGP Tunnel | |||
| [I-D.ietf-bess-evpn-geneve]) MAY use an SHT value of 01 or 10. A | Encapsulation attribute [RFC9012]) MAY use an SHT value of 01 or 10. | |||
| value of 01 indicates the intent to use Local Bias, regardless of the | A value of 01 indicates the intent to use local bias, regardless of | |||
| presence of an Ethernet option TLV with a non-zero Source-ID, as | the presence of an Ethernet option TLV with a non-zero Source-ID, as | |||
| described in [I-D.ietf-bess-evpn-geneve]. A value of 10 indicates | described in [EVPN-GENEVE]. A value of 10 indicates the intent to | |||
| the intent to use ESI Label-based Split Horizon, and it is only valid | use ESI Label-based split horizon, and it is only valid if an | |||
| if an Ethernet option TLV with non-zero Source-ID is present. A | Ethernet option TLV with a non-zero Source-ID is present. A value of | |||
| value of 00 indicates the default behavior outlined in Table 1, which | 00 indicates the default behavior outlined in Table 1, which is to | |||
| is to use Local Bias if: a) no ESI-Label is present in the Ethernet | use local bias if: | |||
| option TLV, or b) if there is no Ethernet option TLV. Otherwise, the | ||||
| ESI Label Split Horizon method is applied. | a. no ESI Label is present in the Ethernet option TLV, or | |||
| b. there is no Ethernet option TLV. | ||||
| Otherwise, the ESI Label split-horizon method is applied. | ||||
| These procedures assume a single encapsulation supported in the | These procedures assume a single encapsulation supported in the | |||
| egress NVE. Section 3 describes additional procedures for NVEs | egress NVE. Section 3 describes additional procedures for NVEs | |||
| supporting multiple encapsulations. | supporting multiple encapsulations. | |||
| 2.3. ESI Label Value In A-D Per ES Routes | 2.3. The ESI Label Value in A-D per ES Routes | |||
| This document also updates [RFC8365] regarding the value that is | This document also updates [RFC8365] regarding the value that is | |||
| advertised in the ESI Label field of the ESI Label extended | advertised in the ESI Label field of the ESI Label extended | |||
| community, as follows: | community, as follows: | |||
| * The A-D per ES route(s) for an ES MAY have an ESI Label value of | * The A-D per ES route(s) for an ES MAY have an ESI Label value of | |||
| zero if the SHT value is 01. Section 2.2 specifies the scenarios | zero if the SHT value is 01. Section 2.2 specifies the scenarios | |||
| where the SHT can be 01. An ESI Label value of zero eliminates | where the SHT can be 01. An ESI Label value of zero eliminates | |||
| the need to allocate labels in cases where they are not utilized, | the need to allocate labels in cases where they are not utilized, | |||
| such as in the Local Bias method. | such as in the local-bias method. | |||
| * The A-D per ES route(s) for an ES MAY have an ESI Label value of | * The A-D per ES route(s) for an ES MAY have an ESI Label value of | |||
| zero for VXLAN or NVGRE encapsulations. | zero for VXLAN or NVGRE encapsulations. | |||
| 2.4. Backwards Compatibility With RFC8365 NVEs | 2.4. Backwards Compatibility with NVEs from RFC 8365 | |||
| As discussed in Section 2.2 this specification is backwards | As discussed in Section 2.2, this specification is backwards | |||
| compatible with the Split Horizon filtering behavior in [RFC8365] and | compatible with the split-horizon filtering behavior in [RFC8365] and | |||
| a non-upgraded NVE can be attached to the same ES as other NVEs | a non-upgraded NVE can be attached to the same ES as other NVEs | |||
| supporting this specification. | supporting this specification. | |||
| An NVE maintains an administrative SHT value for an Ethernet Segment | An NVE maintains an administrative SHT value for an ES, which is | |||
| (ES), which is advertised alongside the A-D per ES route, and an | advertised alongside the A-D per ES route, and an operational SHT | |||
| operational SHT value, which is the one actually used regardless of | value, which is the one actually used regardless of what the NVE has | |||
| what the NVE has advertised. The administrative SHT matches the | advertised. The administrative SHT matches the operational SHT if | |||
| operational SHT if all the NVEs attached to the ES have the same | all the NVEs attached to the ES have the same administrative SHT. | |||
| administrative SHT. | ||||
| This document assumes that an implementation of [RFC7432] or | This document assumes that an implementation of [RFC7432] or | |||
| [RFC8365] that does not support the specifications in this document | [RFC8365] that does not support the specifications in this document | |||
| will ignore the values of all the Flags in the ESI Label extended | will ignore the values of all the Flags in the ESI Label extended | |||
| community, except for the Single-Active bit. Based on this | community, except for the "Single-Active" bit. Based on this | |||
| assumption, a non-upgraded NVE will disregard any SHT value other | assumption, a non-upgraded NVE will disregard any SHT value other | |||
| than 00. If an upgraded NVE receives at least one A-D per ES route | than 00. If an upgraded NVE receives at least one A-D per ES route | |||
| for the ES with an SHT value of 00, it MUST revert its operational | for the ES with an SHT value of 00, it MUST revert its operational | |||
| SHT to the default Split Horizon method, as described in Table 1, | SHT to the default split-horizon method, as described in Table 1, | |||
| irrespective of its administrative SHT. | irrespective of its administrative SHT. | |||
| For instance, consider an NVE attached to ES N that receives two A-D | For instance, consider an NVE attached to ES N that receives two A-D | |||
| per ES routes for N from different NVEs, NVE1 and NVE2. If the route | per ES routes for N from different NVEs, NVE1 and NVE2. If the route | |||
| from NVE1 has an SHT value of 00 and the one from NVE2 has an SHT | from NVE1 has an SHT value of 00 and the one from NVE2 has an SHT | |||
| value of 01, the NVE MUST use the default Split Horizon method | value of 01, the NVE MUST use the default split-horizon method | |||
| specified in Table 1 as its operational SHT, regardless of its | specified in Table 1 as its operational SHT, regardless of its | |||
| administrative SHT. | administrative SHT. | |||
| All NVEs attached to an ES with an operational SHT value of 10 MUST | All NVEs attached to an ES with an operational SHT value of 10 MUST | |||
| advertise a valid, non-zero ESI Label. If the operational SHT value | advertise a valid, non-zero ESI Label. If the operational SHT value | |||
| is 01, the ESI Label MAY be zero. If the operational SHT value is | is 01, the ESI Label MAY be zero. If the operational SHT value is | |||
| 00, the ESI Label may be zero only if the default encapsulation | 00, the ESI Label may be zero only if the default encapsulation | |||
| supports Local Bias exclusively, and the NVEs do not require the | supports local bias exclusively, and the NVEs do not require the | |||
| presence of a valid, non-zero ESI Label. | presence of a valid, non-zero ESI Label. | |||
| If an NVE changes its operational SHT value from 01 (Local Bias) to | If an NVE changes its operational SHT value from 01 (Local Bias) to | |||
| 00 (Default SHT) due to the presence of a new non-upgraded NVE in the | 00 (Default SHT) due to the presence of a new non-upgraded NVE in the | |||
| ES, and it previously advertised a zero ESI Label, it MUST send an | ES, and it previously advertised a zero ESI Label, it MUST send an | |||
| update with a valid, non-zero ESI Label, unless all the non-upgraded | update with a valid, non-zero ESI Label, unless all the non-upgraded | |||
| NVEs in the ES support only Local Bias. For example, consider NVE1 | NVEs in the ES support only local bias. For example, consider NVE1 | |||
| and NVE2 using MPLSoUDP as encapsulation, attached to the same | and NVE2 using MPLSoUDP as encapsulation, attached to the same | |||
| Ethernet Segment ES1, and advertising an SHT value of 01 (Local Bias) | Ethernet Segment ES1, and advertising an SHT value of 01 (Local Bias) | |||
| with a zero ESI Label value. Suppose NVE3, which does not support | with a zero ESI Label value. Suppose NVE3, which does not support | |||
| this specification, joins ES1 and advertises an SHT value of 00 | this specification, joins ES1 and advertises an SHT value of 00 | |||
| (default). Upon receiving NVE3's A-D per ES route, NVE1 and NVE2 | (default). Upon receiving NVE3's A-D per ES route, NVE1 and NVE2 | |||
| MUST update their A-D per ES routes for ES1 to include a valid, non- | MUST update their A-D per ES routes for ES1 to include a valid, non- | |||
| zero ESI Label value. The assumption here is that NVE3 only supports | zero ESI Label value. The assumption here is that NVE3 only supports | |||
| the default ESI Label-based Split Horizon filtering. | the default ESI Label-based split-horizon filtering. | |||
| 3. Procedures for NVEs Supporting Multiple Encapsulations | 3. Procedures for NVEs Supporting Multiple Encapsulations | |||
| As specified in [RFC8365], an NVE that supports multiple data plane | As specified in [RFC8365], an NVE that supports multiple data plane | |||
| encapsulations (e.g., VXLAN, NVGRE, MPLS, MPLSoUDP, GENEVE) must | encapsulations (e.g., VXLAN, NVGRE, MPLS, MPLSoUDP, Geneve) must | |||
| indicate all supported encapsulations using BGP Encapsulation | indicate all supported encapsulations using BGP Encapsulation | |||
| extended communities as defined in [RFC9012] for all EVPN routes. | extended communities as defined in [RFC9012] for all EVPN routes. | |||
| This section provides clarification on the multihoming Split Horizon | This section provides clarification on the multihoming split-horizon | |||
| behavior for NVEs that advertise and receive multiple BGP | behavior for NVEs that advertise and receive multiple BGP | |||
| Encapsulation extended communities along with the A-D per ES routes. | Encapsulation extended communities along with the A-D per ES routes. | |||
| This section uses the notation {x, y} (more than two encapsulations | This section uses the notation {x, y} (more than two encapsulations | |||
| is possible too) to denote the encapsulations advertised in BGP | is possible too) to denote the encapsulations advertised in BGP | |||
| Encapsulation extended communities (or BGP Tunnel Encapsulation | Encapsulation extended communities (or the BGP Tunnel Encapsulation | |||
| Attribute), where x and y represent different encapsulation values. | Attribute), where x and y represent different encapsulation values. | |||
| When GENEVE is one of the encapsulations, the tunnel type is | When Geneve is one of the encapsulations, the tunnel type is | |||
| indicated in either a BGP Encapsulation extended community or a BGP | indicated in either a BGP Encapsulation extended community or a BGP | |||
| Tunnel Encapsulation Attribute. | Tunnel Encapsulation Attribute. | |||
| It is important to note that an NVE MAY advertise multiple A-D per ES | It is important to note that an NVE MAY advertise multiple A-D per ES | |||
| routes for the same ES, rather than a single route, with each route | routes for the same ES, rather than a single route, with each route | |||
| conveying a set of Route Targets (RT). The total set of Route | conveying a set of Route Targets (RTs). The total set of RTs | |||
| Targets associated with a given ES is referred to as the RT-set for | associated with a given ES is referred to as the RT-set for that ES. | |||
| that ES. Each of the EVIs represented in the RT-set will have its RT | Each of the EVIs represented in the RT-set will have its RT included | |||
| included in one, and only one, A-D per ES route for the ES. When | in one, and only one, A-D per ES route for the ES. When multiple A-D | |||
| multiple A-D per ES routes are advertised for the same ES, each route | per ES routes are advertised for the same ES, each route must have a | |||
| must have a distinct Route Distinguisher. | distinct Route Distinguisher. | |||
| As per [RFC8365], an NVE that advertises multiple encapsulations in | As per [RFC8365], an NVE that advertises multiple encapsulations in | |||
| the A-D per ES route(s) for an ES MUST advertise encapsulations that | the A-D per ES route(s) for an ES MUST advertise encapsulations that | |||
| use the same Split Horizon filtering method in the same route. For | use the same split-horizon filtering method in the same route. For | |||
| example: | example: | |||
| * An A-D per ES route for ES-x may be advertised with {VXLAN, NVGRE} | * An A-D per ES route for ES-x may be advertised with {VXLAN, NVGRE} | |||
| encapsulations. | encapsulations. | |||
| * An A-D per ES route for ES-y may be advertised with {MPLS, | * An A-D per ES route for ES-y may be advertised with {MPLS, | |||
| MPLSoUDP, MPLSoGRE} encapsulations (or a subset). | MPLSoUDP, MPLSoGRE} encapsulations (or a subset). | |||
| * But an A-D per ES route for ES-z MUST NOT be advertised with | * However, an A-D per ES route for ES-z MUST NOT be advertised with | |||
| {MPLS, VXLAN} encapsulations. | {MPLS, VXLAN} encapsulations. | |||
| This document extends the described behavior as follows: | This document extends the described behavior as follows: | |||
| a. An A-D per ES route for ES-x may be advertised with multiple | a. An A-D per ES route for ES-x may be advertised with multiple | |||
| encapsulations, some of which support a single Split Horizon | encapsulations, some of which support a single split-horizon | |||
| method. In this case, the Split Horizon Type (SHT) value MUST be | method. In this case, the SHT value MUST be 00. For instance, | |||
| 00. For instance, encapsulations such as {VXLAN, NVGRE}, {VXLAN, | encapsulations such as {VXLAN, NVGRE}, {VXLAN, Geneve}, or {MPLS, | |||
| GENEVE}, or {MPLS, MPLSoGRE, MPLSoUDP} can be advertised in an | MPLSoGRE, MPLSoUDP} can be advertised in an A-D per ES route. In | |||
| A-D per ES route. In all these cases, the SHT value MUST be 00 | all these cases, the SHT value MUST be 00 and the treat-as- | |||
| and the behavior treat-as-withdraw [RFC7606] is applied in case | withdraw behavior [RFC7606] is applied in case of any other | |||
| of any other value. | value. | |||
| b. An A-D per ES route for ES-y may be advertised with multiple | b. An A-D per ES route for ES-y may be advertised with multiple | |||
| encapsulations that all support both Split Horizon methods. In | encapsulations that all support both split-horizon methods. In | |||
| this case, the SHT value MAY be 01 if the preferred method is | this case, the SHT value MAY be 01 if the preferred method is | |||
| Local Bias, or 10 if the ESI Label-based method is desired. For | local bias, or 10 if the ESI Label-based method is desired. For | |||
| example, encapsulations such as {MPLSoGRE, MPLSoUDP, GENEVE} (or | example, encapsulations such as {MPLSoGRE, MPLSoUDP, Geneve} (or | |||
| a subset) MAY be advertised in an A-D per ES route with an SHT | a subset) MAY be advertised in an A-D per ES route with an SHT | |||
| value of 01. The ESI Label value in this case MAY be zero. | value of 01. The ESI Label value in this case MAY be zero. | |||
| c. If ES-z with RT-set composed of (RT1, RT2, RT3.. RTn) supports | c. If ES-z with an RT-set composed of (RT1, RT2, RT3.. RTn) supports | |||
| multiple encapsulations requiring different Split Horizon | multiple encapsulations requiring different split-horizon | |||
| methods, a distinct A-D per ES route (or group of routes) per | methods, a distinct A-D per ES route (or group of routes) per | |||
| Split Horizon method MUST be advertised. For example, consider | split-horizon method MUST be advertised. For example, consider | |||
| an ES-z with n Route Targets (RTs) where: | an ES-z with n RTs, where: | |||
| * the EVIs corresponding to (RT1..RTi) support VXLAN, | * the EVIs corresponding to (RT1..RTi) support VXLAN, | |||
| * the ones for (RTi+1..RTm) (with i<m) support MPLSoUDP with | * the ones for (RTi+1..RTm) (with i<m) support MPLSoUDP with | |||
| Local Bias, | local bias, and | |||
| * and the ones for (RTm+1..RTn) (with m<n) support GENEVE with | * the ones for (RTm+1..RTn) (with m<n) support Geneve with ESI | |||
| ESI Label based Split Horizon. | Label-based split horizon. | |||
| In this scenario, three groups of A-D per ES routes MUST be | In this scenario, three groups of A-D per ES routes MUST be | |||
| advertised for ES-z: | advertised for ES-z: | |||
| * A-D per ES route group 1, including (RT1..RTi), with | * A-D per ES route group 1, including (RT1..RTi) with | |||
| encapsulation {VXLAN}, and an SHT value of 00. The ESI Label | encapsulation {VXLAN} and an SHT value of 00. The ESI Label | |||
| MAY be zero. | MAY be zero. | |||
| * A-D per ES route group 2, including (RTi+1..RTm), with | * A-D per ES route group 2, including (RTi+1..RTm) with | |||
| encapsulation {MPLSoUDP}, and an SHT value of 01. The ESI | encapsulation {MPLSoUDP} and an SHT value of 01. The ESI | |||
| Label MAY be zero. | Label MAY be zero. | |||
| * A-D per ES route group 3, including (RTm+1..RTn), with | * A-D per ES route group 3, including (RTm+1..RTn) with | |||
| encapsulation {GENEVE}, and an SHT value of 10. The ESI Label | encapsulation {Geneve} and an SHT value of 10. The ESI Label | |||
| MUST have a valid, non-zero value, and the Ethernet option as | MUST have a valid, non-zero value, and the Ethernet option as | |||
| defined in [RFC8926] MUST be advertised. | defined in [RFC8926] MUST be advertised. | |||
| As per [RFC8365], it is the responsibility of the operator of a given | As per [RFC8365], it is the responsibility of the operator of a given | |||
| EVI to ensure that all of the NVEs within that EVI support a common | EVI to ensure that all of the NVEs within that EVI support a common | |||
| encapsulation. Failure to meet this condition may result in service | encapsulation. Failure to meet this condition may result in service | |||
| disruption or failure. | disruption or failure. | |||
| 4. Security Considerations | 4. Security Considerations | |||
| All the security considerations described in [RFC7432] are applicable | All the security considerations described in [RFC7432] are applicable | |||
| to this document. | to this document. | |||
| Additionally, this document modifies the procedures for Split Horizon | Additionally, this document modifies the procedures for split-horizon | |||
| filtering as outlined in [RFC8365], offering operators a choice | filtering as outlined in [RFC8365], offering operators a choice | |||
| between Local Bias and ESI Label-based filtering for tunnels that | between local bias and ESI Label-based filtering for tunnels that | |||
| support both methods. Misconfiguration of the desired Split Horizon | support both methods. Misconfiguration of the desired SHT could lead | |||
| Type (SHT) could lead to forwarding behaviors that differ from the | to forwarding behaviors that differ from the intended configuration. | |||
| intended configuration. Apart from this risk, this document | Apart from this risk, this document describes procedures to ensure | |||
| describes procedures to ensure that all Provider Edge (PE) devices or | that all PE devices or NVEs connected to the same ES agree on a | |||
| Network Virtualization Edges (NVEs) connected to the same Ethernet | common SHT method, with a fallback to a default behavior in case of a | |||
| Segment (ES) agree on a common SHT method, with a fallback to a | mismatch in the SHT bits being advertised by any two PEs or NVEs in | |||
| default behavior in case of a mismatch in the SHT bits being | the ES. Consequently, unauthorized changes to the SHT configuration | |||
| advertised by any two PEs or NVEs in the Ethernet Segment. | by an attacker on a single PE or NVE of the ES should not cause | |||
| Consequently, unauthorized changes to the SHT configuration by an | traffic disruption (as long as the SHT value is valid as per this | |||
| attacker on a single PE or NVE of the Ethernet Segment should not | document) but may result in alterations to forwarding behavior. | |||
| cause traffic disruption (as long as the SHT value is valid as per | ||||
| this document) but may result in alterations to forwarding behavior. | ||||
| 5. IANA Considerations | 5. IANA Considerations | |||
| This document creates a registry called "EVPN ESI Label Extended | Per this document, IANA has created the "EVPN ESI Label Extended | |||
| Community Flags" for the 1-octet Flags field in the ESI Label | Community Flags" registry for the 1-octet Flags field in the ESI | |||
| Extended Community [RFC7432], as follows: | Label Extended Community [RFC7432], as follows: | |||
| +==============+=============================+===============+ | +==============+=============================+===========+ | |||
| | Bit Position | Name | Reference | | | Bit Position | Name | Reference | | |||
| +==============+=============================+===============+ | +==============+=============================+===========+ | |||
| | 0-1 | Multihoming Redundancy Mode | [RFC7432] | | | 0-1 | Multihoming Redundancy Mode | [RFC7432] | | |||
| +--------------+-----------------------------+---------------+ | +--------------+-----------------------------+-----------+ | |||
| | 2-5 | Unassigned | | | | 2-5 | Unassigned | | | |||
| +--------------+-----------------------------+---------------+ | +--------------+-----------------------------+-----------+ | |||
| | 6-7 | Split Horizon Type | This Document | | | 6-7 | Split-Horizon Type | RFC 9746 | | |||
| +--------------+-----------------------------+---------------+ | +--------------+-----------------------------+-----------+ | |||
| Table 2 | Table 2 | |||
| This document also creates a registry for the "Multihoming Redundancy | IANA has also created the "Multihoming Redundancy Mode" registry for | |||
| Mode" field of the EVPN ESI Label Extended Community Flags. This | the related field of the "EVPN ESI Label Extended Community Flags". | |||
| registry is called "Multihoming Redundancy Mode" and is initialized | The registry has been populated with the following initial values: | |||
| as follows: | ||||
| +=======+=============================+===========+ | +=======+=============================+===========+ | |||
| | Value | Multihoming redundancy mode | Reference | | | Value | Multihoming Redundancy Mode | Reference | | |||
| +=======+=============================+===========+ | +=======+=============================+===========+ | |||
| | 00 | All-Active mode | [RFC7432] | | | 00 | All-Active | [RFC7432] | | |||
| +-------+-----------------------------+-----------+ | +-------+-----------------------------+-----------+ | |||
| | 01 | Single-Active mode | [RFC7432] | | | 01 | Single-Active | [RFC7432] | | |||
| +-------+-----------------------------+-----------+ | +-------+-----------------------------+-----------+ | |||
| | 10 | Unassigned | | | | 10 | Unassigned | | | |||
| +-------+-----------------------------+-----------+ | +-------+-----------------------------+-----------+ | |||
| | 11 | Unassigned | | | | 11 | Unassigned | | | |||
| +-------+-----------------------------+-----------+ | +-------+-----------------------------+-----------+ | |||
| Table 3 | Table 3 | |||
| Finally, a third registry for the "Split Horizon Type" field of the | Finally, IANA has created the "Split-Horizon Type" registry for the | |||
| EVPN ESI Label Extended Community Flags is created by this document | related field of the "EVPN ESI Label Extended Community Flags". The | |||
| too. This registry is called "Split Horizon Type" and is initialized | registry has been populated with the following initial values: | |||
| as follows: | ||||
| +=======+===========================+===============+ | +=======+===========================+===========+ | |||
| | Value | Split Horizon Type value | Reference | | | Value | Split-Horizon Type Value | Reference | | |||
| +=======+===========================+===============+ | +=======+===========================+===========+ | |||
| | 00 | Default SHT | This document | | | 00 | Default SHT | RFC 9746 | | |||
| +-------+---------------------------+---------------+ | +-------+---------------------------+-----------+ | |||
| | 01 | Local Bias | This document | | | 01 | Local Bias | RFC 9746 | | |||
| +-------+---------------------------+---------------+ | +-------+---------------------------+-----------+ | |||
| | 10 | ESI Label based filtering | This document | | | 10 | ESI Label-based filtering | RFC 9746 | | |||
| +-------+---------------------------+---------------+ | +-------+---------------------------+-----------+ | |||
| | 11 | Unassigned | | | | 11 | Unassigned | | | |||
| +-------+---------------------------+---------------+ | +-------+---------------------------+-----------+ | |||
| Table 4 | Table 4 | |||
| New registrations in the "EVPN ESI Label Extended Community Flags", | New registrations in the "EVPN ESI Label Extended Community Flags", | |||
| "Multihoming Redundancy Mode", and "Split Horizon Type" registries | "Multihoming Redundancy Mode", and "Split-Horizon Type" registries | |||
| will be made through the "IETF Review" procedure defined in | will be made through the "IETF Review" procedure defined in | |||
| [RFC8126]. These registries are located in the "Border Gateway | [RFC8126]. These registries are located in the "Border Gateway | |||
| Protocol (BGP) Extended Communities" registry group. | Protocol (BGP) Extended Communities" registry group. | |||
| 6. Acknowledgments | 6. References | |||
| The authors would like to thank Anoop Ghanwani, Gyan Mishra and | ||||
| Jeffrey Zhang for their review and useful comments. Thanks to Gunter | ||||
| van de Velde and Sue Hares as well, for their thorough review. | ||||
| 7. References | ||||
| 7.1. Normative References | 6.1. Normative References | |||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February | |||
| 2015, <https://www.rfc-editor.org/info/rfc7432>. | ||||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 2015, <https://www.rfc-editor.org/info/rfc7432>. | ||||
| [RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R., | [RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R., | |||
| Uttaro, J., and W. Henderickx, "A Network Virtualization | Uttaro, J., and W. Henderickx, "A Network Virtualization | |||
| Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365, | Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365, | |||
| DOI 10.17487/RFC8365, March 2018, | DOI 10.17487/RFC8365, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8365>. | <https://www.rfc-editor.org/info/rfc8365>. | |||
| [RFC9252] Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene, | [RFC9252] Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene, | |||
| B., Zhuang, S., and J. Rabadan, "BGP Overlay Services | B., Zhuang, S., and J. Rabadan, "BGP Overlay Services | |||
| Based on Segment Routing over IPv6 (SRv6)", RFC 9252, | Based on Segment Routing over IPv6 (SRv6)", RFC 9252, | |||
| DOI 10.17487/RFC9252, July 2022, | DOI 10.17487/RFC9252, July 2022, | |||
| <https://www.rfc-editor.org/info/rfc9252>. | <https://www.rfc-editor.org/info/rfc9252>. | |||
| 7.2. Informative References | 6.2. Informative References | |||
| [I-D.ietf-bess-evpn-geneve] | [EVPN-GENEVE] | |||
| Boutros, S., Sajassi, A., Drake, J., Rabadan, J., and S. | Boutros, S., Sajassi, A., Drake, J., Rabadan, J., and S. | |||
| Aldrin, "EVPN control plane for Geneve", Work in Progress, | Aldrin, "EVPN control plane for Geneve", Work in Progress, | |||
| Internet-Draft, draft-ietf-bess-evpn-geneve-08, 5 July | Internet-Draft, draft-ietf-bess-evpn-geneve-08, 5 July | |||
| 2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | 2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
| bess-evpn-geneve-08>. | bess-evpn-geneve-08>. | |||
| [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, Ed., | ||||
| "Encapsulating MPLS in IP or Generic Routing Encapsulation | ||||
| (GRE)", RFC 4023, DOI 10.17487/RFC4023, March 2005, | ||||
| <https://www.rfc-editor.org/info/rfc4023>. | ||||
| [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, | [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, | |||
| L., Sridhar, T., Bursell, M., and C. Wright, "Virtual | L., Sridhar, T., Bursell, M., and C. Wright, "Virtual | |||
| eXtensible Local Area Network (VXLAN): A Framework for | eXtensible Local Area Network (VXLAN): A Framework for | |||
| Overlaying Virtualized Layer 2 Networks over Layer 3 | Overlaying Virtualized Layer 2 Networks over Layer 3 | |||
| Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, | Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, | |||
| <https://www.rfc-editor.org/info/rfc7348>. | <https://www.rfc-editor.org/info/rfc7348>. | |||
| [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, Ed., | ||||
| "Encapsulating MPLS in IP or Generic Routing Encapsulation | ||||
| (GRE)", RFC 4023, DOI 10.17487/RFC4023, March 2005, | ||||
| <https://www.rfc-editor.org/info/rfc4023>. | ||||
| [RFC7637] Garg, P., Ed. and Y. Wang, Ed., "NVGRE: Network | ||||
| Virtualization Using Generic Routing Encapsulation", | ||||
| RFC 7637, DOI 10.17487/RFC7637, September 2015, | ||||
| <https://www.rfc-editor.org/info/rfc7637>. | ||||
| [RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black, | [RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black, | |||
| "Encapsulating MPLS in UDP", RFC 7510, | "Encapsulating MPLS in UDP", RFC 7510, | |||
| DOI 10.17487/RFC7510, April 2015, | DOI 10.17487/RFC7510, April 2015, | |||
| <https://www.rfc-editor.org/info/rfc7510>. | <https://www.rfc-editor.org/info/rfc7510>. | |||
| [RFC8926] Gross, J., Ed., Ganga, I., Ed., and T. Sridhar, Ed., | ||||
| "Geneve: Generic Network Virtualization Encapsulation", | ||||
| RFC 8926, DOI 10.17487/RFC8926, November 2020, | ||||
| <https://www.rfc-editor.org/info/rfc8926>. | ||||
| [RFC9012] Patel, K., Van de Velde, G., Sangli, S., and J. Scudder, | ||||
| "The BGP Tunnel Encapsulation Attribute", RFC 9012, | ||||
| DOI 10.17487/RFC9012, April 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9012>. | ||||
| [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | |||
| Patel, "Revised Error Handling for BGP UPDATE Messages", | Patel, "Revised Error Handling for BGP UPDATE Messages", | |||
| RFC 7606, DOI 10.17487/RFC7606, August 2015, | RFC 7606, DOI 10.17487/RFC7606, August 2015, | |||
| <https://www.rfc-editor.org/info/rfc7606>. | <https://www.rfc-editor.org/info/rfc7606>. | |||
| [RFC7637] Garg, P., Ed. and Y. Wang, Ed., "NVGRE: Network | ||||
| Virtualization Using Generic Routing Encapsulation", | ||||
| RFC 7637, DOI 10.17487/RFC7637, September 2015, | ||||
| <https://www.rfc-editor.org/info/rfc7637>. | ||||
| [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | ||||
| Decraene, B., Litkowski, S., and R. Shakir, "Segment | ||||
| Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | ||||
| July 2018, <https://www.rfc-editor.org/info/rfc8402>. | ||||
| [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | |||
| Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
| Routing with the MPLS Data Plane", RFC 8660, | Routing with the MPLS Data Plane", RFC 8660, | |||
| DOI 10.17487/RFC8660, December 2019, | DOI 10.17487/RFC8660, December 2019, | |||
| <https://www.rfc-editor.org/info/rfc8660>. | <https://www.rfc-editor.org/info/rfc8660>. | |||
| [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | ||||
| Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | ||||
| (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | ||||
| <https://www.rfc-editor.org/info/rfc8754>. | ||||
| [RFC8926] Gross, J., Ed., Ganga, I., Ed., and T. Sridhar, Ed., | ||||
| "Geneve: Generic Network Virtualization Encapsulation", | ||||
| RFC 8926, DOI 10.17487/RFC8926, November 2020, | ||||
| <https://www.rfc-editor.org/info/rfc8926>. | ||||
| [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, | |||
| D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 | |||
| (SRv6) Network Programming", RFC 8986, | (SRv6) Network Programming", RFC 8986, | |||
| DOI 10.17487/RFC8986, February 2021, | DOI 10.17487/RFC8986, February 2021, | |||
| <https://www.rfc-editor.org/info/rfc8986>. | <https://www.rfc-editor.org/info/rfc8986>. | |||
| [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | [RFC9012] Patel, K., Van de Velde, G., Sangli, S., and J. Scudder, | |||
| Decraene, B., Litkowski, S., and R. Shakir, "Segment | "The BGP Tunnel Encapsulation Attribute", RFC 9012, | |||
| Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | DOI 10.17487/RFC9012, April 2021, | |||
| July 2018, <https://www.rfc-editor.org/info/rfc8402>. | <https://www.rfc-editor.org/info/rfc9012>. | |||
| [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | [TUNNEL-ENCAP] | |||
| Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | IANA, "Border Gateway Protocol (BGP) Tunnel | |||
| (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | Encapsulation", <https://www.iana.org/assignments/bgp- | |||
| <https://www.rfc-editor.org/info/rfc8754>. | tunnel-encapsulation>. | |||
| [I-D.ietf-nvo3-vxlan-gpe] | [VXLAN-GPE] | |||
| Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol | Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol | |||
| Extension for VXLAN (VXLAN-GPE)", Work in Progress, | Extension for VXLAN (VXLAN-GPE)", Work in Progress, | |||
| Internet-Draft, draft-ietf-nvo3-vxlan-gpe-13, 4 November | Internet-Draft, draft-ietf-nvo3-vxlan-gpe-13, 4 November | |||
| 2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | 2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
| nvo3-vxlan-gpe-13>. | nvo3-vxlan-gpe-13>. | |||
| [IANA-BGP-TUNNEL-ENCAP] | Acknowledgments | |||
| IANA, "Border Gateway Protocol (BGP) Tunnel | ||||
| Encapsulation", <https://www.iana.org/assignments/bgp- | The authors would like to thank Anoop Ghanwani, Gyan Mishra, and | |||
| tunnel-encapsulation/bgp-tunnel- | Jeffrey Zhang for their review and useful comments. Thanks to Gunter | |||
| encapsulation.xhtml#tunnel-types>. | Van de Velde and Sue Hares as well, for their thorough review. | |||
| Authors' Addresses | Authors' Addresses | |||
| Jorge Rabadan (editor) | Jorge Rabadan (editor) | |||
| Nokia | Nokia | |||
| 520 Almanor Avenue | 520 Almanor Avenue | |||
| Sunnyvale, CA 94085 | Sunnyvale, CA 94085 | |||
| United States of America | United States of America | |||
| Email: jorge.rabadan@nokia.com | Email: jorge.rabadan@nokia.com | |||
| Kiran Nagaraj | Kiran Nagaraj | |||
| Nokia | Nokia | |||
| 520 Almanor Avenue | 520 Almanor Avenue | |||
| End of changes. 145 change blocks. | ||||
| 442 lines changed or deleted | 449 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||