datapath: Change listing flows to use an iterator concept.
[openvswitch] / datapath / odp-compat.h
index d30b05f6260605a6b071f1911904ca82d36ef1d4..ca2f17001d5f9d97ad37a1f36b046ab53ac11c74 100644 (file)
 #include "openvswitch/datapath-protocol.h"
 #include <linux/compat.h>
 
-#define ODP_PORT_LIST32                _IOWR('O', 10, struct compat_odp_portvec)
-#define ODP_FLOW_GET32         _IOWR('O', 13, struct compat_odp_flow)
+#define ODP_VPORT_LIST32       _IOWR('O', 10, struct compat_odp_portvec)
+#define ODP_FLOW_GET32         _IOWR('O', 13, struct compat_odp_flowvec)
 #define ODP_FLOW_PUT32         _IOWR('O', 14, struct compat_odp_flow)
-#define ODP_FLOW_LIST32                _IOWR('O', 15, struct compat_odp_flowvec)
+#define ODP_FLOW_DUMP32                _IOWR('O', 15, struct compat_odp_flow_dump)
 #define ODP_FLOW_DEL32         _IOWR('O', 17, struct compat_odp_flow)
 #define ODP_EXECUTE32          _IOR('O', 18, struct compat_odp_execute)
 #define ODP_FLOW_DEL32         _IOWR('O', 17, struct compat_odp_flow)
@@ -32,7 +32,7 @@ struct compat_odp_flow {
        struct odp_flow_stats stats;
        struct odp_flow_key key;
        compat_uptr_t actions;
-       u32 n_actions;
+       u32 actions_len;
        u32 flags;
 };
 
@@ -41,18 +41,19 @@ struct compat_odp_flow_put {
        u32 flags;
 };
 
+struct compat_odp_flow_dump {
+       compat_uptr_t flow;
+       uint32_t state[2];
+};
+
 struct compat_odp_flowvec {
        compat_uptr_t flows;
        u32 n_flows;
 };
 
 struct compat_odp_execute {
-       u16 in_port;
-       u16 reserved1;
-       u32 reserved2;
-
        compat_uptr_t actions;
-       u32 n_actions;
+       u32 actions_len;
 
        compat_uptr_t data;
        u32 length;