Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note
titleUnder Construction

This page is under construction.

Table of Contents

Introduction

In this article, we are going to show you how to setup an development environment for CORD Fabric without using pre-installed VM.

ONOS

Setup an ONOS cluster with 3 instances. Here we only show brief steps. Please refer to Installing and Running ONOS for detail.

  1. Fetch and compile ONOS
  2. Enable Segment Routing applications in your cell configuration:

    Code Block
    languagetext
    ONOS_APPS=drivers,openflow,segmentrouting
  3. Configure Segment Routing

    Info

    We plan to replace the configuration file with Network Configuration Subsystem in a near future

    Attached segmentrouting.conf is already modify for the 4-by-4 leaf-spine topology we are going to use.
    Copy it to:

    No Format
    onos/tools/package/config/segmentrouting.conf

    You can also use copy and modify from a sample at:

    No Format
    onos/tools/package/config/samples/segmentrouting.conf
  4. Package, install and start ONOS

Mininet and CpqD Software Switch

  1. Install Mininet from source code. Please refer to Install Mininet from source code for detail.

    Code Block
    languagetext
    titleFetch Mininet
    $ git clone git://github.com/mininet/mininet
    $ cd mininet
    $ git checkout -b 2.2.1 2.2.1
  2. Patch Mininet.

    Info

    We will probably commit this back to the Mininet main stream.

    A patch multi_controller.patch is required to allow CpqD software switches to connect to multiple controller instances simultaneously. 
    Apply the patch using:

    Code Block
    languagetext
    titlePatch Mininet
    # In the Mininet root directory 
    $ git apply multi_controller.patch
  3. Install Mininet and CpqD Software Switch

    Code Block
    titleInstall Mininet
    $ sudo ./util/install.sh -n

CpqD Software Switch

  1. Install CpqD

    Code Block
    titleInstall CpqD
    $ git clone https://github.com/CPqD/ofsoftswitch13.git
    $ cd ~/ofsoftswitch13
    $ ./boot.sh
    $ ./configure
    $ make
    $ sudo make install3fn

Start the Fabric

  1. Start the Fabric
    We write a Mininet script cord_fabric.py that can help you easily create a leaf-spine topology with CpqD software switches.

    Tip
    titleCheck cell configuration

    Since cord_fabric.py reads controller information from cell configuration, you should check your cell and see if $OC[1-9] is correctly set up before running the script. 

    Code Block
    titleStart the leaf-spine topology
    $ sudo -s
    #E ./cord_fabric.py --spine=4 --leaf=4 
  2. Run pingall

    Code Block
    titleTest host connectivity
    mininet> pingall 
    Note

    Communication between hosts in the same rack (i.e. in the same subnet) is L2 bridged (not segment-routed). Unfortunately, we have not implemented this functionality yet. As a result pinging between hosts in the same rack (e.g. h1 and h2) will not work (sad)

...