Administrator's Guide

4. In the Value field, enter the desired duration in seconds for active trace recording.
5. Click Apply to set the new time span for active trace recording, and return to the OpenFlow
Trace view.
3.14 OpenFlow classes display
The OpenFlow classes display shows the OpenFlow classes that applications have registered with
the controller. For more information about OpenFlow classes, see About OpenFlow classes
(page 49).
3.14.1 About OpenFlow classes
When multiple applications share the same resource—the flow tables of OpenFlow switches—how
can their priorities relative to each other be determined and how can their actions be coordinated?
If flow table modification priorities are directly coded into each application, applications can end
up directly competing with other applications for the highest priorities, which can result in conflicts
in general network traffic control and unintended results when you implement a solution that has
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 in a more orderly fashion.
1. For each class of flow modification message the application can send, the application must
register an OpenFlow class with the controller. 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 must set the match and action to
be the same fields as specified in the OpenFlow class and, instead of providing an actual
priority, the application sets the logical priority as assigned by the flow class, 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 modifications 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.
3.14 OpenFlow classes display 49