The OpenFlow protocol (1.0.0) describes message exchanges that take place between an OpenFlow controller and an OpenFlow device. Typically, the protocol is implemented on top of SSL or Transport Layer Security (TLS), providing a secure OpenFlow channel.
The OpenFlow protocol enables the controller to perform add, update, and delete actions to the flow entries in the flow tables. It supports three types of messages:
- Controller-to-Device: These messages are initiated by the controller and, in some cases, require a response from the device.
- Asynchronous: These types of messages are sent without solicitation from the controller.
- Symmetric: These messages are sent without solicitation from either the controller or the device. They are simple yet helpful.
Below is the list of complete OpenFlow messages that any implementation needs to support.