Reference Guide
Table Of Contents
- 1 Introduction
- 2 Establishing Your Test and Development Environments
- 3 Developing Applications
- Introduction
- Authentication
- REST API
- Audit Logging
- Alert Logging
- Configuration
- High Availability
- OpenFlow
- Metrics Framework
- GUI
- SKI Framework - Overview
- SKI Framework - Navigation Tree
- SKI Framework - Hash Navigation
- SKI Framework - View Life-Cycle
- SKI Framework - Live Reference Application
- UI Extension
- Introduction
- Controller Teaming
- Distributed Coordination Service
- Persistence
- Backup and Restore
- Device Driver Framework
- 4 Application Security
- 5 Including Debian Packages with Applications
- 6 Sample Application
- Application Description
- Creating Application Development Workspace
- Application Generator (Automatic Workspace Creation)
- Creating Eclipse Projects
- Updating Project Dependencies
- Building the Application
- Installing the Application
- Application Code
- 7 Testing Applications
- 8 Built-In Applications
- Appendix A
- Appendix B
- Bibliography
Figure 15 Message Factory Role
Message Composition and Type Hierarchy
All OpenFlow message instances are subclasses of the OpenflowMessage abstract class. Every
message includes an internal Header instance that encapsulates:
•
The protocol version
•
The message type
•
The message length (in bytes)
•
The transaction ID (XID)
In addition to the header, specific messages may include:
•
Data values, such as “port number”, “# bytes processed”, “metadata mask”, “h/w address”,
etc.
These values are represented by Java primitives, enumeration constants, or data types.
•
Other common structures, such as Ports, Matches, Instructions, Actions, etc.
These structure instances are all subclasses of the OpenflowStructure abstract class.
For each defined OpenFlow message type (see com.hp.of.lib.msg.MessageType) there are
corresponding concrete classes representing the immutable and mutable versions of the message.
For a given message type (denoted below as “Foo”) the following class relationships exist:
29