void dpif_port_poll_wait(const struct dpif *);
int dpif_flow_flush(struct dpif *);
-int dpif_flow_put(struct dpif *, struct odp_flow_put *);
-int dpif_flow_del(struct dpif *, struct odp_flow *);
-int dpif_flow_get(const struct dpif *, struct odp_flow *);
+int dpif_flow_put(struct dpif *, int flags,
+ const struct nlattr *key, size_t key_len,
+ const struct nlattr *actions, size_t actions_len,
+ struct odp_flow_stats *);
+int dpif_flow_del(struct dpif *,
+ const struct nlattr *key, size_t key_len,
+ struct odp_flow_stats *);
+int dpif_flow_get(const struct dpif *, int flags,
+ const struct nlattr *key, size_t key_len,
+ struct ofpbuf **actionsp, struct odp_flow_stats *);
struct dpif_flow_dump {
const struct dpif *dpif;
void *state;
};
void dpif_flow_dump_start(struct dpif_flow_dump *, const struct dpif *);
-bool dpif_flow_dump_next(struct dpif_flow_dump *, struct odp_flow *);
+bool dpif_flow_dump_next(struct dpif_flow_dump *,
+ const struct nlattr **key, size_t *key_len,
+ const struct nlattr **actions, size_t *actions_len,
+ const struct odp_flow_stats **);
int dpif_flow_dump_done(struct dpif_flow_dump *);
int dpif_execute(struct dpif *, const struct nlattr *actions,