10. Ethernet Virtual Private Networks

This chapter provides an overview and configuration information about Ethernet Virtual Private Networks (EVPNs).

Topics in this chapter include:

10.1. Overview and EVPN Applications

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:

  1. EVPN for MPLS tunnels (EVPN-MPLS)
    In EVPN-MPLS, PEs are connected by any type of MPLS tunnel. Typically, EVPN-MPLS is used as an evolutionary step for VPLS services in the WAN, with Data Center Interconnect being one of the main applications.

10.1.1. EVPN for MPLS Tunnels in E-LAN Services

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.

Figure 151:  EVPN for MPLS in VPLS Services 

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:

  1. superior multihoming capabilities
  2. IP-VPN-like operation and control for E-LAN services
  3. reduction and (in some cases) suppression of the BMU (broadcast, multicast, and unknown unicast) traffic in the network
  4. simple provisioning and management
  5. new set of tools to control the distribution of MAC addresses and ARP entries in the network

10.1.2. EVPN for MPLS Tunnels in E-Line Services

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.

10.2. EVPN for MPLS Tunnels

This section provides information about EVPN for MPLS tunnels:

10.2.1. BGP-EVPN Control Plane for MPLS Tunnels

Table 196 lists the EVPN route types supported on the 7705 SAR and their use in EVPN-MPLS.

Table 196:  EVPN Route Types and Usage 

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.

Figure 152:  EVPN-MPLS Route Type 2 and Type 3 (Required Routes and Communities) 

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.

Figure 153:  EVPN Route Type 1 and Type 4  

10.2.1.1. EVPN Route Type 2 – MAC/IP Advertisement Route

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:

  1. learned MAC addresses on SAPs or SDP bindings
  2. conditional static MAC addresses
    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.

Table 197:  Route Type 2 Fields and Values  

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.

10.2.1.2. EVPN Route Type 3 – Inclusive Multicast Ethernet Tag Route

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.

Table 198:  Route Type 3 Fields and Values  

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

10.2.1.3. EVPN Route Type 1 – Ethernet Auto-Discovery Route (AD Route)

The 7705 SAR generates route type 1 for advertising for multihoming functions. The system can generate the following two subtypes of Ethernet AD routes:

  1. Ethernet AD per-ESI route (Ethernet segment ID)
  2. Ethernet AD per-EVI route (EVPN instance)

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.

Table 199:  Route Type 1 Fields and Values (Ethernet AD per-ESI)  

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:

  1. AD per-ES route for EVI-route-set 1 is sent with RD ip-address:1
  2. AD per-ES route for EVI-route-set 2 is sent with RD ip-address:2

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).

Table 200:  Route Type 1 Fields and Values (Ethernet AD per-EVI)  

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

10.2.1.4. EVPN Route Type 4 – Ethernet Segment Route (ES Route)

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.

Table 201:  Route Type 4 Fields and Values  

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).

10.2.1.5. EVPN Route Type 5 – IP Prefix Route

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:

  1. IP prefixes existing in a VPRN linked to the integrated routing and bridging (IRB) backhaul r-VPLS service
    The IRB interface refers to an r-VPLS service bound to a VPRN IP interface.
Figure 154:  EVPN Route Type 5 
Table 202:  Route Type 5 Fields and Values  

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

10.2.1.6. RFC 5512 – BGP Tunnel Encapsulation Extended Community

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:

  1. MPLS encapsulation: 10

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.

10.2.2. EVPN-VPLS for MPLS Tunnels

This section provides information on the following topics:

10.2.2.1. Overview

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.

*A:PE-1>config>service>vpls# info 
----------------------------------------------
  description "evpn-mpls-service"
  bgp
  bgp-evpn
    evi 10
    mpls
      no shutdown
      auto-bind-tunnel resolution any
  sap 1/1/1:1 create 
  exit
  spoke-sdp 1:1 create

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:

  1. evi value — the EVPN identifier value (EVI value) is unique in the system and can have a value between 1 and 65535. The EVI value is used for the service-carving algorithm (which is used for multihoming, if configured) and for auto-deriving route target and route distinguishers in the service.
    If the evi value is not specified, its value is 0 and no route distinguisher or route targets are auto-derived from it. If the evi value is specified and no other route distinguisher or route targets are configured in the service, the following derivations apply:
    1. the route distinguisher is derived from system-ip:evi value
    2. the route target is derived from autonomous-system:evi value
    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.

    When the evi command is configured, a config>service>vpls>bgp command is required—even if the context is empty—to allow the user to see the correct information when using the show>service>id service-id>bgp and show>service>system>bgp-route-distinguisher commands.
    Although it is not mandatory, if multihoming is not configured, the configuration of the evi command is enforced for EVPN services with SAPs or SDP bindings defined in the ethernet-segment command. See EVPN Multihoming in VPLS Services for more information about the ethernet-segment command.

The following options are specific to EVPN-MPLS and defined in the bgp-evpn>mpls context:

  1. control-word — this command is required, as per RFC 7432, to avoid frame disordering. The user can enable and disable it so that interoperability with other vendors can be guaranteed.
  2. auto-bind-tunnel — this command is required and allows the user to decide what type of MPLS transport tunnels are used for a particular instance. The command is used in the same way as it is used in VPRN services.
    For BGP-EVPN MPLS, bgp is explicitly added to the resolution-filter in EVPN (bgp is implicit in VPRNs).
  3. force-vlan-vc-forwarding — this command allows the system to preserve the VLAN ID and P-bits of the service-delimiting qtag in a new tag added in the customer frame before sending the customer frame to the EVPN core.
  4. split-horizon-group — this command allows the association of a user-created split horizon group with all the EVPN-MPLS destinations. See EVPN and VPLS Integration for more information.
  5. ecmp — this command, when set to a value greater than 1, activates aliasing to the remote PEs that are defined in the same all-active multihoming Ethernet segment. See EVPN Multihoming in VPLS Services for more information.
  6. ingress-replication-bum-label — this command is only enabled when the user wants the PE to advertise a label for BMU traffic (Inclusive Multicast Ethernet Tag routes, route type 3) that is different from the label advertised for unicast traffic (with the MAC/IP routes). This is useful to avoid potential transient packet duplication in all-active multihoming.

In addition to the options above, the following bgp-evpn commands are also available for EVPN-MPLS services:

  1. [no] mac-advertisement
  2. mac-duplication and settings

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:

  1. a unicast EVPN-MPLS destination binding to a remote egress PE as soon as a MAC/IP route is received from that egress PE
  2. a multicast EVPN-MPLS destination binding to a remote egress PE, only if the egress PE advertises an Inclusive Multicast Ethernet Tag route (route type 3) with a BMU label. This is only possible if the egress PE is configured with ingress-replication-bum-label.

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.

*A:Dut# show service id 1 evpn-mpls  
 
===============================================================================
BGP EVPN-MPLS Dest
===============================================================================
TEP Address     Egr Label     Num. MACs   Mcast           Last Change
                 Transport                                
-------------------------------------------------------------------------------
192.0.2.69      262118        1           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.70      262139        0           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.70      262140        1           No              06/11/2015 19:59:03
                ldp                                        
192.0.2.72      262140        0           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.72      262141        1           No              06/11/2015 19:59:03
                ldp                                        
192.0.2.73      262139        0           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.254     262142        0           Yes             06/11/2015 19:59:03
                bgp                                        
-------------------------------------------------------------------------------
Number of entries : 7
-------------------------------------------------------------------------------
===============================================================================
*A:Dut# show service id 1 fdb detail 
 
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId    MAC               Source-Identifier        Type     Last Change
                                                     Age      
-------------------------------------------------------------------------------
1         00:ca:fe:ca:fe:69 eMpls:                   EvpnS    06/11/15 21:53:48
                            192.0.2.69:262118
1         00:ca:fe:ca:fe:70 eMpls:                   EvpnS    06/11/15 19:59:57
                            192.0.2.70:262140
1         00:ca:fe:ca:fe:72 eMpls:                   EvpnS    06/11/15 19:59:57
                            192.0.2.72:262141
-------------------------------------------------------------------------------
No. of MAC Entries: 3
-------------------------------------------------------------------------------
Legend:  L=Learned O=Oam P=Protected-MAC C=Conditional S=Static
===============================================================================

