
3
• Logical port—Does not correspond to a hardware interface of a switch and might be defined by
non-OpenFlow methods. A logical port can be either an ingress port or an output port.
• Reserved port—Defined by OpenFlow to specify forwarding actions. Reserved ports include the
following types:
{ All—All OpenFlow ports that can be used to forward a packet.
{ Controller—OpenFlow controller.
{ Table—Flow table.
{ In_Port—Packet ingress port.
{ Any—Generic port description. The port cannot be used as an ingress port or output port.
{ Local—Local CPU.
{ Normal—Normal forwarding process.
{ Flood—Flooding.
Except the Any type, all reserved ports can be used only as output ports.
OpenFlow flow table
An OpenFlow switch matches packets against one or more user-defined flow tables. A flow table consists
of flow entries, and packets are matched based on the matching precedence of flow entries.
Figure 2 Components of a flow entry
A flow entry contains the following fields:
• Match fields—Matching rules of the flow entry. These consist of the ingress port, packet headers,
and metadata specified by the previous table.
• Priority—Matching precedence of the flow entry. A packet is matched against the table and only
the highest priority flow entry that matches the packet is selected.
• Counters—Counts of the packets that match the flow entry.
• Instructions—To modify the action set or pipeline processing. These include the following types:
{ Meter—Directs the packets to the specified meter to limit the rate of the packets.
{ Apply-Actions—Applies the specified actions in the action list immediately.
{ Clear-Actions—Clears all the actions in the action set immediately.
{ Write-Actions—Modifies all the actions in the action set immediately.
{ Write-Metadata—Modifies packets between two flow tables if there are multiple flow tables.
{ Goto-Table—Indicates the next flow table in the processing line.
Actions are executed in one of the following ways:
{ Action Set—When the instruction set of a flow entry does not contain a Goto-Table instruction,
pipeline processing stops and the actions in the action set are executed. An action set contains
a maximum of one action of each type.
{ Action List—The actions in the action list are executed immediately in the order specified by the
action list. The effect of those actions is cumulative.
• Timeouts—Maximum amount of idle time or hard time for the flow entry.
{ Idle Time—The flow entry is removed when it has matched no packets during the idle time.