Core sequence
Packet arrives, lookup misses, Packet-In goes to the controller, Flow-Mod installs the entry, then later packets match.
Watch a first IoT packet miss the table, ask the controller, receive a Flow-Mod rule, and then forward later packets in the data plane
A reactive SDN controller is involved when the switch has no matching rule. After a Flow-Mod installs a flow entry, later matching packets follow the table entry in the data plane without asking the controller again.
Packet arrives, lookup misses, Packet-In goes to the controller, Flow-Mod installs the entry, then later packets match.
A flow entry combines match fields, priority, counters, instructions or actions, timeouts, and controller metadata.
The controller can allow, drop, meter, mirror, or steer traffic based on the policy you select.
The timing values are teaching estimates. OpenFlow behavior and supported fields depend on version and switch table features.
A temperature sensor sends MQTT telemetry through an access switch. The first packet misses; the controller installs an allow rule for this flow.
The first sensor packet is entering the access switch. No installed rule is available yet, so the switch begins with a table lookup.
| Priority | Match | Instruction / action | Counters | Timeout | Status |
|---|
Before the controller installs a specific flow, only the table-miss behavior can decide what happens to unmatched traffic.
A flow entry is not just a destination. It combines packet match fields, matching priority, counters, and instructions/actions such as output, drop, set-field, group, or meter.
In reactive mode, the switch has to ask the controller when the table has no matching entry. After the Flow-Mod, later matching packets do not need a controller round trip.
OpenFlow selects the highest-priority matching entry. Overlapping entries at the same highest priority are unsafe because the selected entry can be undefined.
Idle timeout removes a rule after no matching packets for a period. Hard timeout removes it after a fixed lifetime, even if packets are still matching.
A table-miss entry can send unmatched packets to the controller, drop them, or continue pipeline processing. Without a table-miss entry, unmatched packets are dropped by default in OpenFlow 1.3 behavior.
Use proactive rules for predictable, latency-sensitive telemetry. Use reactive installs when the controller needs to learn or authenticate new flows first.
Do not say "the controller forwards every packet." In this model, the controller makes the decision and installs the rule; the switch forwards matching packets afterward.
Choose Rogue drop, step to Flow-Mod, then explain why later rogue packets do not need another Packet-In.
Set the table-miss behavior to default drop. What information does the controller lose when the switch never sends Packet-In?
For a factory alarm sensor, would you pre-install rules or wait for a reactive Packet-In? Justify the choice using latency and policy control.