10.2.2.2. EVPN and VPLS Integration

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.

  1. Systems with EVPN endpoints and SDP bindings to the same far end bring down the SDP bindings.
    1. The router allows the establishment of an EVPN endpoint and an SDP binding to the same far end but the SDP binding is kept operationally down. Only the EVPN endpoint is operationally up. This is true for spoke SDPs and mesh SDPs.
    2. If there is an existing EVPN endpoint to a specified far end and the establishment of a spoke SDP is attempted, the spoke SDP is set up but kept operationally down with an operational flag indicating that there is an EVPN route to the same far end.
    3. If there is an existing spoke SDP and a valid (used) EVPN route arrives, the EVPN endpoint is set up and the spoke SDP is brought operationally down with an operational flag indicating that there is an EVPN route to the same far end.
    4. If there is an SDP binding and EVPN endpoint to different far-end IP addresses on the same remote PE, both links will be operationally up. This can happen if the SDP binding is terminated in an IPv6 address or IPv4 address that is different from the system address where the EVPN endpoint is terminated.
  2. The user can add spoke SDPs and all the EVPN-MPLS endpoints in the same split horizon group.
    1. The split-horizon-group group-name command under the vpls>bgp-evpn>mpls context allows the EVPN-MPLS endpoints to be added to a split horizon group.
    2. The bgp-evpn>mpls>split-horizon-group must reference a user-configured split horizon group. User-configured split horizon groups can be configured within the service>vpls context. The same group-name can be associated with SAPs, spoke SDPs, and EVPN-MPLS endpoints.
    3. If the split-horizon-group command is not used, the default split horizon group—which contains all the EVPN endpoints—is still used, but it is not possible to refer to it on SAPs and spoke SDPs.
  3. The system disables the advertisement of MAC addresses learned on SAPs and spoke SDPs that are part of an EVPN split horizon group.
    1. When the SAPs and spoke SDPs are configured within the same split horizon group as the EVPN endpoints, MAC addresses are still learned on them but are not advertised in EVPN.
    2. The SAPs and spoke SDPs added to an EVPN split horizon group should not be part of any EVPN multihomed ES. In this case, the PE still advertises the AD per-EVI route for the SAP or spoke SDP, attracting EVPN traffic that could not be forwarded to that SAP or SDP binding.

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.

Figure 155:  EVPN-VPLS Integration 

A CLI configuration example for PE1, PE5, and PE2 is provided below.

*A:PE1>config>service# info 
----------------------------------------------
vpls 1 customer 1 create
  split-horizon-group "SHG-1" create 
  bgp
    route-target target:65000:1
  bgp-evpn
    evi 1
    mpls
      no shutdown
      split-horizon-group SHG-1
  spoke-sdp 12:1 create
  exit
  sap 1/1/1:1 create
  exit
PE5#config>service# info 
----------------------------------------------
vpls 1 customer 1 create
    split-horizon-group "SHG-1" create
    exit
    stp
        shutdown
    exit
    endpoint "vpls20" create
    exit
    sap 1/1/7:2 create
        no shutdown
    exit
    spoke-sdp 64:2 split-horizon-group "SHG-1" endpoint "vpls20" create
        no shutdown
    exit
    spoke-sdp 65:2 split-horizon-group "SHG-1" endpoint "vpls20" create
        no shutdown
    exit
    no shutdown
*A:PE2>config>service# info 
----------------------------------------------
vpls 1 customer 1 create
  end-point CORE create
    no suppress-standby-signaling
  spoke-sdp 21:1 end-point CORE
    precedence primary
  spoke-sdp 25:1 end-point CORE

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:

  1. EVPN endpoints are instantiated within the same split horizon group, for example, SHG-1
  2. manual spoke SDPs from PE1 and PE5 to PE2 are not part of SHG-1

EVPN MAC advertisements are as follows.

  1. MAC addresses learned on FEC128 spoke SDPs are advertised normally in EVPN.
  2. MAC addresses learned on spoke SDPs that are part of SHG-1 are not advertised in EVPN because SHG-1 is the split horizon group used for bgp-evpn>mpls. This prevents any data plane MAC addresses learned on the split horizon group from being advertised in EVPN.

BMU operation on PE1 is as follows.

  1. When CE1 sends BMU traffic, PE1 floods it to all the active bindings.
  2. When CE2 sends BMU traffic, PE2 sends it to PE1 (active spoke SDP) and PE1 floods it to all the bindings and SAPs.
  3. When CE5 sends BMU traffic, PE5 floods it to the EVPN PEs. PE1 will flood the traffic to the active spoke SDP and SAPs but never to the EVPN PEs because they are part of the same split horizon group.

10.2.2.3. Auto-derived Route Distinguisher (RD) in Services

In a VPLS service, a single RD is used per service.

The following rules apply.

  1. The VPLS RD is selected based on the following precedence:
    1. a manual RD always take precedence when configured
    2. if there is no manual configuration, the RD is derived from the bgp-evpn>evi configuration
    3. if there is no manual or evi configuration, there will not be an RD and the service will fail
  2. The selected RD is displayed in the “Oper Route Dist” field of the show>service>id>bgp command.
  3. The service supports dynamic RD changes, such as a new manual RD configuration.
    Note:

    When the RD changes, the active routes for that VPLS are withdrawn and readvertised with the new RD.

  4. If the manual mechanism to derive the RD for a specified service is removed from the configuration, the system will select a new RD based on the above rules. In this case, the routes are withdrawn, the new RD is selected from the evi configuration, and the routes are readvertised with the new RD.
    Note:

    This reconfiguration will fail if the new RD already exists in a different VPLS or Epipe service.

10.2.2.4. EVPN Multihoming in VPLS Services

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:

10.2.2.4.1. EVPN All-Active Multihoming

This section contains information on the following topics:

  1. all-active multihoming service mode
  2. ES discovery and DF election procedures (all-active multihoming)
  3. aliasing
  4. network failures and convergence for all-active multihoming

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:

  1. designated forwarder (DF) election (see Figure 156)
  2. split horizon (see Figure 157)
  3. aliasing (see Figure 158)

Figure 156 shows the need for DF election in all-active multihoming.

Figure 156:  DF Election 

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.

Figure 157:  Split Horizon 

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.

Figure 158:  Aliasing 

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).

10.2.2.4.1.1. All-Active Multihoming Service Model

The following shows an example where the PE1 configuration provides all-active multihoming to the CE2 shown in Figure 158.

*A:PE1>config>lag(1)# info 
----------------------------------------------
  mode access
  encap-type dot1q
  port 1/1/2
  lacp active administrative-key 1 system-id 00:00:00:00:00:22
  no shutdown
 
*A:PE1>config>service>system>bgp-evpn# info 
----------------------------------------------
  route-distinguisher 1.1.1.1:0
  ethernet-segment "ESI2" create
    esi 01:12:12:12:12:12:12:12:12:12
    multi-homing all-active
    service-carving
    lag 1 
    no shutdown
 
*A:PE1>config>redundancy>evpn-multi-homing# info 
----------------------------------------------
    boot-timer 120
    es-activation-timer 10
 
*A:PE1>config>service>vpls# info 
----------------------------------------------
  description "evpn-mpls-service with all-active multihoming"
  bgp
  bgp-evpn
    evi 10
    mpls
      no shutdown
      auto-bind-tunnel resolution any
  sap lag-1:1 create 
  exit
 

In the same way, PE2 is configured as follows:

*A:PE2>config>lag(1)# info 
----------------------------------------------
  mode access
  encap-type dot1q
  port 1/1/1
  lacp active administrative-key 1 system-id 00:00:00:00:00:22
  no shutdown
 
*A:PE2>config>service>system>bgp-evpn# info 
----------------------------------------------
  route-distinguisher 1.1.1.1:0
  ethernet-segment "ESI12" create
    esi 01:12:12:12:12:12:12:12:12:12
    multi-homing all-active
    service-carving
    lag 1 
    no shutdown
 
*A:PE2>config>redundancy>evpn-multi-homing# info 
----------------------------------------------
    boot-timer 120
    es-activation-timer 10
 
*A:PE2>config>service>vpls# info 
----------------------------------------------
  description "evpn-mpls-service with all-active multihoming"
  bgp
    route-distinguisher 65001:60
    route-target target:65000:60
  bgp-evpn
    evi 10
    mpls
      no shutdown
      auto-bind-tunnel resolution any
  sap lag-1:1 create 
  exit

The preceding configuration enables the all-active multihoming procedures. The following must be considered.

  1. The Ethernet segment must be configured with a name and a 10-byte esi esi value:
    1. config>service>system>bgp-evpn>ethernet-segment name create
    2. config>service>system>bgp-evpn>ethernet-segment>esi esi
  2. When configuring the esi value, the system enforces the rule that the six high-order octets after the type field are not 0 (so that the auto-derived route target for the ES route is different from 0). Otherwise, the entire esi value must be unique in the system.
  3. Only a LAG can be associated with the Ethernet segment. The LAG is used exclusively for EVPN multihoming. Other LAG ports in the system can still be used for MC-LAG and other services.
  4. When the LAG is configured on PE1 and PE2, the same admin-key, system-priority, and system-id must be configured on both PEs so that CE2 responds as though it is connected to the same system.
  5. Only one SAP per service can be part of the same Ethernet segment.

