After talking through EVPN-VXLAN topologies in the data center, it seems appropriate to go through some of the common configurations. In this article, I’m going to walk through a configuration using Juniper Junos in an Edge Route Bridging (ERB) deployment in the data center.
Data Center: ERB Requirements
This example we’ll use EVPN-VXLAN, connect all VLANs in a 3-stage Clos, with multi-/single-homed systems. We’re using Juniper’s vQFX images to deploy the spines and leaves within an EVE-NG environment. This is limited to a single-tenant and data center. It is possible to do multi-tenancy and extend connectivity to multiple-data centers, but that is for a future article.
When deploying your EVPN-VXLAN enabled data center it’s recommended you plan out all the details. IPv4/IPv6 address pools should be thought out for your loopbacks, point-to-point, and host subnets. VXLAN Network Identifiers (VNI), route targets (RT), and route distinguishers (RD) are critical data points you’ll need to document, especially if you’re planning for data center growth, mutli-tenancy, and VXLAN-stitching.
The Underlay

The underlay is your data center’s IP fabric. It connects spines and leaves with routed links rather than 802.1q trunks. This eliminates the need for Spanning Tree Protocol and proprietary MC-LAG configurations. In an IP fabric, the data plane is managed by routing protocols in the control plane. EVPN is built around MP-BGP and the open fields within the protocol. It’s still okay to use OSPF or ISIS since there is no “requirement” for the underlay. The underlay is meant to provide loopback Network Layer Reachability Information (NLRI) to the neighboring device so the overlay can function.
Spine Deployment
Workflows for EVPN-VXLAN are important. I begin with the data center fabric and the underlay NLRI. We only need to import and export the loopback addresses so the VTEPs have a place to terminate. There’s no requirement for BGP in the underlay. You can use OSPF, IS-IS, or BGP. Most vendors recommend eBGP for the underlay and iBGP for the overlay but even that is changing to eBGP in both.
Spine 1:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
set interfaces xe-0/0/0 unit 0 description DC2L3-R11 set interfaces xe-0/0/0 unit 0 family inet address 172.16.2.4/31 set interfaces xe-0/0/1 unit 0 description DC2L4-R12 set interfaces xe-0/0/1 unit 0 family inet address 172.16.2.6/31 set interfaces xe-0/0/2 unit 0 description DC2LF1-R9 set interfaces xe-0/0/2 unit 0 family inet address 172.16.2.0/31 set interfaces xe-0/0/3 unit 0 description DC2L2-R10 set interfaces xe-0/0/3 unit 0 family inet address 172.16.2.2/31 set interfaces lo0 unit 0 description "NETWORK MGMT" set interfaces lo0 unit 0 family inet address 10.0.2.107/31 ! set forwarding-options storm-control-profiles default all set policy-options policy-statement LOAD-BALANCE term 1 then load-balance per-packet set policy-options policy-statement LOAD-BALANCE term 1 then accept set policy-options policy-statement UNDERLAY term 1 from interface lo0.0 set policy-options policy-statement UNDERLAY term 1 then accept ! set routing-options router-id 10.0.2.107 set routing-options autonomous-system 65200 set routing-options forwarding-table export LOAD-BALANCE ! set protocols bgp bfd-liveness-detection minimum-interval 2000 set protocols bgp bfd-liveness-detection multiplier 3 set protocols bgp group UNDERLAY type external set protocols bgp group UNDERLAY export UNDERLAY set protocols bgp group UNDERLAY local-as 65207 set protocols bgp group UNDERLAY multipath multiple-as set protocols bgp group UNDERLAY neighbor 172.16.2.1 description DC2LF1-R9 set protocols bgp group UNDERLAY neighbor 172.16.2.1 peer-as 65209 set protocols bgp group UNDERLAY neighbor 172.16.2.3 description DC2LF2-R10 set protocols bgp group UNDERLAY neighbor 172.16.2.3 peer-as 65210 set protocols bgp group UNDERLAY neighbor 172.16.2.5 description DC2LF3-R11 set protocols bgp group UNDERLAY neighbor 172.16.2.5 peer-as 65211 set protocols bgp group UNDERLAY neighbor 172.16.2.7 description DC2LF4-R12 set protocols bgp group UNDERLAY neighbor 172.16.2.7 peer-as 65212 |
Spine 2:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
set interfaces xe-0/0/0 unit 0 description DC2LF4-R12 set interfaces xe-0/0/0 unit 0 family inet address 172.16.2.14/31 set interfaces xe-0/0/1 unit 0 description DC2LF3-R11 set interfaces xe-0/0/1 unit 0 family inet address 172.16.2.12/31 set interfaces xe-0/0/2 unit 0 description DC2LF2-R10 set interfaces xe-0/0/2 unit 0 family inet address 172.16.2.10/31 set interfaces xe-0/0/3 unit 0 description DC2LF1-R9 set interfaces xe-0/0/3 unit 0 family inet address 172.16.2.8/31 set interfaces lo0 unit 0 description "NETWORK MGMT" set interfaces lo0 unit 0 family inet address 10.0.2.108/32 ! set forwarding-options storm-control-profiles default all set policy-options policy-statement LOAD-BALANCE term 1 then load-balance per-packet set policy-options policy-statement LOAD-BALANCE term 1 then accept set policy-options policy-statement UNDERLAY term 1 from interface lo0.0 set policy-options policy-statement UNDERLAY term 1 then accept ! set routing-options router-id 10.0.2.108 set routing-options autonomous-system 65200 set routing-options forwarding-table export LOAD-BALANCE ! set protocols bgp bfd-liveness-detection minimum-interval 2000 set protocols bgp bfd-liveness-detection multiplier 3 set protocols bgp group UNDERLAY type external set protocols bgp group UNDERLAY export UNDERLAY set protocols bgp group UNDERLAY local-as 65208 set protocols bgp group UNDERLAY multipath multiple-as set protocols bgp group UNDERLAY neighbor 172.16.2.9 description DC2LF1-R9 set protocols bgp group UNDERLAY neighbor 172.16.2.9 peer-as 65209 set protocols bgp group UNDERLAY neighbor 172.16.2.11 description DC2LF2-R10 set protocols bgp group UNDERLAY neighbor 172.16.2.11 peer-as 65210 set protocols bgp group UNDERLAY neighbor 172.16.2.13 description DC2LF3-R11 set protocols bgp group UNDERLAY neighbor 172.16.2.13 peer-as 65211 set protocols bgp group UNDERLAY neighbor 172.16.2.15 description DC2LF4-R12 set protocols bgp group UNDERLAY neighbor 172.16.2.15 peer-as 65212 |
The above configuration snippets show the point-to-point IP address assignments. The policy-options policy-statement settings define how routes are to be used by the forwarding engine. UNDERLAY terms restrict advertisements to loopback0 interfaces. The LOAD-BALANCE terms are imported into the Junos forwarding table so all of the learned routes may be used for session based load-balancing. BGP uses one active route by default. We want all links to be used in the data center and this policy makes it possible.
Leaf Configuration
The underlay on the leaves has similar parameters as the spines. It’s still required to have NLRI, ECMP, and loopback advertisement and insertion. The leaves will also include VLANs, IRBs, and EVPN-VXLAN sections for ERB connectivity. It is recommended data centers segment leaves to support border and host functions. Border leaves connect edge services like WAN CPE, firewalls, and load balancers.
Leaf 1 (Border):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
set interfaces xe-0/0/0 unit 0 description DC2FW1 set interfaces xe-0/0/0 unit 0 family inet address 172.16.2.17/31 set interfaces xe-0/0/2 unit 0 description DC2SP1 set interfaces xe-0/0/2 unit 0 family inet address 172.16.2.1/31 set interfaces xe-0/0/3 unit 0 description DC2SP2 set interfaces xe-0/0/3 unit 0 family inet address 172.16.2.9/31 set interfaces lo0 unit 0 description "NETWORK MGMT" set interfaces lo0 unit 0 family inet address 10.0.2.109/32 ! set forwarding-options storm-control-profiles default all set policy-options policy-statement LOAD-BALANCE term 1 then load-balance per-packet set policy-options policy-statement LOAD-BALANCE term 1 then accept set policy-options policy-statement UNDERLAY term 1 from interface lo0.0 set policy-options policy-statement UNDERLAY term 1 then accept ! set routing-options router-id 10.0.2.109 set routing-options autonomous-system 65200 set routing-options forwarding-table export LOAD-BALANCE ! set protocols bgp bfd-liveness-detection minimum-interval 2000 set protocols bgp bfd-liveness-detection multiplier 3 set protocols bgp group UNDERLAY type external set protocols bgp group UNDERLAY export UNDERLAY set protocols bgp group UNDERLAY local-as 65209 set protocols bgp group UNDERLAY multipath multiple-as set protocols bgp group UNDERLAY neighbor 172.16.2.0 description DC2SP1 set protocols bgp group UNDERLAY neighbor 172.16.2.0 peer-as 65207 set protocols bgp group UNDERLAY neighbor 172.16.2.8 description DC2SP2 set protocols bgp group UNDERLAY neighbor 172.16.2.8 peer-as 65208 |
Leaf 2 (Border):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
set interfaces xe-0/0/1 unit 0 description DC2FW1 set interfaces xe-0/0/1 unit 0 family inet address 172.16.2.19/31 set interfaces xe-0/0/2 unit 0 description DC2SP2 set interfaces xe-0/0/2 unit 0 family inet address 172.16.2.11/31 set interfaces xe-0/0/3 unit 0 description DC2SP1 set interfaces xe-0/0/3 unit 0 family inet address 172.16.2.3/31 set interfaces lo0 unit 0 description "NETWORK MGMT" set interfaces lo0 unit 0 family inet address 10.0.2.110/32 ! set forwarding-options storm-control-profiles default all set policy-options policy-statement LOAD-BALANCE term 1 then load-balance per-packet set policy-options policy-statement LOAD-BALANCE term 1 then accept set policy-options policy-statement UNDERLAY term 1 from interface lo0.0 set policy-options policy-statement UNDERLAY term 1 then accept ! set routing-options router-id 10.0.2.110 set routing-options autonomous-system 65200 set routing-options forwarding-table export LOAD-BALANCE ! set protocols bgp bfd-liveness-detection minimum-interval 2000 set protocols bgp bfd-liveness-detection multiplier 3 set protocols bgp group UNDERLAY type external set protocols bgp group UNDERLAY export UNDERLAY set protocols bgp group UNDERLAY local-as 65210 set protocols bgp group UNDERLAY multipath multiple-as set protocols bgp group UNDERLAY neighbor 172.16.2.2 description DC2SP1 set protocols bgp group UNDERLAY neighbor 172.16.2.2 peer-as 65207 set protocols bgp group UNDERLAY neighbor 172.16.2.10 description DC2SP2 set protocols bgp group UNDERLAY neighbor 172.16.2.10 peer-as 65208 |
Leaf 3:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
set interfaces xe-0/0/0 unit 0 description DC2SP1 set interfaces xe-0/0/0 unit 0 family inet address 172.16.2.5/31 set interfaces xe-0/0/1 unit 0 description DC2SP2 set interfaces xe-0/0/1 unit 0 family inet address 172.16.2.13/31 set interfaces lo0 unit 0 description "NETWORK MGMT" set interfaces lo0 unit 0 family inet address 10.0.2.111/32 ! set forwarding-options storm-control-profiles default all set policy-options policy-statement LOAD-BALANCE term 1 then load-balance per-packet set policy-options policy-statement LOAD-BALANCE term 1 then accept set policy-options policy-statement UNDERLAY term 1 from interface lo0.0 set policy-options policy-statement UNDERLAY term 1 then accept ! set routing-options router-id 10.0.2.111 set routing-options autonomous-system 65200 set routing-options forwarding-table export LOAD-BALANCE ! set protocols bgp bfd-liveness-detection minimum-interval 2000 set protocols bgp bfd-liveness-detection multiplier 3 set protocols bgp group UNDERLAY type external set protocols bgp group UNDERLAY export UNDERLAY set protocols bgp group UNDERLAY local-as 65211 set protocols bgp group UNDERLAY multipath multiple-as set protocols bgp group UNDERLAY neighbor 172.16.2.4 description DC2SP1 set protocols bgp group UNDERLAY neighbor 172.16.2.4 peer-as 65207 set protocols bgp group UNDERLAY neighbor 172.16.2.12 description DC2SP2 set protocols bgp group UNDERLAY neighbor 172.16.2.12 peer-as 65208 |
Leaf 4:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
set interfaces xe-0/0/0 unit 0 description DC2SP2 set interfaces xe-0/0/0 unit 0 family inet address 172.16.2.15/31 set interfaces xe-0/0/1 unit 0 description DC2SP1 set interfaces xe-0/0/1 unit 0 family inet address 172.16.2.7/31 set interfaces lo0 unit 0 description "NETWORK MGMT" set interfaces lo0 unit 0 family inet address 10.0.2.112/32 ! set forwarding-options storm-control-profiles default all set policy-options policy-statement LOAD-BALANCE term 1 then load-balance per-packet set policy-options policy-statement LOAD-BALANCE term 1 then accept set policy-options policy-statement UNDERLAY term 1 from interface lo0.0 set policy-options policy-statement UNDERLAY term 1 then accept ! set routing-options router-id 10.0.2.112 set routing-options autonomous-system 65200 set routing-options forwarding-table export LOAD-BALANCE ! set protocols bgp bfd-liveness-detection minimum-interval 2000 set protocols bgp bfd-liveness-detection multiplier 3 set protocols bgp group UNDERLAY type external set protocols bgp group UNDERLAY export UNDERLAY set protocols bgp group UNDERLAY local-as 65212 set protocols bgp group UNDERLAY multipath multiple-as set protocols bgp group UNDERLAY neighbor 172.16.2.6 description DC2SP1 set protocols bgp group UNDERLAY neighbor 172.16.2.6 peer-as 65207 set protocols bgp group UNDERLAY neighbor 172.16.2.14 description DC2SP2 set protocols bgp group UNDERLAY neighbor 172.16.2.14 peer-as 65208 |
Now that the data center fabric is deployed it’s good practice to verify functionality. If you don’t have the underlay ready, you’re not going to get the overlay. Check that the loopbacks are installed in the route tables of all devices by checking BGP session status, routes, and route advertisement. I address verification later in this write up.
The Overlay
After configuring the underlay, it’s time to move to the overlay. This is the VLAN transport portion of our deployment. We’ll use Anycast on each VLAN across the edge. You will need to use BGP in the overlay to enable EVPN signaling. EVPN signaling provides the control plane for VXLAN enabled traffic.
Spine 1:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
set protocols bgp group OVERLAY type internal set protocols bgp group OVERLAY local-address 10.0.2.107 set protocols bgp group OVERLAY family evpn signaling set protocols bgp group OVERLAY cluster 10.0.2.107 set protocols bgp group OVERLAY multipath set protocols bgp group OVERLAY neighbor 10.0.2.109 description DC2LF1-R9 set protocols bgp group OVERLAY neighbor 10.0.2.109 peer-as 65200 set protocols bgp group OVERLAY neighbor 10.0.2.110 description DC2LF1-R10 set protocols bgp group OVERLAY neighbor 10.0.2.110 peer-as 65200 set protocols bgp group OVERLAY neighbor 10.0.2.111 description DC2LF1-R11 set protocols bgp group OVERLAY neighbor 10.0.2.111 peer-as 65200 set protocols bgp group OVERLAY neighbor 10.0.2.112 description DC2LF1-R12 set protocols bgp group OVERLAY neighbor 10.0.2.112 peer-as 65200 |
Spine 2:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
set protocols bgp group OVERLAY type internal set protocols bgp group OVERLAY local-address 10.0.2.108 set protocols bgp group OVERLAY family evpn signaling set protocols bgp group OVERLAY cluster 10.0.2.108 set protocols bgp group OVERLAY local-as 65200 set protocols bgp group OVERLAY multipath set protocols bgp group OVERLAY neighbor 10.0.2.109 description DC2LF1-R9 set protocols bgp group OVERLAY neighbor 10.0.2.109 peer-as 65200 set protocols bgp group OVERLAY neighbor 10.0.2.110 description DC2LF2-R10 set protocols bgp group OVERLAY neighbor 10.0.2.110 peer-as 65200 set protocols bgp group OVERLAY neighbor 10.0.2.111 description DC2LF3-R11 set protocols bgp group OVERLAY neighbor 10.0.2.111 peer-as 65200 set protocols bgp group OVERLAY neighbor 10.0.2.112 description DC2LF4-R12 set protocols bgp group OVERLAY neighbor 10.0.2.112 peer-as 65200 |
Leaf 1 (Border):
|
1 2 3 4 5 6 |
set protocols bgp group OVERLAY type internal set protocols bgp group OVERLAY family evpn signaling set protocols bgp group OVERLAY local-as 65200 set protocols bgp group OVERLAY multipath set protocols bgp group OVERLAY neighbor 10.0.2.107 description DC2SP1 set protocols bgp group OVERLAY neighbor 10.0.2.108 description DC2SP2 |
Leaf 2 (Border):
|
1 2 3 4 5 6 7 |
set protocols bgp group OVERLAY type internal set protocols bgp group OVERLAY local-address 10.0.2.110 set protocols bgp group OVERLAY family evpn signaling set protocols bgp group OVERLAY local-as 65200 set protocols bgp group OVERLAY multipath set protocols bgp group OVERLAY neighbor 10.0.2.107 description DC2SP1 set protocols bgp group OVERLAY neighbor 10.0.2.108 description DC2SP2 |
Leaf 3:
|
1 2 3 4 5 6 7 |
set protocols bgp group OVERLAY type internal set protocols bgp group OVERLAY local-address 10.0.2.111 set protocols bgp group OVERLAY family evpn signaling set protocols bgp group OVERLAY local-as 65200 set protocols bgp group OVERLAY multipath set protocols bgp group OVERLAY neighbor 10.0.2.107 description DC2SP1 set protocols bgp group OVERLAY neighbor 10.0.2.108 description DC2SP2 |
Leaf 4:
|
1 2 3 4 5 6 7 |
set protocols bgp group OVERLAY type internal set protocols bgp group OVERLAY local-address 10.0.2.112 set protocols bgp group OVERLAY family evpn signaling set protocols bgp group OVERLAY local-as 65200 set protocols bgp group OVERLAY multipath set protocols bgp group OVERLAY neighbor 10.0.2.107 description DC2SP1 set protocols bgp group OVERLAY neighbor 10.0.2.108 description DC2SP2 |
EVPN-VXLAN
ERB topology has VXLAN encapsulation at the leaf. Spines are only involved in IP transit rather than VTEP termination. The switch-options and protocols evpn are where the magic happens for sending L2 frames across L3 links.
Host connectivity is advertised within a BGP announcement to all participating VTEPs and contains MAC and IP addresses. Critical concepts on all EVPN-VXLAN topologies are:
-
- A vrf-target , or route target (RT), is a BGP extended community allowing the switch to import/export IP prefixes for a VRF instance or instances. It’s different from a route-distinguisher (RD) which uniquely identifies a prefix. For instance if two different customers connect to the same PE with the same IP prefix, the RD keeps the traffic segregated and the RT notifies the router(s) to which VRF the prefix belongs.
- VXLAN Network Identifiers (VNI) uniquely label a VXLAN enabled VLAN. In the default routing instance we’re using unique VNIs for each VLAN. If this were a MAC-VRF VXLAN type we could use a single VNI for a group of VLANs.
- Adding the command set protocols evpn default-gateway do-not-advertise is recommended when the virtual gateway IP/MAC address are equal across all VTEP devices.
Leaf 1 (Border):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
set switch-options vtep-source-interface lo0.0 set switch-options route-distinguisher 10.0.2.109:65200 set switch-options vrf-target target:65200:20200 ! set protocols evpn encapsulation vxlan set protocols evpn multicast-mode ingress-replication set protocols evpn default-gateway do-not-advertise set protocols evpn extended-vni-list all ! set vlans V201 vlan-id 201 set vlans V201 l3-interface irb.201 set vlans V201 vxlan vni 20201 set vlans V201 vxlan ingress-node-replication set vlans V202 vlan-id 202 set vlans V202 l3-interface irb.202 set vlans V202 vxlan vni 20202 set vlans V202 vxlan ingress-node-replication set vlans V203 vlan-id 203 set vlans V203 l3-interface irb.203 set vlans V203 vxlan vni 20203 set vlans V203 vxlan ingress-node-replication set vlans V204 vlan-id 204 set vlans V204 l3-interface irb.204 set vlans V204 vxlan vni 20204 set vlans V204 vxlan ingress-node-replication ! set interfaces irb unit 201 virtual-gateway-accept-data set interfaces irb unit 201 description VLAN-201 set interfaces irb unit 201 family inet address 192.168.201.2/24 virtual-gateway-address 192.168.201.1 set interfaces irb unit 201 virtual-gateway-v4-mac 00:00:00:00:02:01 set interfaces irb unit 202 virtual-gateway-accept-data set interfaces irb unit 202 description VLAN-202 set interfaces irb unit 202 family inet address 192.168.202.2/24 virtual-gateway-address 192.168.202.1 set interfaces irb unit 202 virtual-gateway-v4-mac 00:00:00:00:02:02 set interfaces irb unit 203 virtual-gateway-accept-data set interfaces irb unit 203 description VLAN-203 set interfaces irb unit 203 family inet address 192.168.203.2/24 virtual-gateway-address 192.168.203.1 set interfaces irb unit 203 virtual-gateway-v4-mac 00:00:00:00:02:03 set interfaces irb unit 204 virtual-gateway-accept-data set interfaces irb unit 204 description VLAN-204 set interfaces irb unit 204 family inet address 192.168.204.2/24 virtual-gateway-address 192.168.204.1 set interfaces irb unit 204 virtual-gateway-v4-mac 00:00:00:00:02:03 |
Leaf 2 (Border):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
set switch-options vtep-source-interface lo0.0 set switch-options route-distinguisher 10.0.2.110:20200 set switch-options vrf-target target:65200:20200 ! set protocols evpn encapsulation vxlan set protocols evpn multicast-mode ingress-replication set protocols evpn default-gateway do-not-advertise set protocols evpn extended-vni-list all ! set vlans V201 vlan-id 201 set vlans V201 l3-interface irb.201 set vlans V201 vxlan vni 20201 set vlans V202 vlan-id 202 set vlans V202 l3-interface irb.202 set vlans V202 vxlan vni 20202 set vlans V203 vlan-id 203 set vlans V203 l3-interface irb.203 set vlans V203 vxlan vni 20203 set vlans V204 vlan-id 204 set vlans V204 l3-interface irb.204 set vlans V204 vxlan vni 20204 ! set interfaces irb unit 201 virtual-gateway-accept-data set interfaces irb unit 201 description VLAN-201 set interfaces irb unit 201 family inet address 192.168.201.2/24 virtual-gateway-address 192.168.201.1 set interfaces irb unit 201 virtual-gateway-v4-mac 00:00:00:00:02:01 set interfaces irb unit 202 virtual-gateway-accept-data set interfaces irb unit 202 description VLAN-202 set interfaces irb unit 202 family inet address 192.168.202.2/24 virtual-gateway-address 192.168.202.1 set interfaces irb unit 202 virtual-gateway-v4-mac 00:00:00:00:02:02 set interfaces irb unit 203 virtual-gateway-accept-data set interfaces irb unit 203 description VLAN-203 set interfaces irb unit 203 family inet address 192.168.203.2/24 virtual-gateway-address 192.168.203.1 set interfaces irb unit 203 virtual-gateway-v4-mac 00:00:00:00:02:03 set interfaces irb unit 204 virtual-gateway-accept-data set interfaces irb unit 204 description VLAN-204 set interfaces irb unit 204 family inet address 192.168.204.2/24 virtual-gateway-address 192.168.204.1 set interfaces irb unit 204 virtual-gateway-v4-mac 00:00:00:00:02:04 |
Leaf 3:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
set switch-options vtep-source-interface lo0.0 set switch-options route-distinguisher 10.0.2.111:20200 set switch-options vrf-target target:65200:20200 ! set protocols evpn encapsulation vxlan set protocols evpn multicast-mode ingress-replication set protocols evpn default-gateway do-not-advertise set protocols evpn extended-vni-list all ! set vlans V201 vlan-id 201 set vlans V201 l3-interface irb.201 set vlans V201 vxlan vni 20201 set vlans V202 vlan-id 202 set vlans V202 l3-interface irb.202 set vlans V202 vxlan vni 20202 set vlans V203 vlan-id 203 set vlans V203 l3-interface irb.203 set vlans V203 vxlan vni 20203 set vlans V204 vlan-id 204 set vlans V204 l3-interface irb.204 set vlans V204 vxlan vni 20204 ! set interfaces irb unit 201 virtual-gateway-accept-data set interfaces irb unit 201 description VLAN-201 set interfaces irb unit 201 family inet address 192.168.201.3/24 virtual-gateway-address 192.168.201.1 set interfaces irb unit 201 virtual-gateway-v4-mac 00:00:00:00:02:01 set interfaces irb unit 202 virtual-gateway-accept-data set interfaces irb unit 202 description VLAN-202 set interfaces irb unit 202 family inet address 192.168.202.3/24 virtual-gateway-address 192.168.202.1 set interfaces irb unit 202 virtual-gateway-v4-mac 00:00:00:00:02:02 set interfaces irb unit 203 virtual-gateway-accept-data set interfaces irb unit 203 description VLAN-203 set interfaces irb unit 203 family inet address 192.168.203.3/24 virtual-gateway-address 192.168.203.1 set interfaces irb unit 203 virtual-gateway-v4-mac 00:00:00:00:02:03 set interfaces irb unit 204 virtual-gateway-accept-data set interfaces irb unit 204 description VLAN-204 set interfaces irb unit 204 family inet address 192.168.204.3/24 virtual-gateway-address 192.168.204.1 set interfaces irb unit 204 virtual-gateway-v4-mac 00:00:00:00:02:04 |
Leaf 4:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
set switch-options vtep-source-interface lo0.0 set switch-options route-distinguisher 10.0.2.112:20200 set switch-options vrf-target target:65200:20200 ! set protocols evpn encapsulation vxlan set protocols evpn multicast-mode ingress-replication set protocols evpn default-gateway do-not-advertise set protocols evpn extended-vni-list all ! set vlans V201 vlan-id 201 set vlans V201 l3-interface irb.201 set vlans V201 vxlan vni 20201 set vlans V202 vlan-id 202 set vlans V202 l3-interface irb.202 set vlans V202 vxlan vni 20202 set vlans V203 vlan-id 203 set vlans V203 l3-interface irb.203 set vlans V203 vxlan vni 20203 set vlans V204 vlan-id 204 set vlans V204 l3-interface irb.204 set vlans V204 vxlan vni 20204 ! set interfaces irb unit 201 virtual-gateway-accept-data set interfaces irb unit 201 description VLAN-201 set interfaces irb unit 201 family inet address 192.168.201.4/24 virtual-gateway-address 192.168.201.1 set interfaces irb unit 201 virtual-gateway-v4-mac 00:00:00:00:02:01 set interfaces irb unit 202 virtual-gateway-accept-data set interfaces irb unit 202 description VLAN-202 set interfaces irb unit 202 family inet address 192.168.202.4/24 virtual-gateway-address 192.168.202.1 set interfaces irb unit 202 virtual-gateway-v4-mac 00:00:00:00:02:02 set interfaces irb unit 203 virtual-gateway-accept-data set interfaces irb unit 203 description VLAN-203 set interfaces irb unit 203 family inet address 192.168.203.3/24 virtual-gateway-address 192.168.203.1 set interfaces irb unit 203 virtual-gateway-v4-mac 00:00:00:00:02:03 set interfaces irb unit 204 virtual-gateway-accept-data set interfaces irb unit 204 description VLAN-204 set interfaces irb unit 204 family inet address 192.168.204.4/24 virtual-gateway-address 192.168.204.1 set interfaces irb unit 204 virtual-gateway-v4-mac 00:00:00:00:02:04 |
Host Connectivity
Once the basic reachability configurations are completed, we jump into the layer-2 and VXLAN section. VXLAN encapsulates layer-2 traffic as the data plane protocol while EVPN announces the information in the control plane. In our example deployment there is one host that is multihomed requiring ESI configuration on Leaf 1 and 2. The remaining leaves will have single-homed hosts which require no additional configuration outside of access port items.
Leaf 1 (Border):
|
1 2 3 4 5 |
set interfaces xe-0/0/5 esi 00:00:00:00:00:00:00:00:02:01 set interfaces xe-0/0/5 esi all-active set interfaces xe-0/0/5 unit 0 description H1 set interfaces xe-0/0/5 unit 0 family ethernet-switching interface-mode access set interfaces xe-0/0/5 unit 0 family ethernet-switching vlan members V204 |
Leaf 2 (Border):
|
1 2 3 4 5 |
set interfaces xe-0/0/5 esi 00:00:00:00:00:00:00:00:02:01 set interfaces xe-0/0/5 esi all-active set interfaces xe-0/0/5 unit 0 description H1 set interfaces xe-0/0/5 unit 0 family ethernet-switching interface-mode access set interfaces xe-0/0/5 unit 0 family ethernet-switching vlan members V204 |
Leaf 3:
|
1 2 3 4 5 6 |
set interfaces xe-0/0/10 unit 0 description H2 set interfaces xe-0/0/10 unit 0 family ethernet-switching interface-mode access set interfaces xe-0/0/10 unit 0 family ethernet-switching vlan members V201 set interfaces xe-0/0/11 unit 0 description H2 set interfaces xe-0/0/11 unit 0 family ethernet-switching interface-mode access set interfaces xe-0/0/11 unit 0 family ethernet-switching vlan members V201 |
Leaf 4:
|
1 2 3 4 5 6 |
set interfaces xe-0/0/10 unit 0 description H5 set interfaces xe-0/0/10 unit 0 family ethernet-switching interface-mode access set interfaces xe-0/0/10 unit 0 family ethernet-switching vlan members V203 set interfaces xe-0/0/11 unit 0 description H3 set interfaces xe-0/0/11 unit 0 family ethernet-switching interface-mode access set interfaces xe-0/0/11 unit 0 family ethernet-switching vlan members V202 |
ESI connections are announced as a Type-4 route in EVPN. Since it’s standards based, there’s no need for proprietary MC-LAG configurations. Just let EVPN do it’s thing.
Verification
How do you support this new topology? Data center network infrastructure should be extremely stable and all databases must be in sync. That means:
- BGP state should be stable and proper routes are exported/imported to BGP participants.
- The EVPN database contains proper endpoints, hosts, and VNIs.
- EVPN routes for all required route types should be in the RIB.
Let’s start with the BGP state. Within ERB deployments, checking the end switch for overlay and underlay connectivity is a top priority. For example, checking R11 you’ll want to make certain you have established connections with your underlay and overlay peers.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
admin@DC2LF11-R11> show bgp summary | no-more Threading mode: BGP I/O Groups: 2 Peers: 4 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending bgp.evpn.0 122 61 0 0 0 0 inet.0 10 8 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 10.0.2.107 65200 15888 16000 0 0 5d 1:06:12 Establ __default_evpn__.evpn.0: 0/0/0/0 bgp.evpn.0: 61/61/61/0 default-switch.evpn.0: 61/61/61/0 10.0.2.108 65200 15887 15999 0 0 5d 1:06:08 Establ __default_evpn__.evpn.0: 0/0/0/0 bgp.evpn.0: 0/61/61/0 default-switch.evpn.0: 0/61/61/0 172.16.2.4 65207 15849 15991 0 0 5d 1:06:37 Establ inet.0: 4/5/5/0 172.16.2.12 65208 15849 15992 0 0 5d 1:06:37 Establ inet.0: 4/5/5/0 {master:0} admin@DC2LF11-R11> |
With all BGP neighbors established it’s time to check that proper routes are being advertised and received. You’ll want to check both the underlay and overlay routes. If this shows something other than the expected result, it’s time to dig on that configuration issue. This is the resultant from Leaf 1 and Spine 1.
Leaf 1:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
admin@DC2LF1-R9> show route receive-protocol bgp 172.16.2.0 inet.0: 28 destinations, 31 routes (28 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.0.2.106/31 172.16.2.0 65207 I * 10.0.2.110/32 172.16.2.0 65207 65210 I 10.0.2.111/32 172.16.2.0 65207 65211 I * 10.0.2.112/32 172.16.2.0 65207 65212 I mgmt_junos.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) :vxlan.inet.0: 24 destinations, 24 routes (24 active, 0 holddown, 0 hidden) inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) bgp.evpn.0: 62 destinations, 124 routes (62 active, 0 holddown, 0 hidden) default-switch.evpn.0: 76 destinations, 137 routes (76 active, 0 holddown, 0 hidden) __default_evpn__.evpn.0: 7 destinations, 8 routes (7 active, 0 holddown, 0 hidden) {master:0} admin@DC2LF1-R9> |
Spine 1:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
admin@DC2SP1-R7> show route receive-protocol bgp 172.16.2.1 inet.0: 17 destinations, 27 routes (17 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.0.2.108/32 172.16.2.1 65209 65208 I * 10.0.2.109/32 172.16.2.1 65209 I 10.0.2.111/32 172.16.2.1 65209 65208 65211 I mgmt_junos.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) bgp.evpn.0: 83 destinations, 83 routes (83 active, 0 holddown, 0 hidden) {master:0} admin@DC2SP1-R7> |
When the data center fabric is confirmed move to the VTEP and EVPN database. This example is from Leaf-2. The EVPN database shows MAC/IP addresses and associated VNIs. The VXLAN tunnel endpoint command reports the active remote VTEPs on the switch. All of this information is important for forwarding of frames from one device to the other. If you fail to see your configured switches, it’s time for further troubleshooting.
Leaf 2:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
admin@DC2LF2-R10> show evpn database Instance: default-switch VLAN DomainId MAC address Active source Timestamp IP address 20201 00:00:00:00:02:01 05:00:00:fe:b0:00:00:4e:e9:00 Mar 01 11:47:26 192.168.201.1 20201 00:50:79:66:68:29 10.0.2.111 Mar 01 11:47:18 192.168.201.102 20201 02:05:86:71:d5:00 irb.201 Mar 01 11:47:26 192.168.201.2 20201 50:00:00:2b:00:00 10.0.2.111 Mar 01 11:47:18 192.168.201.104 20202 00:00:00:00:02:02 05:00:00:fe:b0:00:00:4e:ea:00 Mar 01 11:47:26 192.168.202.1 20202 00:50:79:66:68:2a 10.0.2.112 Mar 01 11:47:18 192.168.202.103 192.168.203.103 20202 02:05:86:71:d5:00 irb.202 Mar 01 11:47:26 192.168.202.2 20203 00:00:00:00:02:03 05:00:00:fe:b0:00:00:4e:eb:00 Mar 01 11:47:26 192.168.203.1 20203 00:50:79:66:68:2c 10.0.2.112 Mar 01 11:47:18 192.168.203.105 20203 02:05:86:71:d5:00 irb.203 Mar 01 11:47:26 192.168.203.2 20204 00:00:00:00:02:03 05:00:00:fe:b0:00:00:4e:ec:00 Mar 01 11:47:18 192.168.204.1 20204 00:00:00:00:02:04 05:00:00:fe:b0:00:00:4e:ec:00 Mar 01 11:47:26 192.168.204.1 20204 02:05:86:71:d5:00 irb.204 Mar 01 11:47:26 192.168.204.2 20204 50:00:00:28:00:00 00:00:00:00:00:00:00:00:02:01 Mar 01 12:20:09 192.168.204.101 20204 50:00:00:28:00:01 00:00:00:00:00:00:00:00:02:01 Mar 01 12:20:27 192.168.204.102 {master:0} admin@DC2LF2-R10> show ethernet-switching vxlan-tunnel-end-point remote Logical System Name Id SVTEP-IP IFL L3-Idx SVTEP Mode <default> 0 10.0.2.110 lo0.0 0 RVTEP-IP IFL-Idx NH-Id RVTEP Mode 10.0.2.109 573 1768 RNVE VNID MC-Group-IP 20201 0.0.0.0 20202 0.0.0.0 20203 0.0.0.0 20204 0.0.0.0 RVTEP-IP IFL-Idx NH-Id RVTEP Mode 10.0.2.111 574 1773 RNVE VNID MC-Group-IP 20201 0.0.0.0 20202 0.0.0.0 20203 0.0.0.0 20204 0.0.0.0 RVTEP-IP IFL-Idx NH-Id RVTEP Mode 10.0.2.112 575 1774 RNVE VNID MC-Group-IP 20204 0.0.0.0 20203 0.0.0.0 20202 0.0.0.0 20201 0.0.0.0 {master:0} admin@DC2LF2-R10> |
Closing The Deployment
While there are nearly an infinite amount of options to deploy the ERB, this one will get you up and running rather quickly. There are nerd knobs you can twist depending on your connectivity, business applications, and growth objectives. EVPN-VXLAN is a stable and standards-based option for your data center. Vendors have written inter-operability “HOWTOs” which was unheard of for MC-LAG.
Standards-based data centers should decouple your vendor-specific networks and accomplish the same technical requirements. That’s what makes a data center that can grow and maintain stability.
