This chapter provides an overview and configuration information about Ethernet Virtual Private Networks (EVPNs).
Topics in this chapter include:
EVPN is an IETF technology as defined in RFC 7432, BGP MPLS-Based Ethernet VPN, that uses a new BGP address family and allows VPLS services to be operated as IP-VPNs, where the MAC addresses and the information to set up the flooding trees are distributed by BGP.
EVPN is designed to fill the gaps in other Layer 2 VPN technologies such as VPLS. The main objective of EVPN is to build Ethernet LAN (E-LAN) services similar to RFC 4364 IP-VPNs while supporting MAC address learning in the control plane (distributed by MP-BGP), efficient multi-destination traffic delivery, and active-active multihoming.
![]() | Note: EVPN is not supported on non-Ethernet and first-generation (Gen-1) adapter cards. Traffic that ingresses a non-Ethernet or Gen-1 adapter card may not be permitted to egress an EVPN endpoint, and EVPN egress traffic is not permitted on a non-Ethernet or Gen-1 adapter card. For information on adapter card generations, refer to the “Evolution of Ethernet Adapter Cards, Modules, and Platforms” section in the 7705 SAR Interface Configuration Guide. |
EVPN can be used as the control plane for different data plane encapsulations. The 7705 SAR implementation supports the following data plane encapsulation:
Figure 151 shows the use of EVPN for MPLS tunnels on the 7705 SAR. In this example, EVPN is used as the control plane for E-LAN services in the WAN.
EVPN-MPLS is standardized in RFC 7432 as a Layer 2 VPN technology that can fill the gaps in VPLS for E-LAN services. A significant number of service providers offering E-LAN services today require EVPN for its multihoming capabilities as well as for the optimization that EVPN provides. EVPN supports all-active multihoming and single-active multihoming.
Although VPLS already supports single-active multihoming, EVPN single-active multihoming is considered to be a superior technology due to its mass-withdrawal capabilities to speed up convergence in scaled environments.
EVPN technology provides significant benefits, including:
The MPLS network used by EVPN for E-LAN services can also be shared by Ethernet line (E-Line) services using EVPN in the control plane. EVPN for E-Line services (EVPN-VPWS, virtual private wire service) is a simplification of the RFC 7432 procedure, and is supported on the 7705 SAR in compliance with IETF draft-ietf-bess-evpn-vpws.
This section provides information about EVPN for MPLS tunnels:
Table 196 lists the EVPN route types supported on the 7705 SAR and their use in EVPN-MPLS.
EVPN Route Type | Use |
Type 1 – Ethernet Auto-Discovery route | Mass-withdrawal, Ethernet segment identifier (ESI) labels, aliasing |
Type 2 – MAC/IP Advertisement route | MAC/IP advertisement, IP advertisement for ARP resolution |
Type 3 – Inclusive Multicast Ethernet Tag route | Flooding tree setup (BMU flooding) |
Type 4 – Ethernet Segment (ES) route | ES discovery and DF election |
Type 5 – IP Prefix Advertisement route | IP routing |
If EVPN multihoming is not required, two route types are needed to set up a basic EVPN instance (EVI) (see Figure 152):
If multihoming is required, two additional route types are needed (see Figure 153):
The route fields and extended communities for route types 2 and 3 are shown in Figure 152.
When EVPN multihoming is enabled in the system, two more routes (route types 1 and 4) are required. Figure 153 shows the fields in route types 1 and 4 and their associated extended communities.
The 7705 SAR generates route type 2 for advertising MAC addresses. If mac-advertisement is enabled, the router generates MAC advertisement routes for the following:
![]() | Note: The unknown-mac-route command is not supported for EVPN-MPLS services. |
Route type 2 uses the fields and values shown in Figure 152 and described in Table 197. For type 2 BGP route key processing, the following fields are considered to be part of the prefix in the NLRI: Ethernet tag ID, MAC address length, MAC address, IP address length, and IP address.
Field | Value |
Route distinguisher | Taken from the RD of the VPLS service within the BGP context. The RD can be configured or derived from the bgp-evpn>evi value. |
Ethernet segment identifier (ESI) | Zero for MAC addresses learned from single-homed CEs and non-zero for MAC addresses learned from multihomed CEs |
Ethernet tag ID | 0 |
MAC address length | Always 48 |
MAC address | MAC address learned or statically configured |
IP address and IP address length | The IP address associated with the MAC address being advertised, with a length of 32 (or 128 for IPv6) In general, any MAC route without an IP address has IPL=0 (IP length) and the IP address is omitted When received, any IPL value not equal to 0, 32, or 128 discards the route |
MPLS label 1 | Carries the MPLS label allocated by the system to the VPLS service. The label value is encoded in the high-order 20 bits of the field and is the same label used in route type 3 for the same service unless bgp-evpn>mpls>ingress-replication-bum-label is configured in the service. |
MPLS label 2 | 0 |
MAC mobility extended community | Used for signaling the sequence number in case of MAC moves and the sticky bit in case of advertising conditional static MAC addresses. If a MAC route is received with a MAC mobility extended community, the sequence number and the sticky bit are considered during route selection. |
Route type 3 is used for setting up the flooding tree (BMU flooding) for a specified VPLS service. The received inclusive multicast routes add entries to the VPLS flood list in the 7705 SAR. Ingress replication is supported as the tunnel type in route type 3 when BGP-EVPN MPLS is enabled.
Figure 152 shows and Table 198 describes the route values used for EVPN-MPLS services. For type 3 BGP route key processing, the following fields are considered to be part of the prefix in the NLRI: Ethernet tag ID, IP address length, and originating router IP address.
Field | Value | |
Route distinguisher | Taken from the RD of the VPLS service within the BGP context. The RD can be configured or derived from the bgp-evpn>evi value. | |
Ethernet tag ID | 0 | |
IP address length | Always 32 | |
Originating router IP address | Carries the system address (IPv4 only) | |
PMSI attribute | The PMSI attribute can have different formats depending on the tunnel type enabled in the service | |
Tunnel type = ingress replication (6) The route is referred to as an Inclusive Multicast Ethernet Tag IR (IMET-IR) route and the PMSI Tunnel Attribute (PTA) fields are populated as follows: | ||
Flags—Leaf not required MPLS label—Carries the MPLS label allocated for the service in the high-order 20 bits of the label field. Unless bgp-evpn>mpls>ingress-replication-bum-label is configured in the service, the MPLS label used is the same as that used in the MAC/IP routes for the service. Tunnel endpoint—Equal to the originating IP address |
The 7705 SAR generates route type 1 for advertising for multihoming functions. The system can generate the following two subtypes of Ethernet AD routes:
The Ethernet AD per-ESI route uses the fields and values shown in Figure 153 and described in Table 199. For type 1 BGP route key processing, the following fields are considered to be part of the prefix in the NLRI: Ethernet segment identifier and Ethernet tag ID.
Field | Value |
Route distinguisher | Taken from the system-level RD or service-level RD |
Ethernet segment identifier (ESI) | Contains a 10-byte identifier as configured in the system for a specified Ethernet segment |
Ethernet tag ID | MAX-ET (0xFFFFFFFF). This value is reserved and used only for AD routes per ESI. |
MPLS label | 0 |
ESI label extended community | Includes the single-active bit (0 for all-active and 1 for single-active) and ESI label for all-active multihoming split-horizon |
Route target extended community | Taken from the service-level RT or an RT set for the services defined on the Ethernet segment |
The system can send either a separate Ethernet AD per-ESI route per service or several Ethernet AD per-ESI routes aggregating the route targets for multiple services. While both alternatives can interoperate, RFC 7432 states that the EVPN AD per-ES route must be sent with a set of route targets corresponding to all the EVIs defined on the Ethernet segment. Either alternative can be enabled using the ad-per-es-route-target command options.
The default option, evi-rt, configures the system to send a separate AD per-ES route per service.
The evi-rt-set route-distinguisher ip-address option, when enabled, allows the aggregation of routes; that is, a single AD per-ES route with the associated RD (ip-address:1) and a set of EVI route targets are advertised (to a maximum of 128 route targets). If the number of EVIs defined in the Ethernet segment is significantly large for the packet size, the system will send more than one route. For example:
The Ethernet AD per-EVI route uses the fields and values shown in Figure 153 and described in Table 200.
![]() | Note: The AD per-EVI route does not send the ESI label extended community field as is done for Ethernet AD per-ESI (see Table 199). |
Field | Value |
Route distinguisher | Taken from the service-level RD |
Ethernet segment identifier (ESI) | Contains a 10-byte identifier as configured in the system for a specified Ethernet segment |
Ethernet tag ID | 0 |
MPLS label | Encodes the unicast label allocated for the service (high-order 20 bits) |
Route target extended community | Taken from the service-level RT |
The 7705 SAR generates route type 4 for multihoming ES discovery and designated forwarder (DF) election.
The Ethernet segment route uses the fields and values shown in Figure 153 and described in Table 201. For type 4 BGP route key processing, the following fields are considered to be part of the prefix in the NLRI: Ethernet segment ID, IP address length, and originating router IP address.
Field | Value |
Route distinguisher | Taken from the service-level RD |
Ethernet segment identifier (ESI) | Contains a 10-byte identifier as configured in the system for a specified Ethernet segment |
ES-import route target community | Automatically derived value from the MAC address portion of the ESI. This extended community is treated as a route target and is supported by RT-constraint (route target BGP family). |
EVPN route type 5 (IP prefix route) is supported for MPLS tunnels. The route fields for route type 5 are shown in Figure 154 and described in Table 202. For type 5 BGP route key processing, the following fields are considered to be part of the prefix in the NLRI: Ethernet tag ID, IP prefix length, and IP prefix.
All the routes in EVPN-MPLS are sent with the RFC 5512 tunnel encapsulation extended community, with the tunnel type value set to MPLS.
The router generates route type 5 for advertising IP prefixes in EVPN. The router generates IP prefix advertisement routes for:
Field | Value |
Route distinguisher | Taken from the RD configured in the IRB backhaul r-VPLS service within the BGP context |
Ethernet segment identifier (ESI) | 0:0:0:0:0:0:0:0:0:0 |
Ethernet tag ID | 0 |
IP address length | Any value in the range 0 to 128 |
IP address | Any valid IPv4 or IPv6 address |
GW IP address | Can carry two different values: - If different from 0, route type 5 carries the primary IP interface address of the VPRN behind which the IP prefix is known. This is the case for the regular IRB backhaul r-VPLS model. - If 0.0.0.0, the route type 5 is sent with a MAC next-hop extended community that carries the VPRN interface MAC address. This is the case for the EVPN tunnel r-VPLS model. |
MPLS label | Carries the MPLS label allocated for the service Only one MPLS label can be configured per VPLS service |
The following routes are sent with the RFC 5512 BGP tunnel encapsulation extended community: route type 2 (MAC/IP), route type 3 (Inclusive Multicast Ethernet Tag), and route type 1 (Ethernet AD per-EVI). Route type 4 (Ethernet segment) and route type 1 (AD per-ESI) routes are not sent with this extended community.
The router processes the following BGP tunnel-encapsulation tunnel values registered by IANA for RFC 5512:
Any other tunnel value gives the route “treat-as-withdraw” status.
If the encapsulation value is MPLS, the BGP validates the high-order 20 bits of the label field, ignoring the low-order 4 bits.
If the encapsulation extended community is not present in a received route, BGP treats the route as an MPLS-based configuration of the config>router>bgp>group>neighbor>def-recv-evpn-encap mpls command. The command is also available at the bgp and group levels.
This section provides information on the following topics:
EVPN can be used in MPLS networks where PEs are interconnected through any type of tunnel, including RSVP-TE, segment routing TE, LDP, BGP, segment routing IS-IS, and segment routing OSPF. The selection of the tunnel to be used in a VPLS service with BGP-EVPN MPLS enabled is based on the auto-bind-tunnel command, which is similar to the way that VPRN services operate.
EVPN-MPLS is modeled using a VPLS service where EVPN-MPLS bindings can coexist with SAPs and SDP bindings. The following output shows an example of a VPLS service with EVPN-MPLS.
The bgp-evpn context must be enabled when MPLS is not shutdown. In addition to the mpls>no shutdown command, the minimum set of commands needed to set up the EVPN-MPLS instance are the bgp-evpn>evi and the bgp-evpn>mpls>auto-bind-tunnel resolution commands. Users can also configure other command options. The minimum set and optional commands are listed below:
![]() | Note: When the vsi-import and vsi-export policies are configured, the route target must be configured in the policies and the policy values take preference over the values of auto-derived route targets. The operational route target for a service is displayed using the show service id service-id bgp command. |
The following options are specific to EVPN-MPLS and defined in the bgp-evpn>mpls context:
In addition to the options above, the following bgp-evpn commands are also available for EVPN-MPLS services:
When EVPN-MPLS is established among some PEs in the network, EVPN unicast and multicast bindings are created on each PE to the remote EVPN destinations. A specified ingress PE creates:
The unicast and multicast bindings, as well as the MAC addresses learned on them, can be checked using the show commands in the following example. In the example, the remote PE 192.0.2.69 is configured with no ingress-replication-bum-label and PE 192.0.2.70 is configured with ingress-replication-bum-label. Therefore, “Dut” has a single EVPN-MPLS destination binding to PE 192.0.2.69 and two bindings (unicast and multicast) to PE 192.0.2.70.
The 7705 SAR EVPN implementation supports draft-ietf-bess-evpn-vpls-seamless-integ so that EVPN-MPLS and VPLS can be integrated into the same network and within the same service. This feature is useful for the integration between both technologies and for the migration of VPLS services to EVPN-MPLS.
The following behavior enables the integration of EVPN and SDP bindings in the same VPLS network. An illustration and configuration example follow the list.
Figure 155 shows an example of EVPN-VPLS integration. In this example, if EVPN and SAPs and spoke SDPs are part of the same split horizon group, the traffic arriving on the SAPs and spoke SDPs is not forwarded to EVPN.
The spoke SDPs on PE2 are not part of an split horizon group, so they can forward traffic to EVPN. Spoke SDPs on PE5 are part of same split horizon group, so they cannot forward traffic to EVPN.
A CLI configuration example for PE1, PE5, and PE2 is provided below.
PE1, PE3, PE4, and PE5 have BGP-EVPN enabled in VPLS-1. PE2 has active/standby spoke SDPs to PE1 and PE5. In this configuration:
EVPN MAC advertisements are as follows.
BMU operation on PE1 is as follows.
In a VPLS service, a single RD is used per service.
The following rules apply.
![]() | Note: When the RD changes, the active routes for that VPLS are withdrawn and readvertised with the new RD. |
![]() | Note: This reconfiguration will fail if the new RD already exists in a different VPLS or Epipe service. |
EVPN multihoming implementation is based on the concept of the Ethernet segment and configured through the ethernet-segment command. An Ethernet segment is a logical structure that can be defined in one or more PEs and identifies the CE (or access network) that is multihomed to the EVPN PEs. An Ethernet segment is associated with port, LAG, or SDP objects and is shared by all the services defined on those objects. For virtual Ethernet segments, individual VID or VC-ID ranges can be associated with the port, LAG, or SDP objects defined in the Ethernet segment.
Each Ethernet segment has a unique identifier called the Ethernet segment identifier (ESI) that is 10 bytes long and is manually configured in the router.
![]() | Note: The esi value is advertised in the control plane to all the PEs in an EVPN network. Therefore, it is very important to ensure that the 10-byte esi value is unique throughout the entire network. Single-homed CEs are assumed to be connected to an Ethernet segment with esi = 0 (that is, single-homed Ethernet segments do not need to be explicitly configured). |
This section describes the behavior of the EVPN multihoming implementation in an EVPN-MPLS service and includes the following topics:
This section contains information on the following topics:
As described in RFC 7432, all-active multihoming is only supported on access LAG SAPs. The CE must be configured with a LAG to avoid duplicated packets to the network. The use of LACP is optional.
Three different procedures are implemented in the 7705 SAR to provide all-active multihoming for a specified Ethernet segment:
Figure 156 shows the need for DF election in all-active multihoming.
The DF election in an EVPN all-active multihoming scenario avoids duplicate packets on the multihomed CE. The DF election procedure is responsible for electing one DF PE per ESI per service; the other PEs are non-DF for the ESI and service. Only the DF forwards BMU traffic from the EVPN network toward the ES SAPs (the multihomed CE). The non-DF PEs do not forward BMU traffic to the local Ethernet segment SAPs (see ES Discovery and DF Election Procedures (all-active multihoming) for more information).
![]() | Note: BMU traffic from the CE to the network and known unicast traffic in any direction is allowed on both the DF and non-DF PEs. |
Figure 157 shows the EVPN split-horizon concept for all-active multihoming.
The EVPN split-horizon procedure ensures that the BMU traffic originated by the multihomed PE and sent from the non-DF to the DF is not replicated back to the CE (echoed packets on the CE). To avoid these echoed packets, the non-DF (PE1) sends all the BMU packets to the DF (PE2) with an indication of the source Ethernet segment. That indication is the ESI label (ESI2 in the example), previously signaled by PE2 in the AD per-ESI route for the Ethernet segment. When PE2 receives an EVPN packet (after the EVPN label lookup), PE2 finds the ESI label that identifies its local Ethernet segment (ESI2). The BMU packet is replicated to other local CEs but not to the ESI2 SAP.
Figure 158 shows the EVPN aliasing concept for all-active multihoming.
Because CE2 is multihomed to PE1 and PE2 using an all-active Ethernet segment, aliasing is the procedure by which PE3 can load-balance the known unicast traffic between PE1 and PE2, even if the destination MAC address was only advertised by PE1, as shown in the example. When PE3 installs MAC1 in the FDB, it associates MAC1 not only with the advertising PE (PE1) but also with all the PEs advertising the same esi esi (ESI2) for the service. In this example, PE1 and PE2 advertise an AD per-EVI route for ESI2. Therefore, PE3 installs the two next hops associated with MAC1.
Aliasing is enabled by configuring ECMP to be greater than 1 in the bgp-evpn>mpls context (see Aliasing for more information).
The following shows an example where the PE1 configuration provides all-active multihoming to the CE2 shown in Figure 158.
In the same way, PE2 is configured as follows:
The preceding configuration enables the all-active multihoming procedures. The following must be considered.
The Ethernet segment (ES) discovery and DF election is implemented in three steps (described below and illustrated in Figure 159).
Ethernet segment ESI-1 is configured as described in the previous section (All-Active Multihoming Service Model), with all the required parameters. When ethernet-segment>no shutdown is executed, PE1 and PE2 advertise an ES route for ESI-1. Both PEs include the route target auto-derived from the MAC address portion of the configured ESI. If the route target address family is configured in the network, it allows the RR to keep the dissemination of the ES routes under control.
In addition to the ES route, PE1 and PE2 advertise AD per-ESI routes and AD per-EVI routes.
When the exchange of ES routes between PE1 and PE2 is complete, both PEs run the DF election for all the services in the Ethernet segment.
PE1 and PE2 elect a DF for an ESI-service pair (that is, per ESI, per service). The default DF election mechanism in the 7705 SAR is service carving mode auto, as per RFC 7432. The following items apply when the default service carving mode is used on a specified PE. The DF election does not occur until the Ethernet segment is configured as no shutdown.
![]() | Note: The remote PE IP addresses must be present in the local PE RTM so that they can participate in the DF election. |
![]() | Note: The algorithm uses the configured evi value in the service rather than the service-id. The evi value for a service must match for all the PEs that are part of the ESI. This guarantees that the election algorithm is consistent across all the PEs of the ESI. The evi value must always be configured in a service with SAPs or SDP bindings that are created in an ES. |
The following show command displays the Ethernet segment configuration and DF status for all EVIs configured in the Ethernet segment.
Based on the result of the DF election or the manual service carving, the control plane on the non-DF (PE1) instructs the data path to remove the LAG SAP associated with the ESI from the default flooding list for broadcast and multicast (BM) traffic. Unknown unicast traffic may still be sent if the EVI label is a unicast label and the source MAC address is not associated with the ESI.
On PE1 and PE2, both LAG SAPs learn the same MAC address (coming from the CE). For example, in the following show commands, 00:ca:ca:ba:ce:03 is learned on both the PE1 and PE2 access LAG (on ESI-1). However, PE1 learns the MAC address as “Learned” whereas PE2 learns it as “Evpn”. This is due to CE2 switching the traffic for that source MAC address to PE1. PE2 learns the MAC address through EVPN but it associates the MAC address with the ESI SAP because the MAC address belongs to the ESI.
When PE1 (non-DF) and PE2 (DF) exchange BMU packets for evi 1, all the packets are sent with the ESI label included at the bottom of the stack (in both directions). The ESI label advertised by PE1 and PE2 for ESI-1 can be displayed using the following commands:
Following the example in Figure 159, if the service configuration on PE3 has ECMP > 1, then PE3 adds PE1 and PE2 to the list of next hops for ESI-1. As soon as PE3 receives a MAC address for ESI-1, it starts load balancing the flows, per service, between PE1 and PE2 to the remote ESI CE. The following command shows the FDB in PE3.
![]() | Note: MAC address 00:ca:ca:ba:ce:03 is associated with the Ethernet segment eES:01:00:00:00:00:71:00:00:00:01 (esi esi configured on PE1 and PE2 for ESI-1). |
The following command shows all the EVPN-MPLS destination bindings on PE3, including the ES destination bindings.
The Ethernet segment eES:01:00:00:00:00:71:00:00:00:01 is resolved to PE1 and PE2 addresses:
PE3 performs aliasing for all the MAC addresses associated with that ESI. This is possible because PE1 is configured with ECMP > 1:
Figure 160 shows the behavior on the remote PE (PE3) when there is an Ethernet segment failure.
The unicast traffic behavior on PE3 is as follows.
For BMU traffic, the following events trigger a DF election on a PE and only the DF forwards BMU traffic after the esi-activation-timer expiration (if there was a transition from non-DF to DF):
Figure 161 shows a black hole caused by a SAP or service shutdown.
If an individual VPLS service is shutdown in PE1 (the example is also valid for PE2), the corresponding LAG SAP goes operationally down. This event triggers the withdrawal of the AD per-EVI route for that particular SAP. PE3 removes PE1 from its list of aliased next hops and PE2 takes over as DF (if it was not the DF already). However, this does not prevent the network from blackholing the traffic that CE2 switches to the link to PE1. Traffic sent from CE2 to PE2 or traffic from the rest of the CEs to CE2 is unaffected, so this situation is not easily detected on the CE.
The same result occurs if the ES SAP is administratively shutdown instead of the service.
![]() | Note: When bgp-evpn>mpls shutdown is executed, the SAP associated with the ES is brought operationally down (StandbyForMHProtocol) and so is the entire service if there are no other SAPs or SDP bindings in the service. However, if there are other SAPs or SDP bindings, the service remains operationally up. |
Some situations may cause transient issues to occur, such as a transient packet duplication and a transient black hole. These are shown in Figure 162 and explained below.
This section provides information on the following topics:
The 7705 SAR supports single-active multihoming on access SAPs, LAG SAPs, and spoke SDPs for a specified VPLS service. For LAG SAPs, the CE is configured with a different LAG to each PE in the Ethernet segment (as opposed to a single LAG in all-active multihoming).
The following procedures support EVPN single-active multihoming for a specified Ethernet segment:
The following is an example of PE1 configuration that provides single-active multihoming to CE2, as shown in Figure 163.
The PE2 configuration for this scenario is as follows:
In single-active multihoming, the non-DF PEs for a specified ESI block unicast and BMU traffic in both directions (upstream and downstream) on the object associated with the ESI. Single-active multihoming is similar to all-active multihoming with the following differences.
![]() | Note: In the last case (LAG ID for single-active LAG redundancy), the admin-key, system-id, and system-priority values must be different on the PEs that are part of the Ethernet segment. |
In all-active multihoming, the non-DF keeps the SAP operationally up, although it removes the SAP from the default flooding list. See the ES Discovery and DF Election Procedures (all-active multihoming) for more information. In the single-active multihoming implementation, the non-DF brings the SAP or SDP binding operationally down.
The following show commands display the status of the single-active Ethernet segment (ESI-7413) in the non-DF. The associated spoke SDP is operationally down and it signals PW status standby to the multihomed CE.
A remote PE (PE3 in Figure 163) imports the AD routes per ESI, where the single-active flag is set. PE3 interprets the Ethernet segment as single-active if at least one PE sends an AD per-ESI route with the single-active flag set. MAC addresses for a specified service and ESI are learned from a single PE, that is, the DF for that ESI-EVI pair (per ESI, per EVI).
The remote PE installs both a single EVPN-MPLS destination (TEP, label) for a received MAC address and a backup next hop to the PE for which the AD per-ESI and per-EVI routes are received. For example, in the following show command output, 00:ca:ca:ba:ca:06 is associated with the remote Ethernet segment eES 01:74:13:00:74:13:00:00:74:13. That eES resolves to PE 192.0.2.73, which is the DF on the Ethernet segment.
If PE3 sees only two single-active PEs in the same ESI, the second PE is the backup PE. Upon receiving an AD per-ES or per-EVI route withdrawal for the ESI from the primary PE, PE3 starts sending the unicast traffic to the backup PE immediately.
If PE3 receives AD routes for the same ESI and EVI from more than two PEs, the PE does not install any backup route in the data path. Upon receiving an AD per-ES or per-EVI route withdrawal for the ESI, the PE flushes the MAC addresses associated with the ESI.
Figure 164 shows the remote PE (PE3) behavior when there is an Ethernet segment failure.
The PE3 behavior for unicast traffic is as follows.
Also, a DF election on PE1 is triggered. In general, a DF election is triggered by the same events as for all-active multihoming. In this case, the DF forwards traffic to CE2 when the esi-activation-timer expiration occurs (the timer activates when there is a transition from non-DF to DF).
This section contains information about EVPN-VPWS for MPLS tunnels.
EVPN-VPWS uses route type 1 and route type 4; it does not use route types 2 or 3. Figure 165 shows the encoding of the required extensions for the Ethernet AD per-EVI routes. The encoding follows the guidelines described in draft-ietf-bess-evpn-vpws.
If the advertising PE has an access SAP-SDP or spoke SDP that is not part of an Ethernet segment (ES), the PE populates the fields of the AD per-EVI route with the following values.
If the advertising PE has an access SAP-SDP or spoke SDP that is part of an ES, the AD per-EVI route is sent with the information described in the preceding list, with the following minor differences.
Also, ES and AD per-ES routes are advertised and processed for the Ethernet segment, as described in RFC 7432. The ESI label sent with the AD per-ES route is used by BMU traffic on VPLS services; it is not used for Epipe traffic.
BGP-EVPN can be enabled in Epipe services with either SAPs or spoke SDPs at the access, as shown in Figure 166.
EVPN-VPWS is supported in MPLS networks that also run EVPN-MPLS in VPLS services. From a control plane perspective, EVPN-VPWS is a simplified point-to-point version of RFC 7432 for E-Line services for the following reasons.
In the following configuration example, Epipe 2 is an EVPN-VPWS service between PE2 and PE4 (as shown in Figure 166):
The following considerations apply to the configuration.
EVPN-VPWS Epipes can also be configured with the following characteristics.
The use of active/standby (A/S) PW (for access spoke SDPs) and MC-LAG (for access SAPs) provides an alternative redundant solution for EVPN-VPWS that does not use the EVPN multihoming procedures described in IETF draft-ietf-bess-evpn-vpws. Figure 167 shows the use of both mechanisms in a single Epipe.
In Figure 167, an A/S PW connects the CE to PE1 and PE2 (left-hand side of the diagram), and an MC-LAG connects the CE to PE3 and PE4 (right-hand side of the diagram). Because EVPN multihoming is not used, there are no AD per-ES routes or ES routes in this example. The redundancy is handled as follows.
EVPN multihoming is supported for EVPN-VPWS Epipe services with the following considerations.
The DF election for Epipes that is defined in an all-active multihoming ES is not relevant because all PEs in the ES function in the same way.
Therefore, the following tools command output shows “N/A” when all-active multihoming is configured.
Aliasing is supported for traffic sent to an Ethernet segment destination. If ECMP is enabled on the ingress PE, per-service load balancing is performed to all PEs that advertise P=1. The PEs that advertise P=0 are not considered as next hops for an ES destination.
Although DF election is not relevant for Epipes in an all-active multihoming ES, it is essential for the following forwarding and backup functions in a single-active multihoming ES.
As specified in RFC 7432, the remote PEs in VPLS services have knowledge of the primary PE in the remote single-active ES, based on the advertisement of the MAC/IP routes (because only the DF learns and advertises MAC/IP routes).
Because there are no MAC or IP routes in EVPN-VPWS, the remote PEs can forward the traffic based on the P- and B-bits. The process is described in the following list (see the example in Figure 168).
EVPN-MPLS and IP prefix advertisement (enabled by the ip-route-advertisement command) are fully supported in routed VPLS services. The following capabilities are supported in a service where bgp-evpn mpls is enabled:
EVPN and MPLS can be enabled on VPLS or r-VPLS services on the 7705 SAR. While the EVPN-VPLS for MPLS Tunnels section focuses on the use of EVPN-MPLS Layer 2 services (that is, how EVPN-MPLS is configured in VPLS services), this section describes how EVPN-MPLS can be used to provide inter-subnet forwarding in r-VPLS and VPRN services. Although inter-subnet forwarding can be provided by regular r-VPLS and VPRN services, EVPN provides an efficient and unified way to populate forwarding databases (FDBs), address resolution protocol (ARP) tables, and routing tables using a single BGP address family. Inter-subnet forwarding in overlay networks would otherwise require data plane learning and the use of routing protocols on a per-VPRN basis.
The 7705 SAR solution for inter-subnet forwarding using EVPN is based on building blocks described in draft-sajassi-l2vpn-evpn-inter-subnet-forwarding and the use of the EVPN IP prefix routes (route type 5) as explained in draft-rabadan-l2vpn-evpnprefix-advertisement.
The IRB interface refers to an r-VPLS service bound to a VPRN IP interface.
SAP-based and spoke SDP-based Ethernet segments are supported on r-VPLS services where bgp-evpn mpls is enabled.
Figure 169 shows an example of EVPN-MPLS multi-homing in r-VPLS services, with the following assumptions.
In Figure 169, the hosts connected to CE1 and CE4 could use regular VRRP for default gateway redundancy; however, this may not be the most efficient way to provide upstream routing.
For example, if PE1 and PE2 are using regular VRRP, the upstream traffic from CE1 may be hashed to the backup IRB VRRP interface instead of being hashed to the master interface. The same thing may occur for single-active multi-homing and regular VRRP for PE3 and PE4. The traffic from CE4 will be sent to PE3 although PE4 may be the VRRP master. In that case, PE3 will have to send the traffic to PE4 instead of routing it directly.
In both cases, unnecessary bandwidth between the PEs is used to get to the master IRB interface. In addition, VRRP scaling is limited if aggressive keepalive timers are used.
Because of these issues, passive VRRP is recommended as the best method when EVPN-MPLS multi-homing is used in combination with r-VPLS redundant interfaces.
Passive VRRP is a VRRP setting in which the transmission and reception of keepalive messages is completely suppressed, and therefore the VPRN interface always functions as the master. Passive VRRP is enabled by adding the passive keyword to the VRRP instance at creation time (passive mode cannot be enabled or disabled while the protocol is running), as shown in the following examples:
config service vprn interface vrrp virtual-router-id passive
config service vprn interface ipv6 vrrp virtual-router-id passive
For example, if PE1, PE2, and PE5 in Figure 169 use passive VRRP, then even if each individual r-VPLS interface has a different MAC/IP address, because they share the same VRRP instance 1 and the same backup IP, the three PEs will own the same virtual MAC and virtual IP address (for example, 00-00-5E-00-00-01 and 10.0.0.254). The virtual MAC is auto-derived from 00-00-5E-00-00-VRID, as per RFC 3768. The following is the expected behavior when passive VRRP is used in this example.
The following list summarizes the advantages of using passive VRRP mode versus regular VRRP for EVPN-MPLS multi-homing in r-VPLS services.
The router supports the MPLS entropy label (RFC 6790), allowing LSR nodes in a network to load-balance labeled packets in a much more granular fashion than allowed by simply hashing on the standard label stack. The entropy label can be enabled on BGP-EVPN services (VPLS and Epipe). Refer to the “MPLS Entropy Labels” section in the 7705 SAR MPLS Guide for more information.
This section provides information on general topics related to EVPN.
EVPN defines a mechanism to allow the smooth mobility of MAC addresses. The 7705 SAR supports the MAC mobility extended community in MAC advertisement routes as follows.
![]() | Note: When EVPN multihoming is used in EVPN-MPLS, the ESI is examined to determine whether a MAC address received from two different PEs must be processed within the context of MAC mobility or multihoming. Two MAC routes that are associated with the same remote or local ESI but different PEs are considered reachable through all the PEs. Mobility procedures are not triggered as long as the MAC route still belongs to the same ESI. |
EVPN defines a mechanism to protect the EVPN service from control plane churn as a result of loops or accidental duplicated MAC addresses. The 7705 SAR supports an enhanced version of this procedure as described in this section.
A situation may arise where the same MAC address is learned by different PEs in the same VPLS because of two or more hosts being incorrectly configured with the same (duplicate) MAC address. In this situation, the traffic originating from these hosts triggers continuous MAC moves among the PEs attached to these hosts. It is important to recognize this situation and avoid incrementing the sequence number in the MAC mobility attribute to infinity.
To remedy the above situation, a router that detects a MAC mobility event by way of local learning starts a window minutes timer (default value is 3 minutes). and if the router detects num-moves value before the timer expires (default value is 5 moves), the router concludes that a duplicate MAC situation has occurred. The router then alerts the operator with a trap message. The offending MAC address can be viewed using the show>service>id n >bgp-evpn command:
After detecting the duplicate address, the router stops sending and processing any BGP MAC advertisement routes for that MAC address until one of the following occurs:
![]() | Note: The other routers in the VPLS instance will forward the traffic for the duplicate MAC address to the router advertising the best route for the MAC address. |
The num-moves and window values are configurable to allow for the required flexibility in different environments. In scenarios where bgp>rapid-update evpn is configured, the operator might want to configure a shorter window timer than in scenarios where BGP updates are sent every default min-route-advertisement interval.
The MAC duplication parameters can be configured per VPLS service under the bgp-evpn>mac-duplication context, as shown in the following example:
RFC 7432 defines the use of the sticky bit in the MAC mobility extended community to signal static MAC addresses. These addresses must be protected in case there is an attempt to dynamically learn them from a different source.
On the 7705 SAR, any conditional static MAC address is advertised by BGP-EVPN as a static address—that is, with the sticky bit set. An example of the configuration of a conditional static MAC address is shown below:
Local static MAC addresses or remote MAC addresses with sticky bit are considered to be protected. A packet entering a SAP or SDP binding is discarded if its source MAC address matches one of the protected MAC addresses.
A blackhole MAC is a local FDB record. It is similar to a conditional static MAC; it is associated with a black hole—similar to a VPRN blackhole static route in VPRNs—instead of a SAP or SDP binding. A blackhole MAC can be added by using the following CLI command:
config>service>vpls>static-mac>mac ieee-address [create] black-hole
The static blackhole MAC can have security applications for certain MAC addresses (for example, replacement of MAC filters).
![]() | Note: A static MAC can only be created as a blackhole MAC if BGP-EVPN is configured first. It is not supported for regular VPLS service, only for an EVPN VPLS service. |
For example, when a specified blackhole MAC is added to a service (static-mac mac 00:00:ca:fe:ca:fe create black-hole), the following behavior occurs.
Ethernet connectivity and fault management (ETH-CFM) allows the operator to validate and measure Ethernet Layer 2 services using standard IEEE 802.1ag and ITU-T Y.1731 protocols. Each tool performs a unique function and adheres to that tool’s specific PDU and frame format and the associated rules governing the transmission, interception, and process of the PDU. For more information, refer to the “ETH OAM Capabilities” section in the 7705 SAR OAM and Diagnostics Guide.
EVPN provides powerful solution architectures. ETH-CFM is supported in various Layer 2 EVPN architectures. Because the destination Layer 2 MAC address (unicast or multicast) is ETH-CFM tool-dependent (that is, ETH-CC is sent as a Layer 2 multicast and ETH-DM is sent as a Layer 2 unicast), the ETH-CFM function is allowed to multicast and broadcast to the virtual EVPN connections. The Maintenance Endpoint (MEP) does not populate the local Layer 2 MAC address forwarding database (FDB) with the MAC address related to the MEP. This means that the 48-bit IEEE MAC address is not exchanged with peers and all ETH-CFM frames are broadcast across all virtual connections. To prevent the flooding of unicast packets and allow the remote forwarding databases to learn the remote MEP Layer 2 MAC addresses, the command cfm-mac-advertisement must be configured under the config>service>vpls>bgp-evpn context. This allows the MEP Layer 2 IEEE MAC addresses to be exchanged with peers. This command tracks configuration changes and sends the required updates via the EVPN notification process related to a change.
Up MEP and Down MEP creation is supported on SAP connections in the EVPN service. There is no support for the creation of ETH-CFM MEPs on the virtual connection.
When MEPs are used in combination with EVPN multihoming, the following must be considered:
Due to the above considerations, the use of ETH-CFM in EVPN multihomed SAPs is only recommended on operationally down MEPs and single-active multihoming. ETH-CFM is used in this case to notify the CE of the DF or non-DF status.
When two or more EVPN routes are received at a PE, BGP route selection typically takes place when the route key or the routes are equal. When the route key is different but the PE must make a selection (for instance, the same MAC address is advertised in two routes with different RDs), BGP hands over the routes to EVPN and the EVPN application performs the selection.
EVPN and BGP selection criteria are described below.
![]() | Note: If BGP runs a route selection operation and a specified—but otherwise valid—EVPN route loses a tiebreaker to another EVPN route, the nonselected route can be displayed, along with a tiebreaker reason, using the show>router>bgp>routes>evpn evpn-type command. |
This section contains information on the following topics:
When enabling existing VPLS features in an EVPN-MPLS service, the following must be considered.
![]() | Note: The MAC duplication function already provides protection against MAC moves between EVPN and SAPs and SDP bindings. |
![]() | Note: EVPN provides its own protection mechanism for static MAC addresses. |
BGP routing policies are supported for IP prefixes imported or exported through BGP-EVPN.
When applying routing policies to control the distribution of prefixes between EVPN and IP-VPN, the user must consider that both families are separate as far as BGP is concerned, and when prefixes are imported in the VPRN routing table, the BGP attributes are lost to the other family. The use of route tags allows the controlled distribution of prefixes across the two families.
Figure 170 shows an example of how VPN-IPv4 routes are imported into the routing table manager (RTM) and then passed to EVPN for processing.
![]() | Note: VPN-IPv4 routes can be tagged at ingress, and that tag is preserved throughout the RTM and EVPN processing so that the tag can be matched at the egress BGP routing policy. |
Policy tags can be used to match EVPN IP prefixes that were learned not only from BGP VPN-IPv4 but also from other routing protocols. The tag range supported for each protocol is different:
Figure 171 shows an example of the reverse workflow: routes imported from EVPN and exported from RTM to BGP VPN-IPv4.
The policy behavior for EVPN IP prefixes is summarized in the following statements:
Policy entries can add tags for static routes, RIP, OSPF, IS-IS, and BGP that can then be matched on the BGP peer export policy or VSI export policy for EVPN prefix routes.