bugtool - Collect version information for all running Open vSwitch daemons.
[sliver-openvswitch.git] / DESIGN
diff --git a/DESIGN b/DESIGN
index f383b65..ec29e39 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
@@ -115,8 +125,8 @@ below the table.
                                           MODIFY          DELETE
                              ADD  MODIFY  STRICT  DELETE  STRICT
                              ===  ======  ======  ======  ======
-match on priority           ---    ---     yes     ---     yes
-match on out_port           ---    ---     ---     yes     yes
+match on priority            ---    ---     yes     ---     yes
+match on out_port            ---    ---     ---     yes     yes
 updates flow_cookie          yes    yes     yes
 updates OFPFF_SEND_FLOW_REM  yes     +       +
 honors OFPFF_CHECK_OVERLAP   yes     +       +