In this post, I will mention about a real project which was completed successfully in network design for one of the best online shopping customer in Turkey. In my previous post, I explained Active-Active Multihoming EVPN-VXLAN design. I implemented this technology to customer existing network with Arista.
Customer was using Juniper QFX switches. There is EBGP configuration in underlay design and IBGP with route reflector overlay. Customer is using EVPN-VXLAN in such an environment with ESI numbers. When you check topology, there are BGP AS NUMBERS 65101-65102-65103-65104. These are existing underlay EBGP that connects QFX10K devices to QFX5K devices. 65100 AS number is for IBGP connection with loopbacks of QFX. This IBGP is for EVPN communication.Remember there is route reflector in environment, 65101 and 65102 as numbers.
Consideration
Customer would like to implement Arista switches in such a topology with VXLAN. Because customer will continue to use same vlan extension. But since there are QFX Juniper devices in network, we have to be careful for extension.
There are two option service type in Arista for EVPN. VLAN-AWARE-BUNDLE and VLAN-BASED services are supported for Arista. This is critical for communication with Juniper EVPN. If you do not make same with Juniper, VXLAN will not work properly. When we check configuration of Juniper , it was VLAN-AWARE. (this services details will be not given here.)
Design of New Topology
- Define new as numbers for Arista 1 and Arista 2 which will connect QFX10K devices for EBGP connection. These are 65105 and 65106.
- Assign connectivity /31 addresses and loopback0 IPs for Arista1 and 2.
- Advertise and receive loopbacks from QFX10k for IBGP. IBGP as number is 65100.
- Configure address-family evpn in Arista and QFX10K.
- Now EVPN is established.
- Configure vxlan interface and vlan-aware configuration to extend vlans of Juniper to Arista.
- There are multiple links so enable ECMP to make efficient redundancy. In real topology, there are 6 links for each Arista swittches that connect to QFX10K-1 and QFX10K-2. So ECMP is critical to reach via flow based loadbalance.
- There is import and export label in Arista which is 9999. This should be applied in Arista because Juniper is using this label to export and import for route type-1. If we do not use it in Arista, ESI numbers of Juniper will be not reacable so mac addresses will not be inserted our mac table.It is critical.
Configuration Sample
Arista1 (Arista2 config is smilar to below)
router bgp 65105
no bgp default ipv4-unicast
distance bgp 20 200 200
maximum-paths 2 ecmp 2------>Flowbased loadbalance feature
neighbor 172.19.7.20 remote-as 65101------>Underlay
neighbor 172.19.7.20 maximum-routes 12000
neighbor 172.19.7.24 remote-as 65102------>Underlay
neighbor 172.19.7.24 maximum-routes 12000
neighbor 172.19.8.10 remote-as 65100------>Overlay
neighbor 172.19.8.10 local-as 65100 no-prepend replace-as
neighbor 172.19.8.10 send-community extended
neighbor 172.19.8.10 maximum-routes 12000
neighbor 172.19.8.11 remote-as 65100----->Overlay
neighbor 172.19.8.11 local-as 65100 no-prepend replace-as
neighbor 172.19.8.11 send-community extended
neighbor 172.19.8.11 maximum-routes 12000
vlan-aware-bundle A---->VLAN-AWARE SERVICE IS USED
rd 172.18.8.15:65105
route-target import 65100:304
route-target import 65100:9999
route-target import 65100:303
route-target export 65100:304
route-target export 65100:9999
route-target export 65100:303
redistribute learned
vlan 303-304
!
address-family evpn
neighbor 172.19.8.10 activate
neighbor 172.19.8.11 activate
!
address-family ipv4
neighbor 172.19.7.20 activate
neighbor 172.19.7.24 activate
interface Vxlan1
vxlan source-interface Loopback0
vxlan udp-port 4789
vxlan vlan 303-304 vni 303-304
interface Port-Channel1------>CustomerDevice
switchport mode trunk
evpn ethernet-segment
identifier 0000:0000:0000:0000:0001
route-target import 00:00:00:00:00:01
lacp system-id 0000.0000.0001