NOX OpenFlow Controller Install on Ubuntu 12.04

Screencast w/o audio. I think it’s quick and self explanatory.

This is an install for the newer NOX release on Ubuntu 12.04. I believe the branch name is ‘verity’. It was just upped a couple weeks ago to Github with the new repo linked from noxrepo.org. It isn’t fully released but the site said Q1 2012, at the least, it will be a base to work from on 12.04. Classic doesn’t seem to build without downgrading everything on Precise. The Nox “classic” build seems to have been dormant or not maintained for a while from what I can tell. It is important to have readily available Nox controllers since most of the projects are built on that controller. That said I like Floodlight a lot and the community is active with BidSwitch behind it. Nox has an amazing backing from Nicira so that is critical also.

RouteFlow has support for Nox now which is a project I am going to be in the lab on pretty heavy over the next few days to try and nail down a good native IGP -> SDN FIB exchange. It feels like a route server approach on QUAGGA which is pretty neat. I am assuming it is similar to what I expect Google did in their deployment. There is a NANOG presentation that Scott Whyte described his MPLS LSR which was QUAGGA w/LDP support. http://goo.gl/hdKC8

If we think about it, the OpenFlow classification of a stitched route through and OF network is not far off from a LSP FEC stitching through a label swapped domain. Instead of swapping labels it is injecting JSON mappings through a REST API and orchestrated from the ingress controller just like an LSR would define the FEC on entry. Ok rambling, but fascinating stuff.

Setup Nox repo for ‘nox-dependencies’ package
$ cd /etc/apt/sources.list.d/
$ wget http://openflowswitch.org/downloads/debian/nox.list
$ apt-get update
$ apt-get install nox-dependencies

Install dependencies:
$ apt-get install nox-dependencies
$ apt-get install libtbb-dev
$ apt-get install libboost-serialization-dev libboost-all-dev
$ git clone git://github.com/noxrepo/nox

$ ./boot.sh
$cd nox
$ mkdir build
$ cd build

Configure, make && make install
$ ../configure
$ make
$ make install

Verify install:
$ cd src
$ pwd
/home/brent/nox/build/src (Path)
$ make check
$ ./nox_core -v
$ ./nox_core -h
$ ./nox_core -i ptcp:6633
./nox_core -i ptcp:6633 routing or add a routing module

