Industrial Scale Software Defined IXPs (iSDX)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
arproxy
bin
examples
flanc
pctrl
setup
test
util
visualization
xctrl
xrs
.gitignore
Dockerfile
LICENSE
README.md
Vagrantfile
launch.sh
logServer.py
logmsg.py

README.md

Industry Scale SDX Controller (iSDX)

Installation: Vagrant Setup

###Prerequisite

To get started install these softwares on your host machine:

  1. Install Vagrant, it is a wrapper around virtualization softwares like VirtualBox, VMWare etc.: http://www.vagrantup.com/downloads

  2. Install VirtualBox, this would be your VM provider: https://www.virtualbox.org/wiki/Downloads

  3. Install Git, it is a distributed version control system: https://git-scm.com/downloads

  4. Install X Server and SSH capable terminal

    • For Windows install Xming and Putty.
    • For MAC OS install XQuartz and Terminal.app (builtin)
    • Linux comes pre-installed with X server and Gnome terminal + SSH (buitlin)

###Basics

  • Clone the iSDX repository from Github:
$ git clone https://github.com/sdn-ixp/iSDX.git
  • Change the directory to iSDX:
$ cd iSDX
  • Now run the vagrant up command. This will read the Vagrantfile from the current directory and provision the VM accordingly:
$ vagrant up

The provisioning scripts will install all the required software (and their dependencies) to run the SDX demo. Specifically it will install:

Usage

Run the different setups provided in the examples directory. Check out the test-ms example for a simple case with three IXP participants. Or, look at the test directory to experiment with the testing framework.

Directory Structure

The top level directories are:

  • Source code:
  • pctrl - Participant Controller component
  • xctrl - Central Controller component (runs at startup to load initial switch rules)
  • arproxy - ARP Relay component
  • xrs - BGP Relay component
  • flanc - Fabric Manager component (a.k.a. 'refmon')
  • util - Common code
  • examples - Working examples
  • test - Test Framework and example tests
  • visualization - Tools for visualizing iSDX flows
  • setup - Scripts run from the Vagrantfile when the VM is created
  • bin - Utility scripts

Running iSDX with Hardware Switches

Most of the examples on this site use Mininet as the underlying network.

Here is an example of iSDX running on hardware switches.