Overview of OpenFlow 1.3

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 the OpenFlow Protocol. The OpenFlow Controller can add, delete, or modify flows by getting statistics for ports and flows and other information using the OpenFlow Protocol.

OpenFlow 1.3 architecture

Each flow table maintained in a switch, consists of flow entries sorted by the flow priority. 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 performed. The packets that don't match any flow entry, are either dropped, or sent to the controller.

OpenFlow 1.3 defines three tables:

  • Flow tables
  • Group table
  • Meter table

OpenFlow 1.3 flow table entries

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

Pipeline processing