10.2.2.4.1.2. ES Discovery and DF Election Procedures (all-active multihoming)

The Ethernet segment (ES) discovery and DF election is implemented in three steps (described below and illustrated in Figure 159).

Figure 159:  ES Discovery and DF Election 
10.2.2.4.1.2.1. Step 1 – ES Advertisement and Discovery

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.

  1. AD per-ESI routes announce the Ethernet segment capabilities, including the mode (single-active or all-active) and the ESI label for split horizon.
  2. AD per-EVI routes are advertised so that PE3 knows which services (EVIs) are associated with the ESI. These routes are used by PE3 for its aliasing and backup procedures.
10.2.2.4.1.2.2. Step 2 – DF Election

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.

  1. An ordered list of PE IP addresses where ESI-1 resides is built. The IP addresses are obtained from the “Origin IP” fields of all the ES routes received for ESI-1 and also include the local system address. The lowest IP address is considered ordinal “0” in the list.
  2. The local IP address can only be considered a candidate after a successful ethernet-segment>no shutdown command for a specified service.
    Note:

    The remote PE IP addresses must be present in the local PE RTM so that they can participate in the DF election.

  3. A PE only considers a specified remote IP address as candidate for the DF election algorithm for a specified service if, in addition to the ES route, the corresponding AD per-ESI and per-EVI routes for that PE have been received and properly activated.
  4. All remote PEs receiving the AD per-ES routes (for example, PE3) interpret ESI-1 as all-active if all the PEs send their AD per-ES routes with the single-active bit = 0. Otherwise, if at least one PE sends an AD per-ESI route with the single-active flag set or if the local ESI configuration is single-active, the ESI behavior is single-active.
  5. An es-activation-timer can be configured at the redundancy>bgp-evpn-multi-homing>es-activation-timer level or at the service>system>bgp-evpn>ethernet-segment>es-activation-timer level. This timer, which is 3 seconds by default, delays the transition from non-DF to DF for a specified service after the DF election has run.
    1. This use of the es-activation-timer with a value different from 0 minimizes the risk of loops and packet duplication due to multiple DFs in transient states.
    2. The same es-activation-timer value should be configured for all the PEs that are part of the same ESI. The user can configure a long timer to minimize the risk of loops or duplication or a short timer (even es-activation-timer = 0) to speed up the convergence for non-DF to DF transitions. When the user configures a specific value, the value configured at the Ethernet segment level supersedes the configured global value.
  6. The DF election is triggered by the following events.
    1. The config>service>system>bgp-evpn>eth-seg>no shutdown command triggers the DF election for all the services in the ESI.
    2. Reception of a new update or withdrawal of an ES route (containing an ESI configured locally) triggers the DF election for all the services in the ESI.
    3. Reception of a new update or withdrawal of an AD per-ES route (containing an ESI configured locally) triggers the DF election for all the services associated with the list of route targets received along with the route.
    4. Reception of a new update of an AD per-ES route with a change in the ESI-label extended community (single-active bit or MPLS label) triggers the DF election for all the services associated with the list of route targets received along with the route.
    5. Reception of a new update or withdrawal of an AD per-EVI route (containing an ESI configured locally) triggers the DF election for that service.
  1. When the PE boots up, the boot timer allows the necessary time for the control plane protocols to come up before bringing up the Ethernet segment and running the DF algorithm. The boot timer is configured at the system level (config>redundancy>bgp-evpn-multi-homing>boot-timer) and should have a value long enough to allow the IOMs and BGP sessions to come up before exchanging ES routes and running the DF election for each EVI.
    1. The system does not advertise ES routes until the boot timer expires. This guarantees that the peer ES PEs do not run the DF election until the PE is ready to become the DF, if necessary.
    2. The following show command displays the configured boot timer value as well as the remaining timer value if the system is still in boot stage.
     
             A:PE1# show redundancy bgp-evpn-multi-homing 
             ========================================================================
             Redundancy BGP EVPN Multi-homing Information
             ========================================================================
             Boot-Timer              : 10 secs                 
             Boot-Timer Remaining    : 0 secs                  
             ES Activation Timer     : 3 secs                  
             ========================================================================
  1. When the service-carving mode auto command is configured (auto is the default mode), the DF election algorithm runs the following function to identify the DF for a specified service and ESI:
          V mod N = i (ordinal)
    where V is the EVI and N is the number of peers, for example:
    1. as shown in Figure 159, PE1 and PE2 are configured with ESI-1. If V = 10 and N = 2, then V mod N = 0, and PE1 would be elected DF—its IP address is lower than PE2's IP address and it is the first PE in the candidate list.
      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.

  2. The service-carving mode manual command allows the user to manually configure the evi identifiers for which the PE is primary, using the commands:
    service-carving>mode manual and
    service-carving>manual evi start [to to] primary
    1. The system will be the primary PE, forwarding or multicasting traffic for the evi identifiers included in the configuration. The PE will be secondary (non-DF) for the non-specified EVIs.
    2. If a range is configured but the service-carving mode is not manual, the range has no effect.
    3. Only two PEs are supported when service-carving mode manual is configured. If a third PE is configured with service-carving mode manual for an ESI, the two non-primary PEs remain non-DF regardless of the primary status.
    4. For example, as shown in Figure 159, if PE1 is configured with service-carving manual evi 1 to 100 and PE2 with service-carving manual evi 101 to 200, then PE1 will be the primary PE and PE2 will be the secondary PE.
  3. When service-carving is disabled, the lowest originator IP address will win the election for a specified service and ESI. The following command disables service carving:
    config>service>system>bgp-evpn>ethernet-segment>service-carving mode off

The following show command displays the Ethernet segment configuration and DF status for all EVIs configured in the Ethernet segment.

*A:PE1# show service system bgp-evpn ethernet-segment name "ESI-1" all 
===============================================================================
Service Ethernet Segment
===============================================================================
Name                    : ESI-1
Admin State             : Up                 Oper State         : Up
ESI                     : 01:00:00:00:00:71:00:00:00:01
Multi-homing            : allActive          Oper Multi-homing  : allActive
Source BMAC LSB         : 71-71              
ES BMac Tbl Size        : 8                  ES BMac Entries    : 1
Lag Id                  : 1                  
ES Activation Timer     : 0 secs             
Exp/Imp Route-Target    : target:00:00:00:00:71:00
 
Svc Carving             : auto               
ES SHG Label            : 262142             
===============================================================================
===============================================================================
EVI Information 
===============================================================================
EVI                 SvcId               Actv Timer Rem      DF
-------------------------------------------------------------------------------
1                   1                   0                   no
-------------------------------------------------------------------------------
Number of entries: 1
===============================================================================
-------------------------------------------------------------------------------
DF Candidate list
-------------------------------------------------------------------------------
EVI                                     DF Address
-------------------------------------------------------------------------------
1                                       192.0.2.69
1                                       192.0.2.72
-------------------------------------------------------------------------------
Number of entries: 2
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
===============================================================================
ISID Information 
===============================================================================
ISID                SvcId               Actv Timer Rem      DF
-------------------------------------------------------------------------------
20001               20001               0                   no
-------------------------------------------------------------------------------
Number of entries: 1
===============================================================================
  
-------------------------------------------------------------------------------
DF Candidate list
-------------------------------------------------------------------------------
ISID                                    DF Address
-------------------------------------------------------------------------------
20001                                   192.0.2.69
20001                                   192.0.2.72
-------------------------------------------------------------------------------
Number of entries: 2
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
===============================================================================
BMAC Information 
===============================================================================
SvcId                                   BMacAddress
-------------------------------------------------------------------------------
20000                                   00:00:00:00:71:71
-------------------------------------------------------------------------------
Number of entries: 1
===============================================================================
10.2.2.4.1.2.3. Step 3 – DF and Non-DF Service Behavior

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.

*A:PE1# show service id 1 fdb detail 
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId    MAC               Source-Identifier        Type     Last Change
                                                     Age      
-------------------------------------------------------------------------------
1         00:ca:ca:ba:ce:03 sap:lag-1:1              L/0      06/11/15 00:14:47
1         00:ca:fe:ca:fe:70 eMpls:                   EvpnS    06/11/15 00:09:06
                            192.0.2.70:262140
