X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fopenflow%2Fopenflow-1.4.h;h=cf83c61fc49137a33141fe1a24ace4730b88feeb;hb=HEAD;hp=332a0d3ee302d9f7600d57c9eca542dd244a14cc;hpb=00467f7367deade04c4405e1eb2841581700d519;p=sliver-openvswitch.git diff --git a/include/openflow/openflow-1.4.h b/include/openflow/openflow-1.4.h index 332a0d3ee..cf83c61fc 100644 --- a/include/openflow/openflow-1.4.h +++ b/include/openflow/openflow-1.4.h @@ -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 */