#include "type-props.h"
struct ofpbuf;
+union ofp_action;
/* Port numbers. */
enum ofperr ofputil_port_from_ofp11(ovs_be32 ofp11_port,
/* Protocol-independent flow_mod flags. */
enum ofputil_flow_mod_flags {
+ /* Flags that are maintained with a flow as part of its state.
+ *
+ * (OFPUTIL_FF_EMERG would be here too, if OVS supported it.) */
OFPUTIL_FF_SEND_FLOW_REM = 1 << 0, /* All versions. */
- OFPUTIL_FF_CHECK_OVERLAP = 1 << 1, /* All versions. */
- OFPUTIL_FF_EMERG = 1 << 2, /* OpenFlow 1.0 only. */
- OFPUTIL_FF_RESET_COUNTS = 1 << 3, /* OpenFlow 1.2+. */
- OFPUTIL_FF_NO_PKT_COUNTS = 1 << 4, /* OpenFlow 1.3+. */
- OFPUTIL_FF_NO_BYT_COUNTS = 1 << 5 /* OpenFlow 1.3+. */
+ OFPUTIL_FF_NO_PKT_COUNTS = 1 << 1, /* OpenFlow 1.3+. */
+ OFPUTIL_FF_NO_BYT_COUNTS = 1 << 2, /* OpenFlow 1.3+. */
+#define OFPUTIL_FF_STATE (OFPUTIL_FF_SEND_FLOW_REM \
+ | OFPUTIL_FF_NO_PKT_COUNTS \
+ | OFPUTIL_FF_NO_BYT_COUNTS)
+
+ /* Flags that affect flow_mod behavior but are not part of flow state. */
+ OFPUTIL_FF_CHECK_OVERLAP = 1 << 3, /* All versions. */
+ OFPUTIL_FF_EMERG = 1 << 4, /* OpenFlow 1.0 only. */
+ OFPUTIL_FF_RESET_COUNTS = 1 << 5, /* OpenFlow 1.2+. */
};
/* Protocol-independent flow_mod.