1         00:ca:fe:ca:fe:72 eMpls:                   EvpnS    06/11/15 00:09:39
                            192.0.2.72:262141
-------------------------------------------------------------------------------
No. of MAC Entries: 3
-------------------------------------------------------------------------------
Legend:  L=Learned O=Oam P=Protected-MAC C=Conditional S=Static
===============================================================================
 
*A:PE2# show service id 1 fdb detail 
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId    MAC               Source-Identifier        Type     Last Change
                                                     Age      
-------------------------------------------------------------------------------
1         00:ca:ca:ba:ce:03 sap:lag-1:1              Evpn     06/11/15 00:14:47
1         00:ca:fe:ca:fe:69 eMpls:                   EvpnS    06/11/15 00:09:40
                            192.0.2.69:262141
1         00:ca:fe:ca:fe:70 eMpls:                   EvpnS    06/11/15 00:09:40
                            192.0.2.70:262140
-------------------------------------------------------------------------------
No. of MAC Entries: 3
-------------------------------------------------------------------------------
Legend:  L=Learned O=Oam P=Protected-MAC C=Conditional S=Static
===============================================================================

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:

*A:PE1# show service system bgp-evpn ethernet-segment name "ESI-1" 
===============================================================================
Service Ethernet Segment
===============================================================================
Name                    : ESI-1
Admin State             : Up                 Oper State         : Up
ESI                     : 01:00:00:00:00:71:00:00:00:01
Multi-homing            : allActive          Oper Multi-homing  : allActive
Source BMAC LSB         : 71-71              
ES BMac Tbl Size        : 8                  ES BMac Entries    : 1
Lag Id                  : 1                  
ES Activation Timer     : 0 secs             
Exp/Imp Route-Target    : target:00:00:00:00:71:00
 
Svc Carving             : auto               
ES SHG Label            : 262142             
===============================================================================
 
*A:PE2# show service system bgp-evpn ethernet-segment name "ESI-1" 
 
===============================================================================
Service Ethernet Segment
===============================================================================
Name                    : ESI-1
Admin State             : Up                 Oper State         : Up
ESI                     : 01:00:00:00:00:71:00:00:00:01
Multi-homing            : allActive          Oper Multi-homing  : allActive
Source BMAC LSB         : 71-71              
ES BMac Tbl Size        : 8                  ES BMac Entries    : 0
Lag Id                  : 1                  
ES Activation Timer     : 20 secs            
Exp/Imp Route-Target    : target:00:00:00:00:71:00
 
Svc Carving             : auto               
ES SHG Label            : 262142             
===============================================================================

10.2.2.4.1.3. Aliasing

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).

*A:PE3# show service id 1 fdb detail 
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId    MAC               Source-Identifier        Type     Last Change
                                                     Age      
-------------------------------------------------------------------------------
1         00:ca:ca:ba:ce:03 eES:                     Evpn     06/11/15 00:14:47
                            01:00:00:00:00:71:00:00:00:01
1         00:ca:fe:ca:fe:69 eMpls:                   EvpnS    06/11/15 00:09:18
                            192.0.2.69:262141
1         00:ca:fe:ca:fe:70 eMpls:                   EvpnS    06/11/15 00:09:18
                            192.0.2.70:262140
1         00:ca:fe:ca:fe:72 eMpls:                   EvpnS    06/11/15 00:09:39
                            192.0.2.72:262141
-------------------------------------------------------------------------------
No. of MAC Entries: 4
-------------------------------------------------------------------------------
Legend:  L=Learned O=Oam P=Protected-MAC C=Conditional S=Static
===============================================================================

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:

*A:PE3# show service id 1 evpn-mpls 
===============================================================================
BGP EVPN-MPLS Dest
===============================================================================
TEP Address     Egr Label     Num. MACs   Mcast           Last Change
                 Transport                                
-------------------------------------------------------------------------------
192.0.2.69      262140        0           Yes             06/10/2015 14:33:30
                ldp                                        
192.0.2.69      262141        1           No              06/10/2015 14:33:30
                ldp                                        
192.0.2.70      262139        0           Yes             06/10/2015 14:33:30
                ldp                                        
192.0.2.70      262140        1           No              06/10/2015 14:33:30
                ldp                                        
192.0.2.72      262140        0           Yes             06/10/2015 14:33:30
                ldp                                        
192.0.2.72      262141        1           No              06/10/2015 14:33:30
                ldp                                        
192.0.2.73      262139        0           Yes             06/10/2015 14:33:30
                ldp                                        
192.0.2.254     262142        0           Yes             06/10/2015 14:33:30
                bgp                                        
-------------------------------------------------------------------------------
Number of entries : 8
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
BGP EVPN-MPLS Ethernet Segment Dest
===============================================================================
Eth SegId                     TEP Address     Egr Label   Last Change
                                               Transport  
-------------------------------------------------------------------------------
01:00:00:00:00:71:00:00:00:01 192.0.2.69      262141      06/10/2015 14:33:30
                                              ldp          
01:00:00:00:00:71:00:00:00:01 192.0.2.72      262141      06/10/2015 14:33:30
                                              ldp          
01:74:13:00:74:13:00:00:74:13 192.0.2.73      262140      06/10/2015 14:33:30
                                              ldp          
-------------------------------------------------------------------------------
Number of entries : 3
-------------------------------------------------------------------------------
===============================================================================

PE3 performs aliasing for all the MAC addresses associated with that ESI. This is possible because PE1 is configured with ECMP > 1:

*A:PE3>config>service>vpls# info 
----------------------------------------------
            bgp
            exit
            bgp-evpn
                evi 1
                exit
                mpls
                    ecmp 4
                    auto-bind-tunnel
                        resolution any
                    exit
                    no shutdown
                exit
            exit
            proxy-arp
                shutdown
            exit
            stp
                shutdown
            exit
            sap 1/1/1:2 create
            exit
            no shutdown

10.2.2.4.1.4. Network Failures and Convergence for All-Active Multihoming

Figure 160 shows the behavior on the remote PE (PE3) when there is an Ethernet segment failure.

Figure 160:  All-Active Multihoming ES Failure 

The unicast traffic behavior on PE3 is as follows.

  1. PE3 can only forward MAC DA = CE2 to both PE1 and PE2 when the MAC advertisement route from PE1 or PE2 and the set of Ethernet AD per-ES routes and Ethernet AD per-EVI routes from PE1 and PE2 are active at PE3.
  2. If there is a failure between CE2 and PE2, PE2 withdraws its set of Ethernet AD and ES routes, then PE3 forwards traffic destined for CE2 to PE1 only. PE3 does not need to wait for the withdrawal of the individual MAC address.
  3. The same behavior would be followed if the failure had been at PE1.
  4. If after (2), PE2 withdraws its MAC advertisement route, PE3 treats traffic to MAC DA = CE2 as unknown unicast, unless the MAC address had been previously advertised by PE1.

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):

  1. reception of ES route update (local ES shutdown/no shutdown or remote route)
  2. new AD-ES route update or withdrawal
  3. new AD-EVI route update or withdrawal
  4. local ES port or SAP or service shutdown
  5. service-carving range change (affecting the evi)
  6. multihoming mode change (single-active to all-active or all-active to single-active)
10.2.2.4.1.4.1. Logical Failures on Ethernet Segments and Black Holes

Figure 161 shows a black hole caused by a SAP or service shutdown.

Figure 161:  Black Hole Caused by 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.

10.2.2.4.1.4.2. Transient Issues Due to MAC Route Delays

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.

Figure 162:  Transient Issues Caused by Slow MAC Learning 
  1. Transient packet duplication caused by delay in PE3 to learn MAC1:
    This scenario is illustrated by the diagram at the top in Figure 162.
    In an all-active multihoming scenario, if a specified MAC address (for example, MAC1), is not learned yet in a remote PE (for example, PE3) but it is known in the two PEs of the ES (for example, PE1 and PE2), the latter PEs might send duplicated packets to the CE.
    This issue is solved by the use of the ingress-replication-bum-label command in PE1 and PE2. If the command is configured, PE1 and PE2 will know that the received packet is an unknown unicast packet; therefore, the non-DF (PE1) will not send the packets to the CE and there will not be duplication.
    Even if the ingress-replication-bum-label command is not used, this is only a transient situation that is solved as soon as MAC1 is learned in PE3.
  2. Transient black hole caused by delay in PE1 to learn MAC1:
    This scenario is illustrated by the diagram at the bottom in Figure 162.
    In an all-active multihoming scenario, MAC1 is known in PE3 and aliasing is applied to MAC1. However, MAC1 is not known yet in PE1, the non-DF for the ES. If PE3 hashing picks up PE1 as the destination for the aliased MAC1, the packets will be blackholed. This case is solved on the non-DF by not blocking unknown unicast traffic that arrives with a unicast label, which is possible if PE1 and PE2 are configured using ingress-replication-bum-label.
    As soon as PE1 learns MAC1, the black hole is resolved even if ingress-replication-bum-label is not used.

