-void commit_odp_actions(const struct flow *, struct flow *base,
- struct ofpbuf *odp_actions);
+/* Reasons why a subfacet might not be fast-pathable. */
+enum slow_path_reason {
+ /* These reasons are mutually exclusive. */
+ SLOW_CFM = 1 << 0, /* CFM packets need per-packet processing. */
+ SLOW_LACP = 1 << 1, /* LACP packets need per-packet processing. */
+ SLOW_STP = 1 << 2, /* STP packets need per-packet processing. */
+ SLOW_IN_BAND = 1 << 3, /* In-band control needs every packet. */
+
+ /* Mutually exclusive with SLOW_CFM, SLOW_LACP, SLOW_STP.
+ * Could possibly appear with SLOW_IN_BAND. */
+ SLOW_CONTROLLER = 1 << 4, /* Packets must go to OpenFlow controller. */
+
+ /* This can appear on its own, or, theoretically at least, along with any
+ * other combination of reasons. */
+ SLOW_MATCH = 1 << 5, /* Datapath can't match specifically enough. */
+};
+