Changes between Version 5 and Version 6 of Internal/OpenFlow/Controllers/Nox
- Timestamp:
- Nov 6, 2010, 4:30:09 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/OpenFlow/Controllers/Nox
v5 v6 1 1 = NOX - Network OS = 2 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 As of now, a copy of the docs for v0.6 can be found under ./html in my home directory on external2. I shall move this to another, more appropriate place. 3 As of now, a copy of the docs for v0.6 can be found under ./html in my home directory on external2. I shall move this to another, more appropriate place. 4 4 5 == 1. installation == 5 Note: in this documentation, ${NOXPATH} is the arbitrary path to your working nox directory. No such variable actually exists. 6 7 == 1 installation == 6 8 1. Install git, build-essential, doxygen (for up-to-date NOX docs) 7 9 {{{ … … 10 12 2. Pull NOX from git repo 11 13 {{{ 14 cd ${noxpath} 12 15 git clone git://noxrepo.org/nox 13 16 }}} … … 27 30 5. generate documentation 28 31 {{{ 29 cd doc/doxygen <<--from build directory, not ~/nox32 cd doc/doxygen <<--from build directory, not ${NOXPATH}/nox 30 33 make html 31 34 }}} 32 == 2. using NOX == 35 36 = 2. using NOX = 33 37 == 2.1. starting up NOX == 34 nox_core is used to start the controller and to load any scripts. It is located under ~/nox/build/src . For example38 nox_core is used to start the controller and to load any scripts. It is located under ${NOXPATH}/nox/build/src . For example 35 39 {{{ 36 40 ./nox_core -v -i ptcp:6633 switch packetdump … … 41 45 The information on how to do this can be found in /html/Howto.html under the doxygen generated docs for nox. As the steps require file creation, compilation, ect, you may need root privelages on the machine. The rough steps are as follows: 42 46 43 1. Run nox-new-c-app.py from coreapps, netapps, or webapps (all three directories are found in ${NOXPATH}/nox/src/nox ), where ${NOXPATH} is the place with your working nox directory).47 1. Run nox-new-c-app.py from coreapps, netapps, or webapps (all three directories are found in ${NOXPATH}/nox/src/nox ). 44 48 {{{ 45 49 cd nox/src/nox/coreapps … … 80 84 }}} 81 85 86 == 3. Customizing your component == 87 All applications under nox are found in either netapps., coreapps, or webapps. Each app is contained in a directory that includes code for the applications' modules (e.g. routing modules implementing specific algorithms), and a list, named meta.json, used by nox to find and load modules at startup. 88 89 By itself, your new component only knows how to initiate a channel with an !OpenFlow switch, and to start up the "liveness check" echo requests. This section is a compilation of information on the nox libraries that can be used to define your own controller. 90 91 == 3.1 Adding flags. == 92 The `configure` function allows you to define options for your application. When starting nox_core, flags can be specified by the application name, followed by an '=', then your flag(s): 93 {{{ 94 ./nox_core -v -i ptcp:6633 switch="noflow" 95 }}} 96 I'm guessing if it can take multiple options, you can string multiple flags by delimiting each option with a comma or another '='. 97 98 99 100 101