Add ability to direct "packet-in"s to particular controllers.
[sliver-openvswitch.git] / DESIGN
diff --git a/DESIGN b/DESIGN
index f383b65..2112925 100644 (file)
--- 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