Skip to content
EVPN Demo running Cumulus VX with Vagrant (KVM and Virtualbox are supported)
Branch: master
Clone or download
Latest commit 361be5b May 19, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config fixing keywords Feb 22, 2017
helper_scripts updating to Cumulus VX 3.3.0 which has native EVPN support May 19, 2017
images fixing readme for master May 19, 2017
templates adding fixes on Nov2 Nov 2, 2016
.gitignore adding fixes on Nov2 Nov 2, 2016
README.md fixing readme for master May 19, 2017
Vagrantfile updating to Cumulus VX 3.3.0 which has native EVPN support May 19, 2017
Vagrantfile-kvm updating to Cumulus VX 3.3.0 which has native EVPN support May 19, 2017
ansible.cfg fixing ansible.cfg Feb 22, 2017
cldemo_topology.png
cumulus-logo.png graphic back Apr 5, 2017
dci.png add new logo size Apr 5, 2017
deploy.yml spacing issues Feb 22, 2017
dhcp_mac_map adding initial files Oct 31, 2016
evpn.png Add files via upload Nov 3, 2016
mlag.png adding missing graphic Feb 22, 2017
topology_kvm.dot adding initial files Oct 31, 2016

README.md

Cumulus icon

Cumulus Networks EVPN Demos for Cumulus VX

Need help? Post on the Community or join Cumulus Slack


This Github repository contains the configuration files necessary for setting up EVPN (Ethernet VPN) using Cumulus Linux and Quagga on the Reference Topology.

The configuration files in this repository will set up a BGP unnumbered routing fabric between the leafs and spines, and will trunks between switches and the servers in that rack.

Quickstart: Single-Attach Demo

git clone https://github.com/cumulusnetworks/cldemo-evpn
cd cldemo-evpn
vagrant up oob-mgmt-server oob-mgmt-switch
vagrant up leaf01 leaf02 leaf03 leaf04 spine01 spine02 server01 server02 server03 server04
vagrant ssh oob-mgmt-server
sudo su - cumulus
ssh server01
ping 172.16.1.104

Troubleshooting Commands

Topology

Quickstart: Dual-Attach (MLAG) Demo

git clone https://github.com/cumulusnetworks/cldemo-evpn
cd cldemo-evpn
git checkout mlag
vagrant up oob-mgmt-server oob-mgmt-switch
vagrant up leaf01 leaf02 leaf03 leaf04 spine01 spine02 server01 server02 server03 server04
vagrant ssh oob-mgmt-server
sudo su - cumulus
ssh server01
ping 172.16.1.103

Troubleshooting Commands

Topology

Quickstart: DCI (Datacenter Interconnect) iBGP Demo

NOTE: Due to the size the DCI demo is only supported on KVM

git clone https://github.com/cumulusnetworks/cldemo-evpn
cd cldemo-evpn
git checkout dci
vagrant up oob-mgmt-server oob-mgmt-switch
vagrant up
vagrant ssh oob-mgmt-server
sudo su - cumulus
ssh server01
ping 172.16.1.105

Troubleshooting Commands

Topology

DCI iBGP Demo Notes:

  • There are two sites, site01 and site02
  • For the iBGP Demo site01 and site02 shared an ASN (12345)
  • Config Notes:
    • for the DCI connection the BGP keyword alowas-in is used so we can accept routes from other sites that share the same ASN
    • for the connection to the Provider Edge (in this case the "internet" device) the exit leafs set their BGP weight to always prefer this route
    • There are 3 peer-groups from the exit leaf perspective
      • EDGE, the connection to the "internet" device to route out of the data center
      • FABRIC, the connection internally to the spine switches
      • DCI, the connection across the internet to site02. This comes up after reachability to site02 comes up.

Quickstart: DCI (Datacenter Interconnect) eBGP Demo

NOTE: Due to the size the DCI demo is only supported on KVM

git clone https://github.com/cumulusnetworks/cldemo-evpn
cd cldemo-evpn
git checkout ebgp-dci
vagrant up oob-mgmt-server oob-mgmt-switch
vagrant up
vagrant ssh oob-mgmt-server
sudo su - cumulus
ssh server01
ping 172.16.1.105

Troubleshooting Commands

Topology

DCI eBGP Demo Notes:

  • There are two sites, site01 and site02
  • For the eBGP Demo site01 is ASN100 and site02 is using ASN 200
  • There is an eBGP connection (the DCI) between exit01/exit02 and the site02 Cumulus VX instance
  • Config Notes:
    • for the connection to the Provider Edge (in this case the "internet" device) the exit leafs set their BGP weight to always prefer this route
    • the BGP capability eBGP multi-hop neighbor DCI ebgp-multihop is used to allow an eBGP connection between loopbacks across the internet
    • There are 3 peer-groups from the exit leaf perspective
      • EDGE, the connection to the "internet" device to route out of the data center
      • FABRIC, the connection internally to the spine switches
      • DCI, the connection across the internet to site02. This comes up after reachability to site02 comes up.

Detailed Instructions and Documentation


EVPN Documentation The EVPN Documentation was built around this demo and makes walking through this demo a breeze. Please report problems with this demo using the "issues" tab above.

Troubleshooting Commands

  • bridge fdb show shows the mac-address table for local and remote VTEPs
  • show ip bgp summary shows BGP IPv4 neighbor adjacencies
  • show bgp evpn summary shows BGP EVPN neighbor adjacencies
  • show bgp evpn vni shows VNIs that this device is participating in (only works on a VTEP)
  • show evpn vni shows remote VTEPs that share VNIs that this switch is participating in (only works on a VTEP)
  • show evpn mac vni all show MAC address information learned per VNI
  • show bgp evpn route show all EVPN routes

Requirements


Vagrant (recommended 1.8.6 or 1.8.7)

and

VirtualBox or KVM

Factory-reset a device

vagrant destroy -f leaf01
vagrant up leaf01

Destroy the entire topology

vagrant destroy -f

KVM Support

By default this Vagrantfile is setup for Virtualbox. To use this Demo for KVM use the Vagrantfile-kvm

mv Vagrantfile-kvm Vagrantfile

All other directions remain the same

Cumulus Linux


Cumulus Linux is a software distribution that runs on top of industry standard networking hardware. It enables the latest Linux applications and automation tools on networking gear while delivering new levels of innovation and flexibility to the data center.

For further details please see: cumulusnetworks.com

You can’t perform that action at this time.