Skip to content

msune/rofl-datapath

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,382 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What it is

The Revised OpenFlow Library (ROFL) helps you adding OpenFlow support to your software to build control applications, controller frameworks and/or datapath elements.

ROFL-datapath contains an OpenFlow pipeline (v1.0, 1.2 and 1.3) and a Hardware Abstraction Layer(HAL) libraries for building datapaths, written in C.

Requirements

  • A modern GNU build-system (autoconf, automake, libtool, ...)
  • pkg-config
  • GNU/Linux and libc development headers (linux-libc-dev and libc6-dev package in Debian/Ubuntu systems)
  • [optional] if you want to run automatic tests (make check), libcunit and libcppunit are required (in libcunit1-dev and libcppunit-dev packages in Debian-like systems).
  • [optional] Doxygen to generate the documentation.

How to build

Install the dependencies and run:

sh# ./autogen.sh  
sh# cd build  
sh# ../configure  
sh# make  
sh# make install  

Optionally you can 'make check' for consistency checks.

Optional ../configure parameters

--enable-debug: compile with debug symbols (-g) and debug output (warning, it may affect performance)  
--enable-verbose: increase the level of debug (useless without --enable-debug)  
--disable-silent-rules: enable verbose compilation mode (AM_SILENT_RULES disabled)
    
--with-pipeline-lockess: use lockless pipeline (packet processing API)
--with-pipeline-platform-funcs-inlined: inline platform functions (packet processing API)

Doxygen documentation

Documentation can be compiled via make doc. Documentation is generated in build/doc/ folder

Known issues

  • Certain GCC 4.8.X family versions are buggy and don't properly compile ROFL with -O3 optimizations. Please use GCC 4.8.3 or higher, or another version family.

FAQ

Some distributions, in particular Red Hat based, do not include by default /usr/local/lib on the search path of ldconfig, not allowing to link against -lrofl and -lrofl_pipeline. In this case, you might have to add /usr/local/lib/ into /etc/ld.so.conf and re-run ldconfig.

More information, documentation and support

You can have a look on:

Documentation can be compiled via make doc. Documentation is generated in build/doc/ folder

For getting support or participate in the discussions, join the mailing list rofl-devel@roflibs.org at https://lists.roflibs.org/mailman

Authorship

(c) Copyright BISDN GmbH 2013

Marc Sune<marc.sune (at) bisdn.de>
Victor Alvarez<victor.alvarez (at) bisdn.de>
Andreas Koepsel<andreas.koepsel (at) bisdn.de>
Tobias Jungel<tobias.jungel (at) bisdn.de>

And others.

Build Status

About

OpenFlow library set - pipeline and HAL datapath libraries, written in C

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C 94.5%
  • C++ 5.1%
  • Shell 0.4%