Reference Guide

Table Of Contents
The Message Library is a Java implementation of the OpenFlow specification, providing facilities for
encoding and decoding OpenFlow messages from and to Java rich data types.
The controller handles the connections from OpenFlow switches and provides the means for upper
layers of software to interact with those switches via the ControllerService API.
The following figure illustrates this:
Figure 14 OpenFlow Controller
Message Library
The Message Library is a Java implementation of the OpenFlow specification, providing facilities for
encoding and decoding OpenFlow messages from and to Java rich data types.
Design Goals
The following are the overall design goals of the library:
To span all OpenFlow protocol versions
However, actively supporting just 1.0.0 and 1.3.2
To be extensible
Easily accommodating future versions
To provide an elegant, yet simple, API for handling with OpenFlow messages
To reduce the burden on application developers
Insulating developers from differences across protocol versions, as much as possible
To expose the semantics but hide the syntax details
Developers will not be required to encode and decode bitmasks, calculate message
lengths, insert padding, etc.
To be robust and type-safe
Working with Java enumerations and types
27