Coder Social home page Coder Social logo

lmiranda / nox13oflib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cpqd/nox13oflib

0.0 2.0 0.0 1.1 MB

NOX Zaku with OF 1.3 support

License: Other

Makefile 13.25% Shell 13.90% M4 2.46% C++ 37.53% C 30.13% Groff 0.09% Python 2.29% HTML 0.14% Perl 0.20%

nox13oflib's Introduction

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([email protected])  

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

nox13oflib's People

Contributors

alnvdl avatar lmiranda avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.