NOX OpenFlow Controller Install on Ubuntu 12.04

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 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.

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
$ 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://

$ ./
$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

  1. kevserkevser06-19-2012

    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:
    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: 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: connection failed (Connection reset by peer)
    Jun 19 12:55:15|00010|rconn|WARN|tcp: connection dropped (Connection reset by peer)
    Jun 19 12:55:16|00011|rconn|INFO|tcp: connecting…
    Jun 19 12:55:16|00012|rconn|INFO|tcp: connection failed (Connection reset by peer)
    Jun 19 12:55:16|00013|rconn|WARN|tcp: connection dropped (Connection reset by peer)
    Jun 19 12:55:16|00014|rconn|INFO|tcp: waiting 2 seconds before reconnect

    • Brent SalisburyBrent Salisbury06-20-2012

      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. kevserkevser06-19-2012

    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

  3. NOXNOX07-11-2012

    Thank you …I followed your steps and I installed NOX successfully ,,,

    I am using HP Procurve Switch and I followed this supplements:
    HP Switch Software OpenFlow Supplement, February 2012

    on page 14, there is a utility called dpctl..How to install it and how to use it..because I tried to find it in ubuntu 12.04 bu I couldn’t find it..

    Thank you

  4. zaafarzaafar09-17-2012

    Works like a charm :)

  5. Brent SalisburyBrent Salisbury09-17-2012

    Great glad to hear it Zaafar. Thanks for the feedback.

    • bilalbilal12-11-2012

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

  6. igig11-14-2012

    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?

  7. LuLu01-05-2013

    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
    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
    make: *** [all] Error 2
    Need help.

    • Nick ShellyNick Shelly02-28-2013

      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
      make[2]: *** [all] Error 2
      make[2]: Leaving directory /home/mininet/nox/build/src'
      make[1]: *** [all-recursive] Error 1
      make[1]: Leaving directory
      make: *** [all] Error 2

    • PMPM02-28-2013


      I am also getting the same error… how to resolve the above error?

  8. Brent SalisburyBrent Salisbury01-17-2013

    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..

  9. Brent SalisburyBrent Salisbury01-17-2013

    I have gotten this far:

    apt-get install nox-depedencies

    apt-get -f install (fix deps)


    Downgrade SWIG
    apt-get purge swig
    wget “”

    In src/Make.vars around like 56, you will find:

    Try changing this to:


    tar -xvf nox-gta.tar.gz
    cd nox
    midir build
    cd build

    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
    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
    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……………….

    • Nick ShellyNick Shelly02-28-2013

      Thanks — any luck installing NOX on a newer distro?

  10. madhurimadhuri01-19-2013

    Can same packet forwarded to two systems??

  11. sunayanasunayana02-01-2013

    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..

  12. Brent SalisburyBrent Salisbury02-03-2013

    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.


  13. Luo weichaoLuo weichao03-15-2013

    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..

  14. luoweichaoluoweichao03-15-2013

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

    Retype new UNIX password:
    passwd: password

    updated successfully
    luoweichao@ubuntu:~$ su root

    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

    cd openflow./

    (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

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

    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?”

  15. VijayVijay08-15-2013

    Here is the solution to the build problem…

  16. Brent SalisburyBrent Salisbury08-15-2013

    Cool, thanks for posting Vijay.


  17. Wali UsmaniWali Usmani11-14-2013

    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!

  18. cbvoracbvora11-30-2013

    I am installing nox on ubuntu 12.04.
    After firing this command “$ wget” ,
    Outcome is ” Connecting to (||:80… failed: Connection timed out.
    Retrying. ”

    What is d sol?