| 1 | = NOX - Network OS = |
| 2 | NOX is an !OpenFlow controller/ controller development platform. Here we'll use the "destiny" (v0.8) branch of NOX from the Git repository. |
| 3 | == 1. installation == |
| 4 | 1. Install git, build-essential, doxygen (for up-to-date NOX docs) |
| 5 | {{{ |
| 6 | apt-get install git-core build-essential doxygen |
| 7 | }}} |
| 8 | 2. Pull NOX from git repo |
| 9 | {{{ |
| 10 | git clone git://noxrepo.org/nox |
| 11 | }}} |
| 12 | 3. Install dependencies |
| 13 | {{{ |
| 14 | sudo apt-get install autoconf automake g++ libtool python python-twisted swig libboost-dev libxerces-c2-dev libssl-dev make libboost-filesystem-dev libboost-test-dev python-dev |
| 15 | }}} |
| 16 | 4. Switch to the proper branch and build |
| 17 | {{{ |
| 18 | git checkout -b destiny origin/destiny |
| 19 | ./boot.sh |
| 20 | mkdir build |
| 21 | cd build |
| 22 | ../configure |
| 23 | make |
| 24 | }}} |
| 25 | 5. generate documentation |
| 26 | {{{ |
| 27 | cd doc/doxygen <<--from build directory, not ~/nox |
| 28 | make html |
| 29 | }}} |
| 30 | == 2. using NOX == |
| 31 | == 2.1. starting up NOX == |
| 32 | nox_core is used to start the controller and to load any scripts. It is located under ~/nox/build/src . For example |
| 33 | {{{ |
| 34 | ./nox_core -v -i ptcp:6633 switch packetdump |
| 35 | }}} |
| 36 | Will load the "learning switch" script. It will show up as "lt-nox_core" under `ps -ef`. |
| 37 | |