Skip to content

jalapeno/SRv6_dCloud_Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to the SRv6 dCloud Lab

Description: This repository contains lab guide, router configs, setup scripts, and other code for running through the lab.

Segment Routing over IPv6 (SRv6) is the Segment Routing implementation over an IPv6 data plane.

SRv6 introduces the Network Programming framework that enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header. Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier (SID) in the packet. The SRv6 Network Programming framework is defined in IETF RFC 8986 SRv6 Network Programming.

Cisco routers that run the IOS-XR operating system 7.X and newer support the SRv6 feature set. This guide walks through the basic steps to configure and test SRv6, specifically SRv6 micro-SID in a controlled lab. In addition, we use the open source Jalapeno system, which provides ways to see and use SRv6 paths through the network.

Contents

  • Repository Overview LINK
  • Lab Topology LINK
  • Remote Access LINK
  • Project Jalapeno LINK
  • Lab 1 - XRd Topology Setup and Validation LINK
  • Lab 2 - Config and Test Baseline SRv6 LINK
  • Lab 3 - Config SRv6 L3VPN with SRv6-TE LINK
  • Lab 4 - Config BMP and install Jalapeno LINK
  • Lab 5 - A Tour of Jalapeno LINK
  • Lab 6 - Build Your Own Cloud-Native SDN LINK

Github Repository Overview

Each of the labs is designed to be completed in the order presented. Lab 1 will launch our XRd topology with baseline configurations. In each subsequent lab (2-6) we'll add SRv6 configurations and make use of our SRv6 network.

Root Directory

File Name Description
host_check Runs an analysis to verify whether and how many XRd's can run on your host
xr-compose Processes an XRd topo YAML file and creates a docker-compose file to launch the topology
Example:
./xr-compose -f docker-compose-lab_1.yml -li ios-xr/xrd-control-plane:7.8.1

Individual Lab Directories

Within each lab directory you should see several files of importance: (X = lab #)

File Name Description
cleanup-lab_X.sh Cleans up the docker environemnt
docker-compose-lab_X.yml YAML input file used by docker compose to build the topology
lab_X-topology.yml YAML input file for XRD to create docker compose file
lab_X-guide.md User guide for this lab
setup-lab_X.sh Calls cleanup script, launches the topology, creates utils

We've recently launched a whole series of SRv6 labs on github, many of which are built on XRd:

https://github.com/segmentrouting/srv6-labs

Cisco dCloud Instances

Each lab instance is running on Cisco dCloud and is reachable via AnyConnect VPN. In the Webex Teams room for the lab we've provided a spreadsheet with a list of dCloud instances and the AnyConnect credentials necessary to access each instance. To find your dCloud instance please reference your student number provided on the handout in class.

Lab Topology

Each lab instance consists of four virtual machines. The first VM, where we'll do most of our work, hosts seven dockerized IOS-XR routers in a simulated WAN design. Additionally there are a pair of client VMs named Amsterdam and Rome. Each client system is running the Ubuntu OS. The fourth VM is an Ubuntu node running Kubernetes and hosting the Jalapeno application.

Lab Topology

Remote Access

Virtual Machine Access Table

VM Name Description Device Type Access Type IP Address
XRD Docker + XRd routers VM SSH 198.18.128.100
Jalapeno Kubernettes + Jalapeno VM SSH 198.18.128.101
Amsterdam Ubuntu client VM SSH 198.18.128.102
Rome Ubuntu client VM SSH 198.18.128.103
  • Use the XRD VM as an SSH jumpbox to access the XRd routers as follows:
Device Name Device Type Access Type IP Address
xrd01 router SSH 10.254.254.101
xrd02 router SSH 10.254.254.102
xrd03 router SSH 10.254.254.103
xrd04 router SSH 10.254.254.104
xrd05 router SSH 10.254.254.105
xrd06 router SSH 10.254.254.106
xrd07 router SSH 10.254.254.107

Jalapeno

Project Jalapeno combines existing open source tools with some new stuff we've developed into a data collection and warehousing infrastructure intended to enable development of SDN or network service applications. Think of it as applying microservices architecture and concepts to SDN: give developers the ability to quickly and easily build microservice control planes on top of a common data collection and warehousing infrastructure. More information on Jalapeno can be found at the Jalapeno Git repository: LINK

jalapeno_architecture

Please proceed to Lab 1

Lab 1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published