+ } else {
+ return false;
+ }
+}
+
+/* Executes, within 'ofproto', the 'n_actions' actions in 'actions' on
+ * 'packet', which arrived on 'in_port'.
+ *
+ * Takes ownership of 'packet'. */
+static bool
+execute_odp_actions(struct ofproto_dpif *ofproto, const struct flow *flow,
+ const struct nlattr *odp_actions, size_t actions_len,
+ struct ofpbuf *packet)
+{
+ struct odputil_keybuf keybuf;
+ struct ofpbuf key;
+ int error;
+
+ if (execute_controller_action(ofproto, flow, odp_actions, actions_len,
+ packet)) {
+ return true;