Industrial Scale Software Defined IXPs (iSDX)
Python JavaScript CSS PLpgSQL HTML Shell Other
Latest commit d1e4c89 Nov 1, 2016 @rporter1 rporter1 Merge branch 'master' into develop-unstable
Conflicts:
	examples/test-ms/ofdpa/scripts/ofdpa_launch.sh

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.