3
OpenFlow flow table
An OpenFlow switch matches packets against one or more user-defined flow tables. A flow table
contains flow entries, and packets are matched based on the matching precedence of flow entries.
OpenFlow flow tables include the following types:
• MAC-IP—Combines the MAC address table and FIB table.
A MAC-IP flow table provides the following match fields:
{ Destination MAC address.
{ VLAN.
{ Destination IP address.
A MAC-IP flow table provides the following actions:
{ Modifying the destination MAC address.
{ Modifying the source MAC address.
{ Modifying the VLAN.
{ Specifying the output port.
• Extensibility—Combines Ternary Content Addressable Memory (TCAM) tables and tables
programmed by software. An extensibility table provides more match fields and actions than a
MAC-IP flow table, such as destination MAC address, destination IP address, VLAN priority,
TCP source port, and TCP destination port.
Flow entry
Figure 2 Flow entry components
A flow entry contains the following fields:
• Match fields—Matching rules of the flow entry. These contain the ingress port, packet headers,
and metadata specified by the previous table.
• Priority—Matching precedence of the flow entry. When a packet is matched against the flow
table, 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 rate-limit the packets.
{ Apply-Actions—Applies the specified actions in the action list immediately.
{ Clear-Actions—Clears all actions in the action set immediately.
{ Write-Actions—Modifies all 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 pipeline.
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.
Actions include the following types: