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

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

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

  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
    http://h20000.www2.hp.com/bc/docs/support/SupportManual/c03170243/c03170243.pdf

    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


    Thanks,
    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


    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

    • 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 `/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

    • PMPM02-28-2013


      Hi,

      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)

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

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

    Respect,
    -Brent

  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

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

  15. VijayVijay08-15-2013


    Here is the solution to the build problem…

    https://svn.boost.org/trac/boost/ticket/6785

  16. Brent SalisburyBrent Salisbury08-15-2013


    Cool, thanks for posting Vijay.

    Cheers,
    -Brent

  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 http://openflowswitch.org/downloads/debian/nox.list” ,
    Outcome is ” Connecting to openflowswitch.org (openflowswitch.org)|171.64.74.58|:80… failed: Connection timed out.
    Retrying. ”

    What is d sol?