summaryrefslogtreecommitdiff
path: root/DESIGN
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2012-02-09 14:17:33 -0800
committerBen Pfaff <blp@nicira.com>2012-02-27 13:21:44 -0800
commita7349929fb86d41f2e2ef77395e33b21f9457d48 (patch)
tree251163adb31b01bc347e336b132b47e58d8f6413 /DESIGN
parent7c1a76a4673be09de56743400dfb1d1c8d8d0799 (diff)
downloadopenvswitch-a7349929fb86d41f2e2ef77395e33b21f9457d48.tar.gz
Add ability to direct "packet-in"s to particular controllers.
Nicira's controllers are somewhat heterogeneous, so that particular "packet-in" messages should be directed to particular controllers. This new Nicira extension action allows designating a controller or controllers to receive the "packet-in" using a 16-bit integer ID. The new NXAST_CONTROLLER action also specifies the "reason" code to include in the "packet-in" message. This is particularly useful for simulating a "no-match" "packet-in" using a rule. Feature #8946. Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'DESIGN')
-rw-r--r--DESIGN10
1 files changed, 10 insertions, 0 deletions
diff --git a/DESIGN b/DESIGN
index f383b6526..211292569 100644
--- a/DESIGN
+++ b/DESIGN
@@ -24,6 +24,16 @@ Second, OFPT_FLOW_REMOVED and NXT_FLOW_REMOVED messages are generated
only if the flow that was removed had the OFPFF_SEND_FLOW_REM flag
set.
+Third, OFPT_PACKET_IN and NXT_PACKET_IN messages are sent only to
+OpenFlow controller connections that have the correct connection ID
+(see "struct nx_controller_id" and "struct nx_action_controller"):
+
+ - For packet-in messages generated by a NXAST_CONTROLLER action,
+ the controller ID specified in the action.
+
+ - For other packet-in messages, controller ID zero. (This is the
+ default ID when an OpenFlow controller does not configure one.)
+
Finally, Open vSwitch consults a per-connection table indexed by the
message type, reason code, and current role. The following table
shows how this table is initialized by default when an OpenFlow