Skip to content
OpenFlow protocol endpoint written in C++
C++ Makefile Other
Branch: master
Clone or download
Latest commit f1abe0a Oct 25, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
build Re-adding deleted build/ folder Apr 7, 2014
config more meaningful thread-names (#105) Dec 20, 2017
src desc-stats: set correct length of strings (#120) Oct 19, 2018
test clean-up and polishing (#114) Jul 9, 2018
tools v0.13.2 Oct 25, 2018
.clang-format applying clang-format Mar 6, 2017
.gitignore applying clang-format Mar 6, 2017
.travis.yml thread pool (#102) Nov 13, 2017
AUTHORS Adding AUTHORS file Apr 12, 2013
COPYRIGHT applying clang-format Mar 6, 2017
README Readding Moving travis icon to the end of the README Mar 4, 2015
VERSION v0.13.2 Oct 25, 2018

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-common is a C++ library that helps on writing OpenFlow endpoints (OF agents), for controllers, proxy controllers and datapaths.


  • 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)
  • GLOG (libgoogle-glog-dev 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# ./  
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)

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.


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/ 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 at


(c) Copyright BISDN GmbH 2013

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

And others.

Build Status

You can’t perform that action at this time.