10.2.2.4.2. EVPN Single-Active Multihoming

This section provides information on the following topics:

  1. single-active multihoming service model
  2. ES and DF Election Procedures (single-active multihoming)
  3. backup PE function
  4. network failures and convergence for single-active multihoming

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:

  1. DF election
    As in all-active multihoming, DF election in single-active multihoming determines the forwarding for BMU traffic from the EVPN network to the Ethernet segment CE. Also, in single-active multihoming, DF election determines the forwarding of any traffic (unicast and BMU) in any direction (to or from the CE).
  2. backup PE
    In single-active multihoming, the remote PEs do not perform aliasing to the PEs in the Ethernet segment. The remote PEs identify the DF based on the MAC routes and send the unicast flows for the Ethernet segment to the PE in the DF and program a backup PE as an alternative next hop for the remote ESI in case of failure, as shown in Figure 163 for PE3.
    Figure 163:  Backup PE 

10.2.2.4.2.1. Single-Active Multihoming Service Model

The following is an example of PE1 configuration that provides single-active multihoming to CE2, as shown in Figure 163.

*A:PE1>config>service>system>bgp-evpn# info 
----------------------------------------------
  route-distinguisher 1.1.1.1:0
  ethernet-segment "ESI2" create
    esi 01:12:12:12:12:12:12:12:12:12
    multi-homing single-active
    service-carving
    sdp 1 
    no shutdown
 
*A:PE1>config>redundancy>bgp-evpn-multi-homing# info 
----------------------------------------------
    boot-timer 120
    es-activation-timer 10
 
*A:PE1>config>service>vpls# info 
----------------------------------------------
  description "evpn-mpls-service with single-active multihoming"
  bgp
  bgp-evpn
    evi 10
    mpls
      no shutdown
      auto-bind-tunnel resolution any
  spoke-sdp 1:1 create 
  exit
 

The PE2 configuration for this scenario is as follows:

*A:PE2>config>service>system>bgp-evpn# info 
----------------------------------------------
  route-distinguisher 1.1.1.1:0
  ethernet-segment "ESI2" create
    esi 01:12:12:12:12:12:12:12:12:12
    multi-homing single-active
    service-carving
    sdp 2 
    no shutdown
 
*A:PE2>config>redundancy>bgp-evpn-multi-homing# info 
----------------------------------------------
    boot-timer 120
    es-activation-timer 10
 
*A:PE2>config>service>vpls# info 
----------------------------------------------
  description "evpn-mpls-service with single-active multihoming"
  bgp
  bgp-evpn
    evi 10
    mpls
      no shutdown
      auto-bind-tunnel resolution any
  spoke-sdp 2:1 create 
  exit
 

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.

  1. The Ethernet segment is configured for single-active: service>system>bgp-evpn>ethernet-segment>multi-homing single-active.
  2. The advertisement of the ESI label in an AD per-ESI route is optional for single-active Ethernet segments. By default, the ESI label is used for single-active Ethernet segments. The user can control the no advertisement of the ESI label by using the following command: service>system>bgp-evpn>ethernet-segment>multi-homing single-active no-esi-label.
  3. For single-active multihoming, the Ethernet segment can be associated with a port, SDP, or LAG ID, as shown in Figure 163, where:
    1. a port is used for single-active SAP redundancy without the need for a LAG
    2. an SDP is used for single-active spoke SDP redundancy
    3. a LAG ID is used for single-active LAG redundancy
      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.

  4. For single-active multihoming, when the PE is non-DF for the service, the SAPs and spoke SDPs on the Ethernet segment are operationally down and show StandbyForMHProtocol as the reason.
  5. From a service perspective, single-active multihoming can provide redundancy to CEs (multihomed devices (MHD)) or networks (multihomed networks (MHN)) with the following setup:
    1. LAG with or without LACP
      In this case, the multihomed ports on the CE are part of different LAGs (one LAG per multihomed PE is used in the CE).
    2. regular Ethernet 802.1q/ad ports
      In this case, the multihomed ports on the CE or network are not part of any LAG.
    3. active-standby PWs
      In this case, the multihomed CE or network is connected to the PEs through an MPLS network and an active/standby spoke SDP per service. The non-DF PE for each service uses the LDP PW status bits to signal that the spoke SDP is operationally down on the PE side.

10.2.2.4.2.2. ES and DF Election Procedures (single-active multihoming)

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:PE1# show service system bgp-evpn ethernet-segment name "ESI-7413"       
 
===============================================================================
Service Ethernet Segment
===============================================================================
Name                    : ESI-7413
Admin State             : Up                 Oper State         : Up
ESI                     : 01:74:13:00:74:13:00:00:74:13
Multi-homing            : singleActive       Oper Multi-homing  : singleActive
Source BMAC LSB         : <none>             
Sdp Id                  : 4                  
ES Activation Timer     : 0 secs             
Exp/Imp Route-Target    : target:74:13:00:74:13:00
 
Svc Carving             : auto               
ES SHG Label            : 262141             
===============================================================================
 
 
*A:PE1# show service system bgp-evpn ethernet-segment name "ESI-7413" evi 1 
===============================================================================
EVI DF and Candidate List
===============================================================================
EVI           SvcId         Actv Timer Rem      DF  DF Last Change
-------------------------------------------------------------------------------
1             1             0                   no  06/11/2015 20:05:32
===============================================================================
===============================================================================
DF Candidates                           Time Added
-------------------------------------------------------------------------------
192.0.2.70                              06/11/2015 20:05:20
192.0.2.73                              06/11/2015 20:05:32
-------------------------------------------------------------------------------
Number of entries: 2
===============================================================================
 
 
*A:PE1# show service id 1 base 
===============================================================================
Service Basic Information
===============================================================================
Service Id        : 1                   Vpn Id            : 0
Service Type      : VPLS                
Name              : (Not Specified)
Description       : (Not Specified)
 
...<snip>...
 
-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier                               Type         AdmMTU  OprMTU  Adm  Opr
-------------------------------------------------------------------------------
sap:1/1/1:1                              q-tag        9000    9000    Up   Up
sdp:4:13 S(192.0.2.74)                   Spok         0       8978    Up   Down
===============================================================================
* indicates that the corresponding row element may have been truncated.
 
 
*A:PE1# show service id 1 all | match Pw 
Local Pw Bits      : pwFwdingStandby
Peer Pw Bits       : None
 
*A:PE1# show service id 1 all | match Flag 
Flags              : StandbyForMHProtocol
Flags              : None
 

10.2.2.4.2.3. Backup PE Function

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.

*A:PE3# show service id 1 fdb detail 
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId    MAC               Source-Identifier        Type     Last Change
                                                     Age      
-------------------------------------------------------------------------------
1         00:ca:ca:ba:ca:02 sap:1/1/1:2              L/0      06/12/15 00:33:39
1         00:ca:ca:ba:ca:06 eES:                     Evpn     06/12/15 00:33:39
                            01:74:13:00:74:13:00:00:74:13
1         00:ca:fe:ca:fe:69 eMpls:                   EvpnS    06/11/15 21:53:47
                            192.0.2.69:262118
1         00:ca:fe:ca:fe:70 eMpls:                   EvpnS    06/11/15 19:59:57
                            192.0.2.70:262140
1         00:ca:fe:ca:fe:72 eMpls:                   EvpnS    06/11/15 19:59:57
                            192.0.2.72:262141
-------------------------------------------------------------------------------
No. of MAC Entries: 5
-------------------------------------------------------------------------------
Legend:  L=Learned O=Oam P=Protected-MAC C=Conditional S=Static
===============================================================================
 
*A:PE3# show service id 1 evpn-mpls 
===============================================================================
BGP EVPN-MPLS Dest
===============================================================================
TEP Address     Egr Label     Num. MACs   Mcast           Last Change
                 Transport                                
-------------------------------------------------------------------------------
192.0.2.69      262118        1           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.70      262139        0           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.70      262140        1           No              06/11/2015 19:59:03
                ldp                                        
192.0.2.72      262140        0           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.72      262141        1           No              06/11/2015 19:59:03
                ldp                                        
192.0.2.73      262139        0           Yes             06/11/2015 19:59:03
                ldp                                        
