HP VAN SDN Controller Administrator Guide v3

multiple SDN applications attempting to act on the same packets. In addition, many environments
make it difficult to trace the origin of flow modification requests installed in switches.
The HP VAN SDN Controller uses OpenFlow classes to dynamically manage the priorities of the
OpenFlow rules being deployed to the network, thus enabling applications to execute their business
logic without impacting on each other.
1. For each class of flow modification message the application can send, the application must
register an OpenFlow class with the controller before it can send a flow modification message
of that class to the switches. The OpenFlow class must specify the types of match fields, types
of actions, and (optionally) the relative position (higher than or lower than) for this class with
respect to other flow classes.
2. The controller adds a unique base cookie to be used with each future flow modification to be
validated against this OpenFlow class, and assigns an actual priority for the OpenFlow class.
This actual priority is based on the logical priorities of all of the OpenFlow classes of all the
applications that are registered with the controller.
3. When the application sends a flow modification message, it associates the match and action
with an OpenFlow class and, instead of providing an actual priority, the application provides
a logical priority and a cookie that is derived from the base cookie of the OpenFlow class.
4. Before sending the flow table modification message to the switch, the controller evaluates the
requested flow modification against the registered OpenFlow classes and replaces the logical
priority provided by the application with an actual priority.
In addition to enabling the controller to manage priorities for multiple applications, OpenFlow
classes enable the controller to validate flow modification requests an application makes against
a set of expected flow modification requests. This capability means that the behavior of an
application must match the intent that the application disclosed when it registered with the controller:
The flow match must contain exactly the fields and field types that were disclosed when the
application registered with the controller. The controller validates field types but not field value.
The action or instruction must fall into the category that was disclosed during registration.
An action is classified into one of the following categories:
FORWARD
DROP
PROCESS
STEAL
COPY
The upper 16 bits of the flow modification cookie must match the upper 16 bits of the base
cookie that was issued during registration.
50 SDN Controller Console