ROFL-pipeline  v0.6.0dev
ROFL-PIPELINE library

Documentation

Introduction

The ROFL-pipeline library is a platform-agnostic OpenFlow 1.0, 1.2 and 1.3.X pipeline, built focusing on performance and extensibility. The objective is to create a unified common OpenFlow pipeline implementation that can be reused in several platforms. ROFL-pipeline is used by the eXtensible DataPath (xDPd) in several platforms.

Features:

How to use it

ROFL-pipeline can be used as:

ROFL-pipeline is not...

Architecture overview

Legend:
+--> API exposed by
the library
+---------------------------------+ <+++ API consumed by
| Data-model | the library
Async events +---------------------------------+
and hooks API <+++++ |
| State management ++++
Management API +---> | + Platform APIs
+---------------------------------+ ++> (locking, atomic ops, packet mangling...)
| | +
| Packet processing ++++
| |
| +------------------------------+|
Pkt processing +-----|-> Matching algorithms APIs ||
| +------------------------------+|
+---------------------------------+

Exposed by the library:

Consumed by the library:

Endiannes of packet values, matches and actions:

ROFL-pipeline uses Network Byte Order (NBO). The alignment of particular headers types has to be carefully taken into account. Please, read endianness section for more details.

Related projects:

Authors:

Copyright BISDN.

Licensing:

The code is distributed under MPL v2: http://www.mozilla.org/MPL/

The ROFL pipeline library is part of a more extensive C/C++ library called ROFL (Revised OpenFlow Library).