192.0.2.254     262142        0           Yes             06/11/2015 19:59:03
                bgp                                        
-------------------------------------------------------------------------------
Number of entries : 7
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
BGP EVPN-MPLS Ethernet Segment Dest
===============================================================================
Eth SegId                     TEP Address     Egr Label   Last Change
                                               Transport  
-------------------------------------------------------------------------------
01:74:13:00:74:13:00:00:74:13 192.0.2.73      262140      06/11/2015 19:59:03
                                              ldp          
-------------------------------------------------------------------------------
Number of entries : 1
-------------------------------------------------------------------------------
===============================================================================

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.

10.2.2.4.2.4. Network Failures and Convergence for Single-Active Multihoming

Figure 164 shows the remote PE (PE3) behavior when there is an Ethernet segment failure.

Figure 164:  Single-Active Multihoming ES Failure 

The PE3 behavior for unicast traffic is as follows.

  1. PE3 forwards MAC DA = CE2 to PE2 when the MAC advertisement route came from PE2 and the set of Ethernet AD per-ES routes and Ethernet AD per-EVI routes from PE1 and PE2 are active at PE3.
  2. If there is a failure between CE2 and PE2, PE2 withdraws its set of Ethernet AD and ES routes, then PE3 immediately forwards the traffic destined for CE2 to PE1 only (the backup PE). PE3 does not need to wait for the withdrawal of the individual MAC address.
  3. After PE2 withdraws its MAC advertisement route, PE3 treats traffic to MAC DA = CE2 as unknown unicast, unless the MAC has been previously advertised by PE1.

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).

10.2.3. EVPN-VPWS for MPLS Tunnels

This section contains information about EVPN-VPWS for MPLS tunnels.

10.2.3.1. BGP-EVPN Control Plane for EVPN-VPWS

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.

Figure 165:  EVPN-VPWS BGP Extensions 

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.

  1. Ethernet tag ID field is encoded with the value configured by the user in the service>epipe>bgp-evpn>local-ac-name>eth-tag value command.
  2. RD and MPLS label values are encoded as specified in RFC 7432.
  3. ESI is 0.
  4. The route is sent along an EVPN Layer 2 attributes extended community, as specified in IETF draft-ietf-bess-evpn-vpws, where:
    1. type and subtype are 0x06 and 0x04, as allocated by IANA
    2. flag C is set if control-word is configured in the service
    3. P- and B-flags are zero
    4. Layer 2 MTU is encoded with service-mtu configured in the Epipe service

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.

  1. The ESI encodes the corresponding non-zero value.
  2. The P- and B-flags are set in the following cases:
    1. all-active multihoming
      1. All PEs that are part of the ES always set the P-flag.
      2. The B-flag is never set in the all-active multihoming ES case.
    2. single-active multihoming
      1. Only the DF PE sets the P-flag for an EVI and the remaining PEs send it as P=0.
      2. Only the backup DF PE sets the B-flag.
        If more than two PEs are present in the same single-active ES, the backup PE is the winner of a second DF election (excluding the DF). The remaining non-DF PEs send B=0.

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.

10.2.3.2. EVPN for MPLS Tunnels in Epipe Services

BGP-EVPN can be enabled in Epipe services with either SAPs or spoke SDPs at the access, as shown in Figure 166.

Figure 166:  EVPN-MPLS in Epipe Services 

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.

  1. EVPN-VPWS does not use inclusive multicast or MAC/IP routes.
  2. Ethernet AD per-EVI routes are used to advertise the local attachment circuit identifiers at each side of the VPWS instance. The attachment circuit identifiers are configured as local and remote Ethernet tags. When an AD per-EVI route is imported and the Ethernet tag matches the configured remote Ethernet tag, an EVPN-MPLS destination is created for the Epipe.

In the following configuration example, Epipe 2 is an EVPN-VPWS service between PE2 and PE4 (as shown in Figure 166):

PE2>config>service>epipe(2)#
-----------------------
  bgp-evpn
    evi 2
    mpls
      auto-bind-tunnel resolution any
      ecmp 2
      no shutdown
    local-ac-name "AC-1"
      eth-tag 100  
    remote-ac-name "AC-2"
      eth-tag 200 
  sap 1/1/1:1 create
 
 
PE4>config>service>epipe(2)#
-----------------------
  bgp-evpn
    evi 2
    mpls
      auto-bind-tunnel resolution any
      no shutdown
    local-ac-name "AC-2"
      eth-tag 200  
    remote-ac-name "AC-1"
      eth-tag 100 
 spoke-sdp 1:1

The following considerations apply to the configuration.

  1. The evi value is used to auto-derive the route target or route distinguisher of the service. The evi values must be unique in the system regardless of the type of service they are assigned (Epipe or VPLS).
  2. Support for the following bgp-evpn commands in Epipe services is the same as in VPLS services:
    1. mpls>auto-bind-tunnel
    2. mpls>control-word
    3. mpls>entropy-label
    4. mpls>force-vlan-vc-forwarding
    5. mpls>shutdown
  3. The following bgp-evpn commands identify the local and remote attachment circuits, with the configured eth-tag values encoded in the advertised and received AD Ethernet per-EVI routes:
    1. local-ac-name ac-name
    2. local-ac-name ac-name eth-tag tag-value, where tag-value is 1 to 16777215
    3. remote-ac-name ac-name
    4. remote-ac-name ac-name eth-tag tag-value, where tag-value is 1 to 16777215
    Changes to the remote eth-tag value is allowed without shutting down bgp-evpn>mpls or the Epipe service. The local eth-tag value cannot be changed without using the bgp-evpn>mpls>shutdown command.
    Both local and remote eth-tag values are mandatory to bring up the Epipe service.

EVPN-VPWS Epipes can also be configured with the following characteristics.

  1. Access attachment circuits can be SAPs or spoke SDPs. Only manually configured spoke SDPs are supported; BGP-VPWS and endpoints are not supported. The vc-switching configuration is not supported on bgp-evpn enabled Epipes.
  2. EVPN-VPWS Epipes support control-word and entropy-label.
    When the bgp-evpn>mpls>control-word command is configured, the PE sets the C-bit in its AD per-EVI advertisement and sends the control word in the data path. In this case, the PE also expects the control word to be received. If there is a mismatch between the received control word and the configured control word, the system will not set up the EVPN destination. As a result, the service will not come up.
  3. EVPN-VPWS Epipes can advertise the Layer 2 (service) MTU and check its consistency as follows.
    1. The advertised MTU value is taken from the configured service-mtu in the Epipe service.
    2. The received Layer 2 MTU is checked and compared with the local value. In case of a mismatch between the received MTU and the configured service-mtu, the system does not set up the EVPN destination. As a result, the service does not come up.
    3. The system does not check the network port MTU value.
    4. If the received Layer 2 MTU value is 0, the MTU is ignored.

10.2.3.3. Using A/S PW and MC-LAG with EVPN-VPWS Epipes

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.

Figure 167:  A/S PW and MC-LAG Support on EVPN-VPWS 

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.

  1. PE1 and PE2 are configured with Epipe 1, where a spoke SDP connects the service in each PE to the access CE. The local-ac-name eth-tag is 1 and the remote-ac-name eth-tag is 2.
  2. PE3 and PE4 are configured with Epipe 1, where each PE has a LAG SAP that belongs to a previously configured MC-LAG construct. The local-ac-name eth-tag is 2 and the remote-ac-name eth-tag is 1.
  3. An endpoint and A/S PW is configured on the CE on the left-hand side of the diagram. PE1 and PE2 are able to advertise eth-tag 1 based on the operational status or the forwarding status of the spoke SDP.
    For example, if PE1 receives a standby PW status indication from the CE and the previous status was forward, PE1 withdraws the AD EVI route for eth-tag 1. If PE2 receives a forward PW status indication and the previous status was standby or down, PE2 advertises the AD EVI route for eth-tag 1.
  4. The user can configure MC-LAG for access SAPs using the configuration of PE3 and PE4 shown in Figure 167. In this case, the MC-LAG determines which of the two chassis is active or standby.
    If PE4 becomes the standby chassis, the entire LAG port is brought down. As a result, the SAP goes operationally down and PE4 withdraws any previous AD EVI route for eth-tag 2.
    If PE3 becomes the active chassis, the LAG port becomes operationally up. As a result, the SAP and PE3 advertise the AD per-EVI route for eth-tag 2.

10.2.3.4. EVPN Multihoming for EVPN-VPWS Services

