Overview of OpenFlow v1.3.0

An OpenFlow switch maintains one or more flow tables, which are used for packet processing. The switch performs the actions listed in the table entry corresponding to the matched flow.

The OpenFlow Controller manages the OpenFlow switch using OpenFlow. The OpenFlow Controller can add, delete, or modify flows by getting statistics for ports and flows and other information using the OpenFlow protocol.

OpenFlow v1.3.0 Architecture

Each flow table maintained in a switch consists of flow entries sorted by the flow priority. The highest priority flows are at the top of the flow table. Incoming packets are matched against the flow entries starting from the highest priority flow. If there is a match, then flow matching stops, and the set of actions for that flow entry are performed. The packets that do not match any flow entry are either dropped or sent to the controller.

OpenFlow v1.3.0 defines three types of tables:

  • Flow table
  • Group table
  • Meter table

OpenFlow 1.3.0 Flow Table Entries

The incoming packets are matched against the multiple tables in the pipeline.

Note: The ICX switches do not support matching or manipulating MPLS label information in a flow. Flows with MPLS EtherType are considered failures.

Pipeline Processing

Note: The ICX switches do not support multiple table lookup.