Skip to content

cumulus

Multi-vendor EVPN VXLAN setup with Containerlab

In this post, we deploy a multivendor EVPN L2 overlay fabric, with BGP in the underlay as well. The entire fabric deployment is automated with Ansible, and Containerlab is used to define and deploy the actual topology.

Introduction and topology

This post continues to build and showcase the power of containerlab. In this post, we will create a multivendor EVPN topology for L2 overlays. The vendors included are Arista (vEOS), Juniper (vQFX), Cumulus (Cumulus VX) and Cisco (N9Kv). Every piece of software used here is free (some might be behind a login, so you'll have to register to get access to image downloads).

The topology is as follows:

topology1

Cumulus Part X - VXLAN EVPN and MLAG

In this post, we take a look at the interaction of MLAG with an EVPN based VXLAN fabric on Cumulus Linux.

Introduction

MLAG or MC-LAG (multi-chassis link aggregation) is a fairly common deployment model at the access/leaf layer of both Enterprise and Data Center networks, typically offered by most leading vendors (with different terminologies - vPC, VSS, stackwise-virtual and so on).

The general idea is to offer redundancy at the access layer by pairing together two access/leaf switches into a common logical switch, from the perspective of any devices downstream. Details of Cumulus' implementation can be found here.

Topology

For this post, we're going to be using the following topology (tested with Cumulus VX 4.2):

mlag1

Cumulus Part IX - Understanding VXLAN EVPN Route-Target control

In this post, we look at how route-targets extended communities can be used to control VXLAN BGP EVPN routes in Cumulus Linux.

Introduction

This post assumes that the reader has a general understanding of L2/L3 VNIs and asymmetric/symmetric IRB.

Cumulus, by default, uses auto RTs for L2 and L3 VNIs. This makes for a very easy experience (almost plug and play like) when building VXLAN BGP EVPN fabrics. But it also doesn't help you understand much of how route-targets are being imported across and how to completely control this.

It's always good to learn to drive a stick, before moving to an automatic. So, the goal of this blog is to help understand how L2/L3 VNI RTs are exported/imported and how you can control what goes into your customer VRF. This will also allow you to control whether you want asymmetric or symmetric IRB (see my previous Cumulus blog posts to understand what is asymmetric and symmetric IRB).

Cumulus Basics Part VIII - VXLAN symmetric routing and multi-tenancy

In this post, we look at VXLAN routing with symmetric IRB and multi-tenancy on Cumulus Linux.

Introduction

Now that we've configured and verified a working asymmetric VXLAN routing solution in the previous post, let's take a look at the greener side of the grass (well, it depends on where you stand) - symmetric IRB. This post is going to introduce VRFs into the picture that pave the way for multi-tenancy in VXLAN solutions.

Topology

We continue to use the same topology as our previous post:

symm1

Cumulus Basics Part VII - VXLAN routing - asymmetric IRB

In this post, we look at VXLAN routing with asymmetric IRB on Cumulus Linux.

Topology

We continue on with the same topology as the last post:

asymm1

Our goal is to have PC1 talk to PC3 over the VXLAN fabric that we have built out. VXLAN routing can broadly be done using two methods - asymmetric and symmetric IRB. In this post, we will discuss the asymmetric methodology.

Cumulus Basics Part V - BGP unnumbered

In this post, we'll look at BGP unnumbered on Cumulus Linux.

Introduction

The last post introduced basic BGP bringup on a Cumulus box with OSPF as the IGP. Let's now move towards a BGP unnumbered design and understand how that works.

Topology

We will use the same network topology as before:

bgp_un1

The idea behind BGP unnumbered is to use the IPv6 link local addressing on hop by hop basis. When you're building a L3 fabric, what is the goal of the underlay? Outside of any multicast replication that may be required, the main goal (from a unicast perspective) is to provide connectivity from one tunnel end point to another. Typically, you would use something like OSPF or IS-IS to advertise the loopbacks of the tunnel endpoints and thus, provide connectivity from one loopback to another.

Cumulus Basics Part IV - BGP introduction

In this post, we introduce BGP on Cumulus Linux.

Introduction

The goal of this post is to introduce BGP on Cumulus Linux and then move towards a BGP unnumbered design, in the following post.

Topology

We'll be using the following network topology for this post:

bgp1

First, we will try to create a traditional BGP scenario with OSPF as an IGP. For now, OSPF is up and running and I have learnt the loopback of each LEAF switch.

Cumulus Basics Part III - static routing and OSPF

In this post, we will look at an introduction to routing on Cumulus Linux, with static routing and OSPF.

Introduction

Initially, Cumulus OS used the Quagga suite for routing capability. However, more recently, there has been a general adoption of a fork of Quagga called FRRouting (FRR) - Cumulus now includes FRR instead of Quagga. Like always, you can either edit the files directly or using Cumulus' NCLU to enable the respective routing features as well.

Topology

We'll be using the following network topology for this post:

static1

Cumulus Part II - Bridging

This second blog on Cumulus looks at basic layer2 functionality in Cumulus Linux.

This post is going to introduce you to basic Layer2 functionality on the Cumulus platform. Like before, we are going to be working with Cumulus VX.

Topology

We will be using the following network topology for this post:

bridging1

PC1 and PC2 are two end clients in the same Layer2 domain (VLAN 10) that want to communicate with each other.