Skip to content

OpenFlow library set - Collection of libraries to build OpenFlow controllers and switches, written in C/C++

Notifications You must be signed in to change notification settings

fp7-alien/rofl-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,000 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.

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)

Known issues with Automake 1.14

ROFL package uses subdir-objects. From Automake v1.14 on, the support of subdir-objects must be explicitly added in AM_INIT_AUTOMAKE() in order to prevent warnings that will abort compilation. However, due to the following bug:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928

The build system won't work if subdir-objects is added in AM_INIT_AUTOMAKE().

Currently, in order to compile the package, the suggested strategy is to remove -Werror from AM_INIT_AUTOMAKE() in the configure.ac:

diff --git a/configure.ac b/configure.ac
index 9d918d4..62fce3d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_INIT(ROFL, m4_esyscmd_s(cat VERSION), rofl-devel@roflibs.org, rofl, http://ww
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 
-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+AM_INIT_AUTOMAKE([-Wall foreign])
 
 AC_GNU_SOURCE

Note there will be a considerably number of warnings shown. Once bug 13928, subdir-objects will be added as it should be.

Doxygen documentation

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

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:

http://www.roflibs.org/ http://www.roflibs.org/doc/

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

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

And others.

About

OpenFlow library set - Collection of libraries to build OpenFlow controllers and switches, written in C/C++

Resources

Stars

Watchers

Forks

Packages

No packages published