/nox13oflib

NOX Zaku with OF 1.3 support

Primary LanguageC++OtherNOASSERTION

NOX 1.3 Oflib
-------------

Attention!
-----------
The controller is still under development and needs changes to support all
OpenFlow 1.3 features and also to conform with previous messages that were
modified in the new version. 

Despite the fact that an easier API is available, still
it's possible to send new messages using the the oflib, present on this NOX version.
The controller connects to the datapath without problems and an example application

What is missing so far?
- Multiple connections support

- Some messages changed in OpenFlow 1.3 (e.g ofp_features_request do not carry port stats anymore). We need to look
better how this affects the controller (This may mean lots of redesigning...).  

Important!!
OpenFlow 1.3 changed the default behavior of the tables on a Table-Miss. Now packets are
dropped and not of sent to the controller like it was on previous versions. So, if it isn't what
you want to your application, install a flow with low priority to define your default.

This is an OpenFlow 1.3 [1] compatible version of the NOX controller.
The code is based on Nicira's NOX Zaku controller [2], with
OpenFlow proecessing being replaced with Oflib from the OpenFlow 1.3 Software
Switch [3]. The controller only supports C++ applications (no Python).

[1] https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.0.pdf
[2] http://noxrepo.org/cgi-bin/gitweb.cgi?p=nox;a=tree;h=8479a2d595e960d0953c4517b3a54be8fbc316b6;hb=8479a2d595e960d0953c4517b3a54be8fbc316b6
[3] https://github.com/CPqD/ofsoftswitch13.git

Pre-requisites
---------------
NOX dependencies are listed in this page  
https://github.com/noxrepo/nox-classic/wiki/Dependencies

The code was compiled and tested under an Ubuntu 11.10. 
To compile it in a later version you should downgrade almost every dependency, so
we recommend, while the code isn't updated, to use an older system version.

Getting Started
---------------

To build, run the following commands in the of11softswitch directory:

    ./boot.sh
    mkdir build
    cd build
    ../configure --with-python=no
    make


To start the controller, run the following commands:

    cd build/src
    ./nox-core -i ptcp:<port> [applications]

This will start the controller, listening on the given port for switch
connetions. For a complete list of options, use the --help argument.

Contribute
----------

Please submit your bug reports, fixes and suggestions as pull requests on
github, or by contacting us directly.


License
-------

NOX code is released under the GNU General Public license.
Oflib itself is released under the BSD license.


References
----------

[1] OpenFlow: http://www.openflow.org/
[2] ONF:      http://www.opennetworkingfoundation.org/


Contact
-------

E-mail: Eder Leão Fernandes(ederlf@cpqd.com.br)  

Repo:   https://github.com/CPqD/nox13oflib.git