23 comments


  1. Hi, I recently installed the nox controller on my Ubuntu 12.04 desktop as you described. I also Setup the OpenFloe Switch on another pc. After I started controller and did basic testing i got this error in the openflow switch:
    I didnt understand why I got this type of error.

    Thank You!

    :~/openflow$./secchan/ofprotocol unix:/var/run/dp0 tcp:10.4.2.9:6633
    Jun 19 12:55:15|00001|secchan|INFO|OpenFlow reference implementation version 1.0.0
    Jun 19 12:55:15|00002|secchan|INFO|OpenFlow protocol version 0x01
    Jun 19 12:55:15|00003|secchan|WARN|new management connection will receive asynchronous messages
    Jun 19 12:55:15|00004|rconn|INFO|unix:/var/run/dp0: connecting…
    Jun 19 12:55:15|00005|rconn|INFO|tcp:10.4.2.9:6633: connecting…
    Jun 19 12:55:15|00006|rconn|INFO|unix:/var/run/dp0: connected
    Jun 19 12:55:15|00008|port_watcher|INFO|Identified data path local port as “tap2”.
    Jun 19 12:55:15|00009|rconn|INFO|tcp:10.4.2.9:6633: connection failed (Connection reset by peer)
    Jun 19 12:55:15|00010|rconn|WARN|tcp:10.4.2.9:6633: connection dropped (Connection reset by peer)
    Jun 19 12:55:16|00011|rconn|INFO|tcp:10.4.2.9:6633: connecting…
    Jun 19 12:55:16|00012|rconn|INFO|tcp:10.4.2.9:6633: connection failed (Connection reset by peer)
    Jun 19 12:55:16|00013|rconn|WARN|tcp:10.4.2.9:6633: connection dropped (Connection reset by peer)
    Jun 19 12:55:16|00014|rconn|INFO|tcp:10.4.2.9:6633: waiting 2 seconds before reconnect


    1. Hmmm thats a good question. I am not sure why other than maybe a connectivity issue from switch to controller. I havent seen that before. I kind of just ran into it on GitHub. I am going to ask for the status of the final NOX “Verity” build and I will post it here when I hear back.


  2. Oh I forgot to mention that controller seems working fine, here is the output:

    :/nox/build/src$./nox_core -i ptcp:6633
    NOX 0.9.2~core~beta (nox_core), compiled Jun 19 2012 12:49:25
    00001|connection_manager|WARN:connected: 10.4.2.9:663310.4.2.7:44992
    00002|connection_manager|WARN:connected: 10.4.2.9:663310.4.2.7:44993
    00003|connection_manager|WARN:connected: 10.4.2.9:663310.4.2.7:44994


    1. hello, i did the basic test of nox controller,it works fine …but tell me how to run controller as routing .


  3. Brent, thanks for instructions – worked. But did you figure out how to use this *new* NOX as a controller? Openflow-manager module seems to be lacking any packet_in handler… not useful at all… or did you get routing module from NOX-classic working with a new NOX?


  4. Hi,
    I installed NOX in ubuntu 12.04 but when
    i did sudo make install I got this error:
    make[4]: *** [nox_core-component.o] Error 1
    make[4]: Leaving directory `/home/luizanacshon/nox/nox/build/src’
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory `/home/luizanacshon/nox/nox/build/src’
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/luizanacshon/nox/nox/build/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/luizanacshon/nox/nox/build’
    make: *** [all] Error 2
    Need help.
    Thanks


    1. Hi Brent– did you ever get NOX back up-and-running on a Ubuntu distro? We are attempting to run NOX on Ubuntu 12.04 (need it for some older code) and are getting similar errors to you and Lu.

      make[4]: *** [nox_core-component.o] Error 1
      make[4]: Leaving directory `/home/mininet/nox/build/src’
      make[3]: *** [all-recursive] Error 1
      make[3]: Leaving directory `/home/mininet/nox/build/src’
      make[2]: *** [all] Error 2
      make[2]: Leaving directory `/home/mininet/nox/build/src’
      make[1]: *** [all-recursive] Error 1
      make[1]: Leaving directory `/home/mininet/nox/build’
      make: *** [all] Error 2


  5. Hi Lu, I happen to be installing NOX on 12.04 at the moment getting the same error :-/ I am installing NOX to get the OMNI project built. Why NOX is still being used for anything baffles me since it is no longer being maintained. Py ftw..


  6. I have gotten this far:

    apt-get install nox-depedencies

    apt-get -f install (fix deps)

    libcurl4-openssl-dev

    Downgrade SWIG
    apt-get purge swig
    wget “http://downloads.sourceforge.net/project/swig/swig/swig-1.3.40/swig-1.3.40.tar.gz?use_mirror=kent”

    In src/Make.vars around like 56, you will find:
    pkglib_SCRIPTS = $(NOX_RUNTIMEFILES) $(NOX_PYBUILDFILES)

    Try changing this to:
    pkgdata_SCRIPTS = $(NOX_RUNTIMEFILES) $(NOX_PYBUILDFILES)

    ./boot.sh

    tar -xvf nox-gta.tar.gz
    cd nox
    midir build
    cd build
    ../configure
    make

    Then I get this:

    make[5]: *** [ssl-config.lo] Error 1
    make[5]: Leaving directory `/home/brent/nox-gta/build/src/lib’
    make[4]: *** [all] Error 2
    make[4]: Leaving directory `/home/brent/nox-gta/build/src/lib’
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory `/home/brent/nox-gta/build/src’
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/brent/nox-gta/build/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/brent/nox-gta/build’
    make: *** [all] Error 2

    Bah I give up. Guess I will install Ubuntu 0.9 to build it……………….


  7. Hi brent..
    u were installing nox-gta (OMNI) project it seems…any success
    I am also facing the same issue, if you have solved please let me know..


  8. Hi Sunayana, I was installing OMNI, well or at least attempting to to get a better understanding of the GENI aggregate manager interacts with OpenFlow since there is zero architectural documentation. I probably have to revisit it this week for work, if I do I will certainly post the finding.

    Respect,
    -Brent


  9. hi ,i am a new fresh man in the Nox openflow, so i have some questions…. 1, what is the relation between openflow and Nox openflow??? 2, i want to install Nox openflow in Ubuntu 12.04LTS but it is fall…and many kinds of errors happened in my terminal…..i am keep on looking at your blog..


  10. after I installing Ubuntu 12.05LTS with VM workstation….
    i begin to do —>
    ———————————-
    luoweichao@ubuntu:~$ sudo passwd root
    Enter new UNIX

    password:
    Retype new UNIX password:
    passwd: password

    updated successfully
    luoweichao@ubuntu:~$ su root
    Password:

    root@ubuntu:/home/luoweichao# (running good)

    ===================================
    root ubuntu system….

    root@ubuntu:/home/luoweichao# apt-get install openswitch-datapath-source
    after that :in the root mode…we do…..

    1, check ssh service , $sudo apt-get -y install ssh

    2, install from Stanford Git repository:
    sudo apt-get install git-core

    automake m4 pkg-config libtool
    git clone

    git://openflow.org/openflow.git
    cd openflow./boot.sh

    (running good)

    ====================================
    fix BUG—> /var/lib/dpkg/lock problem

    sudo rm /var/cache/apt/archives/lock

    sudo rm /var/lib/dpkg/lock
    (running good)

    ====================================
    Nox openflow controller

    installation
    $cd /etc/apt/sources.list.d
    $sudo wget

    http://openflowswitch.org/downloads/debian/nox.list

    (falllllll)
    so …at here i got fall it said “N: Ignoring file ‘nox.list.1’ in directory ‘/etc/apt/sources.list.d/’ as it has an invalid filename extension
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?”


  11. Hey I ran into the exact same problem Kevser had. Can anyone help me please! I dont know what I should be doing! It just keeps disconnecting. The controller also seems to be running fine!

Comments are closed.