Setting tag sliver-openvswitch-2.2.90-1
[sliver-openvswitch.git] / include / openflow / openflow-1.4.h
index 332a0d3..cf83c61 100644 (file)
@@ -153,4 +153,38 @@ struct ofp14_role_prop_experimenter {
 };
 OFP_ASSERT(sizeof(struct ofp14_role_prop_experimenter) == 12);
 
+/* Bundle control message types */
+enum ofp14_bundle_ctrl_type {
+    OFPBCT_OPEN_REQUEST    = 0,
+    OFPBCT_OPEN_REPLY      = 1,
+    OFPBCT_CLOSE_REQUEST   = 2,
+    OFPBCT_CLOSE_REPLY     = 3,
+    OFPBCT_COMMIT_REQUEST  = 4,
+    OFPBCT_COMMIT_REPLY    = 5,
+    OFPBCT_DISCARD_REQUEST = 6,
+    OFPBCT_DISCARD_REPLY   = 7,
+};
+
+/* Bundle configuration flags. */
+enum ofp14_bundle_flags {
+    OFPBF_ATOMIC  = 1 << 0,  /* Execute atomically. */
+    OFPBF_ORDERED = 1 << 1,  /* Execute in specified order. */
+};
+
+/* Message structure for OFPT_BUNDLE_CONTROL and OFPT_BUNDLE_ADD_MESSAGE. */
+struct ofp14_bundle_ctrl_msg {
+    ovs_be32 bundle_id;     /* Identify the bundle. */
+    ovs_be16 type;          /* OFPT_BUNDLE_CONTROL: one of OFPBCT_*.
+                             * OFPT_BUNDLE_ADD_MESSAGE: not used. */
+    ovs_be16 flags;         /* Bitmap of OFPBF_* flags. */
+    /* Followed by:
+     * - For OFPT_BUNDLE_ADD_MESSAGE only, an encapsulated OpenFlow message,
+     *   beginning with an ofp_header whose xid is identical to this message's
+     *   outer xid.
+     * - For OFPT_BUNDLE_ADD_MESSAGE only, and only if at least one property is
+     *   present, 0 to 7 bytes of padding to align on a 64-bit boundary.
+     * - Zero or more properties (see struct ofp14_bundle_prop_header). */
+};
+OFP_ASSERT(sizeof(struct ofp14_bundle_ctrl_msg) == 8);
+
 #endif /* openflow/openflow-1.4.h */