EVPN VXLAN multihoming

SR OS supports EVPN VXLAN multihoming as specified in RFC8365. Similar to EVPN-MPLS, as described in EVPN for MPLS tunnels, ESs and virtual ESs can be associated with VPLS and R-VPLS services where BGP-EVPN VXLAN is enabled. Figure: EVPN multihoming for EVPN-VXLAN illustrates the use of ESs in EVPN VXLAN networks.

Figure: EVPN multihoming for EVPN-VXLAN

As described in EVPN multihoming in VPLS services, the multihoming procedures consist of three components:

DF election is the mechanism by which the PEs attached to the same ES elect a single PE to forward all traffic (in case of single-active mode) or all BUM traffic (in case of all-active mode) to the multihomed CE. The same DF Election mechanisms described in EVPN for MPLS tunnels are supported for VXLAN services.

Split-horizon is the mechanism by which BUM traffic received from a peer ES PE is filtered so that it is not looped back to the CE that first transmitted the frame. It is applicable to all-active multihoming. This is illustrated in Figure: EVPN multihoming for EVPN-VXLAN, where PE4 receives BUM traffic from PE3 but, in spite of being the DF for ES-2, PE4 filters the traffic and does not send it back to host-1. While split-horizon filtering uses ESI-labels in EVPN MPLS services, an alternative procedure called ‟Local Bias” is applied in VXLAN services, as described in RFC 8365. In MPLS services, split-horizon filtering may be used in single-active mode to avoid in-flight BUM packets from being looped back to the CE during transient times. In VXLAN services, split-horizon filtering is only used with all-active mode.

Aliasing is the procedure by which PEs that are not attached to the ES can process non-zero MAC/IP and AD routes and create ES destinations to which per-flow ecmp can be applied. Aliasing only applies to all-active mode.

As an example, the configuration of an ES that is used for VXLAN services follows. Note that this ES can be used for VXLAN services and MPLS services (in both cases VPLS and Epipes).

A:PE-3# configure service system bgp-evpn ethernet-segment "ES-2" 
A:PE-3>config>service>system>bgp-evpn>eth-seg# info 
----------------------------------------------
                esi 01:02:00:00:00:00:00:00:00:00
                service-carving
                    mode manual
                    manual
                        preference non-revertive create
                            value 10
                        exit
                    exit
                exit
                multi-homing all-active
                lag 1
                no shutdown
----------------------------------------------

An example of configuration of a VXLAN service using the above ES follows:

A:PE-3# configure service vpls 1 
A:PE-3>config>service>vpls# info 
----------------------------------------------
            vxlan instance 1 vni 1 create
            exit
            bgp
            exit
            bgp-evpn
                evi 1
                vxlan bgp 1 vxlan-instance 1
                    ecmp 2
                    auto-disc-route-advertisement
                    mh-mode network
                    no shutdown
                exit
            exit
            stp
                shutdown
            exit
            sap lag-1:30 create
                no shutdown
            exit
            no shutdown
----------------------------------------------

The auto-disc-route-advertisement and mh-mode network commands are required in all services that are attached to at least one ES, and they must be configured in both, the PEs attached to the ES locally and the remote PEs in the same service. The former enables the advertising of multihoming routes in the service, whereas the latter activates the multihoming procedures for the service, including the local bias mode for split-horizon.

In addition, the configuration of vpls>bgp-evpn>vxlan>ecmp 2 (or greater) is required so that VXLAN ES destinations with two or more next hops can be used for per-flow load balancing. The following command shows how PE1, as shown in Figure: EVPN multihoming for EVPN-VXLAN, creates an ES destination composed of two VXLAN next hops.

A:PE-1# show service id 1 vxlan destinations 
===============================================================================
Egress VTEP, VNI
===============================================================================
Instance    VTEP Address                            Egress VNI  Evpn/   Num.
 Mcast       Oper State                              L2 PBR     Static  MACs
-------------------------------------------------------------------------------
1           192.0.2.3                               1           evpn    0
 BUM         Up                                      No                 
1           192.0.2.4                               1           evpn    0
 BUM         Up                                      No                 
-------------------------------------------------------------------------------
Number of Egress VTEP, VNI : 2
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
BGP EVPN-VXLAN Ethernet Segment Dest
===============================================================================
Instance  Eth SegId                       Num. Macs     Last Change
-------------------------------------------------------------------------------
1         01:02:00:00:00:00:00:00:00:00   1             04/01/2019 08:54:54
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================

A:PE-1# show service id 1 vxlan esi 01:02:00:00:00:00:00:00:00:00 
===============================================================================
BGP EVPN-VXLAN Ethernet Segment Dest
===============================================================================
Instance  Eth SegId                       Num. Macs     Last Change
-------------------------------------------------------------------------------
1         01:02:00:00:00:00:00:00:00:00   1             04/01/2019 08:54:54
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
BGP EVPN-VXLAN Dest TEP Info
===============================================================================
Instance  TEP Address                   Egr VNI             Last Change
-------------------------------------------------------------------------------
1         192.0.2.3                     1                   04/01/2019 08:54:54
1         192.0.2.4                     1                   04/01/2019 08:54:54
-------------------------------------------------------------------------------
Number of entries : 2
-------------------------------------------------------------------------------
===============================================================================