dpif: Eliminate "struct odp_flow" from client-visible interface.
[sliver-openvswitch.git] / lib / dpif.h
index 3c376ec..22e3580 100644 (file)
@@ -108,9 +108,16 @@ int dpif_port_poll(const struct dpif *, char **devnamep);
 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;
@@ -118,7 +125,10 @@ struct dpif_flow_dump {
     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,