OpenFlow Flow Table Lookup Animation

Trace packet matching, priority, table miss handling, and actions in an OpenFlow switch

animation
openflow
sdn
flow-table
packet-processing
architecture
A guided OpenFlow lookup workbench that lets learners step through priority-ordered flow tables, multi-table processing, Packet-In behavior, actions, and counters.
Animation OpenFlow Beginner ramp

OpenFlow Flow Lookup Workbench

Step through how an SDN switch parses a packet, checks priority-ordered flow entries, updates counters, and applies actions such as output, drop, set-field, GoTo table, or Packet-In to the controller.

P420 Modbus controller routeSelected flow entry
Output port 2Final action
Table 0 hitLookup path
Switch-local hitExpected delay

OpenFlow lookup controls and learning support

Goal

Predict which rule handles a packet and explain why that rule wins.

Try First

Use Overlapping Rules, step to the selected row, and notice that the highest priority matching row wins.

Watch

Look for scanned rows, matching rows, ignored lower-priority matches, action changes, and counter increments.

Why It Matters

OpenFlow lets the controller turn policy into fast switch rules, while unknown traffic can be sent to the controller for a decision.

Scenario Presets

A specific Modbus controller rule and a broader IoT subnet rule both match. Priority decides which one wins.

Playback

Packet Fields

Working Packet

No field modifications have been applied yet.

Ingress parser extracts fields such as in_port, VLAN, IP addresses, protocol, and TCP or UDP port.
Table 0Current table
Scanning rulesDecision state
0 packetsCounter update
P420 Modbus controller routeWinning rule
Output port 2Applied actions
More specific rule has higher priority.Reason

Flow Entry

A flow entry combines match fields, priority, counters, timeouts, and instructions or actions. The switch can apply it without asking the controller each time.

Priority

If two entries match the same packet, the highest priority entry wins. Equal-priority overlaps should be avoided because behavior can be ambiguous.

Table Miss

A table-miss entry is the low-priority fallback. It can drop, continue to another table, or send a Packet-In message to the controller.

Match Fields

  • Ingress port, MAC, VLAN, EtherType
  • IP source and destination prefixes
  • TCP or UDP source and destination ports

Actions

  • Output to a switch port
  • Drop the packet
  • Set fields such as VLAN, DSCP, or metadata
  • Send Packet-In to the controller

Pipeline

  • Processing starts at Table 0
  • GoTo can continue to a higher-numbered table
  • Counters update on the matched entry

Practice 1

Choose Overlapping Rules. Which row also matches but is ignored, and why?

Practice 2

Choose Unknown Device. Follow the Packet-In path and explain why the controller is involved.

Practice 3

Choose VLAN Tagging. Watch Table 0 modify the working packet before Table 1 makes the output decision.

Related Study