EVPN multihoming is supported for EVPN-VPWS Epipe services with the following considerations.

  1. Single-active and all-active multihoming is supported for SAPs and spoke SDPs.
  2. Ethernet segments (ESs) can be shared between the Epipe and VPLS services for LAGs, ports, and SDPs.
  3. A split-horizon function is not required because there is no traffic between the DF and the non-DF for Epipe services. As a result, the ESI label is never used. For this reason, the ethernet-segment >multi-homing single-active no-esi-label command does not affect Epipe services.
  4. The local Ethernet tag values must match on all PEs that are part of the same ES, regardless of the multihoming mode. The PEs in the ES use the AD per-EVI routes from the peer PEs to validate the PEs as DF election candidates for a specific EVI.

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.

  1. All PEs send P=1 on the AD per-EVI routes.
  2. All PEs can send upstream and downstream traffic, regardless of whether traffic is unicast, multicast, or broadcast (all traffic is treated as unicast in the Epipe services).

Therefore, the following tools command output shows “N/A” when all-active multihoming is configured.

*A:PE-2# tools dump service system bgp-evpn ethernet-segment "ESI-12" evi 6000 df 
[03/18/2016 20:31:35] All Active VPWS - DF N/A

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.

  1. The PE elected as DF is the primary PE for the Ethernet segment in the Epipe. The primary PE unblocks the SAP or spoke SDP for upstream and downstream traffic. The remaining PEs in the ES bring their ES SAPs or spoke SDPs operationally down.
  2. The DF candidate list is built from the PEs sending ES routes for the same ES and is pruned for a specific service, depending on the availability of the AD per-ES and per-EVI routes.
  3. When the SAP or spoke SDPs (part of the ES) come up, the AD per-EVI routes are sent with P=B=0. The remote PEs do not send traffic at this stage.
    The remote PEs do not start sending traffic until the DF election process is completed, the es-activation-timer has expired, and the PEs advertise AD per-EVI routes with P- and B-bits different from 0.
  4. The backup PE function is supported as defined in IETF draft-ietf-bess-evpn-vpws. The primary PE, backup, or none status is signaled by the PEs (part of the same single-active multihoming ES) in the P- or B-flags of the EVPN Layer 2 attributes extended community. Figure 168 shows the advertisement and use of the primary, backup, or none indication by the PEs in the ES.
    Figure 168:  EVPN-VPWS Single-active Multihoming  

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).

  1. The DF PE for an EVI (PE2 in Figure 168) sends P=1 and B=0.
  2. For each ES or EVI, a second DF election is run among the PEs in the backup candidate list to elect the backup PE. The backup PE (PE3 in Figure 168) sends P=0 and B=1.
  3. All remaining multihoming PEs (PE4 and PE5) send P=B=0.
  4. At the remote PEs (PE1 in Figure 168), the P- and B-flags are used to identify the primary and backup PEs within the ES destination. The traffic is then sent to the primary PE, provided that it is active.
    1. When a remote PE receives the withdrawal of an Ethernet AD per-ES (or EVI) route from the primary PE, the remote PE immediately switches the traffic to the backup PE for the affected EVIs.
    2. The backup PE takes over immediately without waiting for the ES activation timer to expire and bring up its SAP or spoke SDP.
    3. The bgp-evpn mpls ecmp setting also governs the forwarding in single-active multihoming, regardless of the single-active multihoming bit in the AD per-ES route received at the remote PE (PE1 in Figure 168).
      1. PE1 always sends the traffic to the primary remote PE (the owner of the P=1 bit). If there are multiple primary PEs and ECMP > 1, PE1 will load-balance the traffic to all the primary PEs, regardless of the multihoming mode.
      2. If the last primary PE withdraws its AD per-EVI or ES route, PE1 sends the traffic to the backup PE or PEs. If there are multiple backup PEs and ECMP > 1, PE1 load-balances the traffic to the backup PEs.

10.2.4. EVPN for MPLS Tunnels in r-VPLS Services

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:

  1. r-VPLS with VRRP support on VPRN interfaces
  2. r-VPLS support including ip-route-advertisement with regular interfaces
    This includes the advertisement and process of IP prefix routes defined in IETF draft-ietf-bess-evpn-prefix-advertisement with the appropriate encoding for EVPN-MPLS.
  3. r-VPLS support including ip-route-advertisement with evpn-tunnel interfaces
  4. r-VPLS with IPv6 support on the VPRN IP interface

10.2.4.1. Overview

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.

10.2.4.2. EVPN-MPLS Multihoming and Passive VRRP

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.

  1. There are two subnets for a specific customer (for example, EVI1 and EVI2 in Figure 169), and a VPRN is instantiated in all the PEs for efficient inter-subnet forwarding.
  2. A backhaul r-VPLS with evpn-tunnel mode enabled is used in the core to interconnect all the VPRNs. EVPN IP prefix routes are used to exchange the prefixes corresponding to the two subnets.
  3. An all-active ES is configured for EVI1 on PE1 and PE2.
  4. A single-active ES is configured for EVI2 on PE3 and PE4.
Figure 169:  EVPN-MPLS Multi-Homing in r-VPLS Services 

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.

  1. All r-VPLS IRB interfaces for EVI1 have their own physical MAC/IP address; they also own the same default gateway virtual MAC and IP address.
  2. All EVI1 hosts have a unique configured default gateway; for example, 10.0.0.254.
  3. When CE1 or CE2 sends upstream traffic to a remote subnet, the packets are routed by the closest PE because the virtual MAC is always local to the PE.
    For example, the packets from CE1 hashed to PE1 are routed at PE1. The packets from CE1 hashed to PE2 are routed directly at PE2.
  4. Downstream packets (for example, packets from CE3 to CE1), are routed directly by the PE to CE1, regardless of the PE to which PE5 routed the packets.
    For example, the packets from CE3 sent to PE1 are routed to CE1 at PE1. The packets from CE3 sent to PE2 are routed to CE1 at PE2.
  5. In case of ES failure in one of the PEs, the traffic will be forwarded by the available PE.
    For example, if the packets routed by PE5 arrive at PE1 and the link to CE1 is down, PE1 will send the packets to PE2. PE2 will forward the packets to CE1 even if the MAC source address of the packets matches the virtual MAC address of PE2. Virtual MAC addresses bypass the r-VPLS interface MAC protection.

The following list summarizes the advantages of using passive VRRP mode versus regular VRRP for EVPN-MPLS multi-homing in r-VPLS services.

  1. Passive VRRP does not require multiple VRRP instances to achieve default gateway load balancing. Only one instance per r-VPLS—hence only one default gateway—is needed for all the hosts.
  2. The convergence time for link or node failures is not impacted by the VRRP convergence because all the nodes in the VRRP instance are master routers.
  3. Passive VRRP scales better than VRRP because it does not use keepalive or BFD messages to detect failures and allow the backup to take over.

10.2.5. MPLS Entropy Label

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.

10.3. General EVPN Topics

This section provides information on general topics related to EVPN.

10.3.1. BGP-EVPN MAC Mobility

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.

  1. The router honors and generates the SEQ (sequence) number in the MAC mobility extended community for MAC moves.
  2. When a MAC address is EVPN-learned and there is an attempt for it to be learned locally, a BGP update is sent with the SEQ number changed to previous_SEQ+1, except when the MAC duplication num-moves value is reached.
  3. If the sequence number is 0 or if the extended community received in the type 2 MAC/IP advertisement route is not included, then the sequence number is interpreted as 0.
  4. For MAC mobility, the following MAC address selection procedure is followed.
    1. If a PE has two or more active remote EVPN routes for the same MAC address, the highest SEQ number is selected. The tiebreaker is the lowest IP address (BGP next-hop IP address).
    2. If a PE has two or more active EVPN routes and the PE is the originator of one of the routes, the highest SEQ number is selected. The tiebreaker is the lowest IP address (BGP next-hop IP address of the remote route is compared to the local system address).
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.

10.3.2. BGP-EVPN MAC Duplication

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:

10 2018/01/14 01:00:22.91 UTC MINOR: SVCMGR #2331 Base 
"VPLS Service 1 has MAC(s)detected as duplicates by EVPN mac-duplication detection."
 
# show service id 1 bgp-evpn 
===============================================================================
BGP EVPN Table
===============================================================================
MAC Advertisement  : Enabled            Unknown MAC Route  : Disabled
VXLAN Admin Status : Disabled           Creation Origin    : manual
MAC Dup Detn Moves : 5                  MAC Dup Detn Window: 3
MAC Dup Detn Retry : 9                  Number of Dup MACs : 1
-------------------------------------------------------------------------------
Detected Duplicate MAC Addresses             Time Detected
-------------------------------------------------------------------------------
00:00:00:00:00:12                            01/14/2014 01:00:23
-------------------------------------------------------------------------------
===============================================================================

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:

  1. the MAC address is flushed due to a local event (such as a SAP or SDP binding associated with the MAC address failing) or the reception of a remote update with a higher SEQ number (due to a MAC address flush at the remote router)
  2. the retry minutes timer expires, which flushes the MAC address and restarts the process
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:

*A:DGW1>config>service>vpls>bgp-evpn# info 
----------------------------------------------
       mac-advertisement 
       mac-duplication
         detect num-moves 5 window 3
         retry 9
       exit

10.3.3. Conditional Static MAC and Protection

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:

*A:PE63>config>service>vpls# info 
----------------------------------------------
...     
            sap 1/1/1:1000 create
            exit
            static-mac                
                mac 00:ca:ca:ca:ca:00 create sap 1/1/1:1000 monitor fwd-status
            exit
            no shutdown
 
*A:PE64# show router bgp routes evpn mac hunt mac-address 00:ca:ca:ca:ca:00 
...
===============================================================================
BGP EVPN Mac Routes
===============================================================================
Network        : 0.0.0.0/0
Nexthop        : 192.0.2.63
From           : 192.0.2.63
Res. Nexthop   : 192.168.19.1
Local Pref.    : 100                    Interface Name : NotAvailable
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : 0
AIGP Metric    : None                   
Connector      : None
Community      : target:65000:1000     mac-mobility:Seq: 0/Static
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.63
Flags          : Used  Valid  Best  IGP  
Route Source   : Internal               
AS-Path        : No As-Path
EVPN type      : MAC                    
ESI            : 0:0:0:0:0:0:0:0:0:0    Tag            : 1063
IP Address     : ::                     RD             : 65063:1000
Mac Address    : 00:ca:ca:ca:ca:00      Mac Mobility   : Seq:0
Neighbor-AS    : N/A
Source Class   : 0                      Dest Class     : 0
-------------------------------------------------------------------------------
Routes : 1                            
===============================================================================

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.

10.3.4. Blackhole MAC

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 [createblack-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.

  1. The configured MAC address is created as a static MAC address with a “black-hole” source identifier.
        *A:PE1# show service id 1 fdb detail                  
        ===============================================================================
        Forwarding Database, Service 1
        ===============================================================================
        ServId    MAC               Source-Identifier        Type     Last Change
                                                            Age      
        -------------------------------------------------------------------------------
        1         00:ca:ca:ba:ca:01 eES:                     Evpn      06/29/15 23:21:34
                                    01:00:00:00:00:71:00:00:00:01
        1         00:ca:ca:ba:ca:06 eES:                     Evpn      06/29/15 23:21:34
                                    01:74:13:00:74:13:00:00:74:13
        1         00:ca:00:00:00:00 sap:1/1/1:2              CStatic:P 06/29/15 23:20:58
        1         00:ca:fe:ca:fe:00 black-hole               CStatic:P 06/29/15 23:20:00
        1         00:ca:fe:ca:fe:69 eMpls:                   EvpnS:P   06/29/15 20:40:13
                                    192.0.2.69:262133
        -------------------------------------------------------------------------------
        No. of MAC Entries: 5
        -------------------------------------------------------------------------------
        Legend:  L=Learned O=Oam P=Protected-MAC C=Conditional S=Static
        ===============================================================================
  2. After the blackhole MAC has been successfully added to the FDB, it is treated like any other protected MAC. The blackhole MAC is added as protected (CStatic:P) and advertised in EVPN as static.
  3. After the blackhole MAC has been successfully added to the FDB, any frame arriving at any SAP, SDP binding, or EVPN endpoint with a MAC DA that is equal to the blackhole MAC is discarded.

10.3.5. CFM Interaction with EVPN Services

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:

  1. Behavior of operationally down MEPs on SAPs with EVPN multihoming:
    1. all-active multi-homing: in this case, no ETH-CFM is expected to be used because the SAPs on the PEs are operationally up and active. However, the CE has a single LAG and responds as though it is connected to a single system. In addition, cfm-mac-advertisement can lead to traffic loops in all-active multihoming.
    2. single-active multi-homing: operationally down MEPs defined on single-active Ethernet segment SAPs do not send any CCMs when the PE is a non-DF for the Ethernet segment and fault-propagation is configured.
  2. Behavior of operationally up MEPs on Ethernet segment SAPs with EVPN multihoming:
    1. all-active multi-homing: operationally up MEPs defined on non-DF Ethernet segment SAPs can send CFM packets. However, they cannot receive CCMs (the SAP is removed from the default multicast list) or unicast CFM packets (because the MEP MAC address is not installed locally in the FDB, unicast CFM packets are treated as unknown and are not sent to the non-DF SAP MEP).
    2. single-active multi-homing: operationally up MEPs are able to send or receive CFM packets normally.

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.

10.3.6. BGP and EVPN Route Selection for EVPN Routes

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.

  1. EVPN route selection for MAC routes
    When two or more routes with the same mac-length and mac but different route key are received, BGP hands the routes over to EVPN. EVPN selects the route based on the following tiebreaking order:
    1. Conditional static MAC addresses (local protected MAC addresses)
    2. EVPN static MAC addresses (remote protected MAC addresses)
    3. Data plane learned MAC addresses (regular learning on SAPs and SDP bindings)
    4. EVPN MAC addresses with higher SEQ number
    5. Lowest IP address (next-hop IP address of the EVPN NLRI)
    6. Lowest Ethernet tag (the tag will be 0 for MPLS)
    7. Lowest RD
  2. BGP route selection:
    The regular BGP route selection is followed.
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.

10.3.7. Interaction of EVPN and Other Features

This section contains information on the following topics:

10.3.7.1. Interaction of EVPN-MPLS with Existing VPLS Features

When enabling existing VPLS features in an EVPN-MPLS service, the following must be considered.

  1. EVPN-MPLS is only supported in regular VPLS. Other VPLS types, such as management VPLS (mVPLS), are not supported with EVPN-MPLS.
  2. In general, no router-generated control packets are sent to the EVPN destination bindings, except for ETH-CFM for EVPN-MPLS.
  3. STP and mVPLS services:
    1. STP can be configured in BGP-EVPN services. BPDUs are not sent over the EVPN bindings.
    2. The bgp-evpn command is blocked in mVPLS services; however, a separate mVPLS service can manage a SAP or spoke SDP in a BGP-EVPN service.
  4. The mac-move command can be used in BGP-EVPN VPLS services for SAPs and SDP bindings; however, the MAC addresses being learned through BGP-EVPN will not be considered.
    Note:

    The MAC duplication function already provides protection against MAC moves between EVPN and SAPs and SDP bindings.

  5. The disable-learning command and other FDB-related tools only work for data-plane learned MAC addresses.
  6. The mac-protect command cannot be used in conjunction with EVPN.
    Note:

    EVPN provides its own protection mechanism for static MAC addresses.

  7. MAC OAM tools are not supported for BGP-EVPN services, including the following commands: mac-ping, mac-trace, mac-populate, mac-purge, and cpe-ping.
  8. SAPs and SDP bindings that belong to a specified ES but are configured on non-BGP-EVPN MPLS-enabled VPLS or Epipe services are kept operationally down with the StandbyForMHProtocol flag.
  9. CPE ping is not supported for EVPN services. CPE ping packets are not sent over EVPN destinations.
  10. Other functions not supported in conjunction with the bgp-evpn command include:
    1. endpoints and attributes
    2. MLD snooping and attributes
    3. BPDU translation
    4. MAC pinning

10.3.7.2. Routing Policies for BGP-EVPN IP Prefixes

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.

Figure 170:  IP-VPN Import and EVPN Export BGP Workflow 

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:

<tag>  : accepts in decimal or hex
        [0x1..0xFFFFFFFF]H (for OSPF and IS-IS)
        [0x1..0xFFFF]H (for RIP)
        [0x1..0xFF]H (for BGP)

Figure 171 shows an example of the reverse workflow: routes imported from EVPN and exported from RTM to BGP VPN-IPv4.

Figure 171:  EVPN Import and IP-VPN Export BGP Workflow  

The policy behavior for EVPN IP prefixes is summarized in the following statements:

  1. for EVPN prefix routes received and imported in RTM:
    1. policy entries can match on communities and add tags. This works at the peer level or at the vsi-import level.
    2. policy entries can match on family evpn
  2. for exporting RTM to EVPN prefix routes:
    1. policy entries can match on tags and based on that, add communities, accept, or reject. This works at the peer level or the virtual switch instance (VSI) export level.

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.