[
RFC 7432] provides an extendable method of building an EVPN overlay. It primarily focuses on MPLS-based EVPNs, and [
RFC 8365] extends to IP-based EVPN overlays. [
RFC 7432] defines Route Types 1, 2, and 3, which carry prefixes and MPLS Label fields; the Label fields have a specific use for MPLS encapsulation of EVPN traffic. Route Type 5 carrying MPLS label information (and thus encapsulation information) for an EVPN is defined in [
RFC 9136]. Route Types 6, 7, and 8 are defined in [
RFC 9251].
-
Ethernet Auto-Discovery (A-D) route (Route Type 1)
-
MAC/IP Advertisement route (Route Type 2)
-
Inclusive Multicast Ethernet Tag route (Route Type 3)
-
Ethernet Segment route (Route Type 4)
-
IP Prefix route (Route Type 5)
-
Selective Multicast Ethernet Tag route (Route Type 6)
-
Multicast Membership Report Synch route (Route Type 7)
-
Multicast Leave Synch route (Route Type 8)
The specifications for other EVPN Route Types are outside the scope of this document.
To support SRv6-based EVPN overlays, one or more SRv6 Service SIDs are advertised with Route Types 1, 2, 3, and 5. The SRv6 Service SID(s) per Route Type is advertised in SRv6 L3/L2 Service TLVs within the BGP Prefix-SID attribute. Signaling of the SRv6 Service SID(s) serves two purposes -- first, it indicates that the BGP egress device supports SRv6 overlay, and the BGP ingress device receiving this route
MUST perform IPv6 encapsulation and insert an SRH [
RFC 8754] when required; second, it indicates the value of the Service SID(s) to be used in the encapsulation.
The SRv6 Service SID
SHOULD be routable (refer to
Section 3.3 of
RFC 8986) within the AS of the egress PE and serves the dual purpose of providing reachability between the ingress PE and egress PE while also encoding the SRv6 Endpoint Behavior.
When steering for SRv6 services is based on shortest path forwarding (e.g., best effort or IGP Flexible Algorithm [
IGP-FLEX-ALGO]) to the egress PE, the ingress PE encapsulates the customer Layer 2 Ethernet packet in an outer IPv6 header (using H.Encaps.L2 or H.Encaps.L2.Red flavors specified in [
RFC 8986]) where the destination address is the SRv6 Service SID associated with the related BGP route update. Therefore, the ingress PE
MUST perform a resolvability check for the SRv6 Service SID before considering the received prefix for the BGP best path computation. The resolvability is evaluated as per [
RFC 4271]. If the SRv6 SID is reachable via more than one forwarding table, local policy is used to determine which table to use. The result of an SRv6 Service SID resolvability (e.g., when provided via IGP Flexible Algorithm) can be ignored if the ingress PE has a local policy that allows an alternate steering mechanism to reach the egress PE. The details of such steering mechanisms are outside the scope of this document.
For service over SRv6 core, the egress PE sets the BGP next hop to one of its IPv6 addresses. Such an address
MAY be covered by the SRv6 Locator from which the SRv6 Service SID is allocated. The BGP next hop is used for tracking the reachability of the egress PE based on existing BGP procedures.
When the BGP route received at an ingress PE is colored with a Color Extended Community and a valid SRv6 Policy is available, the steering for service flows is performed as described in [
SEGMENT-ROUTING-POLICY]. When the ingress PE determines (with the help of the SRv6 SID Structure) that the Service SID belongs to the same SRv6 Locator as the last SRv6 SID (of the egress PE) in the SR Policy segment list, it
MAY exclude that last SRv6 SID when steering the service flow. For example, the effective segment list of the SRv6 Policy associated with SID list <S1, S2, S3> would be <S1, S2, S3-Service-SID>.
Ethernet A-D routes are Route Type 1, as defined in [
RFC 7432], and may be used to achieve split-horizon filtering, fast convergence, and aliasing. EVPN Route Type 1 is also used in EVPN-VPWS as well as in EVPN-flexible cross-connect, mainly to advertise point-to-point service IDs.
As a reminder, EVPN Route Type 1 is encoded as follows:
+-----------------------------------------+
| RD (8 octets) |
+-----------------------------------------+
| Ethernet Segment Identifier (10 octets)|
+-----------------------------------------+
| Ethernet Tag ID (4 octets) |
+-----------------------------------------+
| MPLS label (3 octets) |
+-----------------------------------------+
Ethernet A-D per ES route NLRI encoding over SRv6 core is as per [
RFC 7432].
The 24-bit ESI Label field of the ESI Label extended community carries the whole or a portion of the Argument part of the SRv6 SID when the ESI filtering approach is used along with the Transposition Scheme of encoding (
Section 4); otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length
MUST be less than or equal to 24 and less than or equal to the AL.
A Service SID enclosed in an SRv6 L2 Service TLV within the BGP Prefix-SID attribute is advertised along with the A-D route. The SRv6 Endpoint Behavior
SHOULD be End.DT2M. When the ESI filtering approach is used, the Service SID is used to signal the Arg.FE2 SID Argument for applicable End.DT2M behavior [
RFC 8986]. When the local-bias approach [
RFC 8365] is used, the Service SID
MAY be of value 0.
Ethernet A-D per EVPN Instance (EVI) route NLRI encoding over SRv6 core is similar to what is described in [
RFC 7432] and [
RFC 8214] with the following change:
-
MPLS Label:
-
The 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
A Service SID enclosed in an SRv6 L2 Service TLV within the BGP Prefix-SID attribute is advertised along with the A-D route. The SRv6 Endpoint Behavior
SHOULD be one of these: End.DX2, End.DX2V, or End.DT2U.
EVPN Route Type 2 is used to advertise unicast traffic Media Access Control (MAC) + IP address reachability through MP-BGP to all other PEs in a given EVPN instance.
As a reminder, EVPN Route Type 2 is encoded as follows:
+-----------------------------------------+
| RD (8 octets) |
+-----------------------------------------+
| Ethernet Segment Identifier (10 octets)|
+-----------------------------------------+
| Ethernet Tag ID (4 octets) |
+-----------------------------------------+
| MAC Address Length (1 octet) |
+-----------------------------------------+
| MAC Address (6 octets) |
+-----------------------------------------+
| IP Address Length (1 octet) |
+-----------------------------------------+
| IP Address (0, 4, or 16 octets) |
+-----------------------------------------+
| MPLS Label1 (3 octets) |
+-----------------------------------------+
| MPLS Label2 (0 or 3 octets) |
+-----------------------------------------+
NLRI encoding over SRv6 core is similar to what is described in [
RFC 7432] with the following changes:
-
MPLS Label1:
-
This is associated with the SRv6 L2 Service TLV. This 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
-
MPLS Label2:
-
This is associated with the SRv6 L3 Service TLV. This 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
Service SIDs enclosed in the SRv6 L2 Service TLV and optionally in the SRv6 L3 Service TLV within the BGP Prefix-SID attribute are advertised along with the MAC/IP Advertisement route.
Described below are different types of Route Type 2 advertisements.
-
MPLS Label1:
-
This is associated with the SRv6 L2 Service TLV. This 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
A Service SID enclosed in an SRv6 L2 Service TLV within the BGP Prefix-SID attribute is advertised along with the route. The SRv6 Endpoint Behavior
SHOULD be one of these: End.DX2 or End.DT2U.
-
MPLS Label1:
-
This is associated with the SRv6 L2 Service TLV. This 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
-
MPLS Label2:
-
This is associated with the SRv6 L3 Service TLV. This 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
An L2 Service SID enclosed in an SRv6 L2 Service TLV within the BGP Prefix-SID attribute is advertised along with the route. In addition, an L3 Service SID enclosed in an SRv6 L3 Service TLV within the BGP Prefix-SID attribute
MAY also be advertised along with the route. The SRv6 Endpoint Behavior
SHOULD be one of these: for the L2 Service SID, End.DX2 or End.DT2U and for the L3 Service SID, End.DT46, End.DT4, End.DT6, End.DX4, or End.DX6.
EVPN Route Type 3 is used to advertise multicast traffic reachability information through MP-BGP to all other PEs in a given EVPN instance.
As a reminder, EVPN Route Type 3 is encoded as follows:
+---------------------------------------+
| RD (8 octets) |
+---------------------------------------+
| Ethernet Tag ID (4 octets) |
+---------------------------------------+
| IP Address Length (1 octet) |
+---------------------------------------+
| Originating Router's IP Address |
| (4 or 16 octets) |
+---------------------------------------+
NLRI encoding over SRv6 core is similar to what is described in [
RFC 7432].
The P-Multicast Service Interface (PMSI) Tunnel Attribute [
RFC 6514] is used to identify the Provider tunnel (P-tunnel) used for sending Broadcast, Unknown Unicast, or Multicast (BUM) traffic. The format of the PMSI Tunnel Attribute is encoded as follows over SRv6 core:
+---------------------------------------+
| Flag (1 octet) |
+---------------------------------------+
| Tunnel Type (1 octet) |
+---------------------------------------+
| MPLS label (3 octets) |
+---------------------------------------+
| Tunnel Identifier (variable) |
+---------------------------------------+
-
Flag:
-
This field has a value of 0, as defined per [RFC 7432].
-
Tunnel Type:
-
This field is defined per [RFC 6514].
-
MPLS label:
-
This 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when ingress replication is used and the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set as defined in [RFC 6514]. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
-
Tunnel Identifier:
-
This field is the IP address of egress PE.
A Service SID enclosed in an SRv6 L2 Service TLV within the BGP Prefix-SID attribute is advertised along with the route. The SRv6 Endpoint Behavior
SHOULD be End.DT2M.
-
When ESI-based filtering is used for multihoming or Ethernet Tree (E-Tree) procedures, the ESI Filtering Argument (the Arg.FE2 notation introduced in [RFC 8986]) of the Service SID carried along with EVPN Route Type 1 SHOULD be merged with the applicable End.DT2M SID of Route Type 3 advertised by the remote PE by doing a bitwise logical-OR operation to create a single SID on the ingress PE. Details of split-horizon, ESI-based filtering mechanisms for multihoming are described in [RFC 7432]. Details of filtering mechanisms for Leaf-originated BUM traffic in EVPN E-Tree services are provided in [RFC 8317].
-
When "local-bias" is used as the multihoming split-horizon method, the ESI Filtering Argument SHOULD NOT be merged with the corresponding End.DT2M SID on the ingress PE. Details of the local-bias procedures are described in [RFC 8365].
Usage of multicast trees as P-tunnels is outside the scope of this document.
As a reminder, an Ethernet Segment route (i.e., EVPN Route Type 4) is encoded as follows:
+---------------------------------------+
| RD (8 octets) |
+---------------------------------------+
| Ethernet Tag ID (4 octets) |
+---------------------------------------+
| IP Address Length (1 octet) |
+---------------------------------------+
| Originating Router's IP Address |
| (4 or 16 octets) |
+---------------------------------------+
NLRI encoding over SRv6 core is similar to what is described in [
RFC 7432].
SRv6 Service TLVs within the BGP Prefix-SID attribute are not advertised along with this route. The processing of the route has not changed -- it remains as described in [
RFC 7432].
EVPN Route Type 5 is used to advertise IP address reachability through MP-BGP to all other PEs in a given EVPN instance. The IP address may include a host IP prefix or any specific subnet.
As a reminder, EVPN Route Type 5 is encoded as follows:
+-----------------------------------------+
| RD (8 octets) |
+-----------------------------------------+
| Ethernet Segment Identifier (10 octets)|
+-----------------------------------------+
| Ethernet Tag ID (4 octets) |
+-----------------------------------------+
| IP Prefix Length (1 octet) |
+-----------------------------------------+
| IP Prefix (4 or 16 octets) |
+-----------------------------------------+
| GW IP Address (4 or 16 octets) |
+-----------------------------------------+
| MPLS Label (3 octets) |
+-----------------------------------------+
NLRI encoding over SRv6 core is similar to what is described in [
RFC 9136] with the following change:
-
MPLS Label:
-
This 24-bit field carries the whole or a portion of the Function part of the SRv6 SID when the Transposition Scheme of encoding (Section 4) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the Transposition Length MUST be less than or equal to 24 and less than or equal to the FL.
The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV. The SRv6 Endpoint Behavior
SHOULD be one of these: End.DT4, End.DT6, End.DT46, End.DX4, or End.DX6.
These routes do not require the advertisement of SRv6 Service TLVs along with them. Similar to EVPN Route Type 4, the BGP next hop is equal to the IPv6 address of egress PE.