Re: [ovs-dev] [PATCH v2 10/15] dpif-netdev: Implement conntrack dump functions.

2016-04-27 Thread Daniele Di Proietto


On 19/04/2016 14:54, "Joe Stringer"  wrote:

>On 15 April 2016 at 17:02, Daniele Di Proietto  wrote:
>> Signed-off-by: Daniele Di Proietto 
>
>Could be combined with the earlier patch that provides the actual
>implementation?

Done, thanks!
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v2 10/15] dpif-netdev: Implement conntrack dump functions.

2016-04-26 Thread Flavio Leitner
On Fri, Apr 15, 2016 at 05:02:42PM -0700, Daniele Di Proietto wrote:
> Signed-off-by: Daniele Di Proietto 
> ---

Acked-by: Flavio Leitner 


___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v2 10/15] dpif-netdev: Implement conntrack dump functions.

2016-04-19 Thread Joe Stringer
On 15 April 2016 at 17:02, Daniele Di Proietto  wrote:
> Signed-off-by: Daniele Di Proietto 

Could be combined with the earlier patch that provides the actual
implementation?
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v2 10/15] dpif-netdev: Implement conntrack dump functions.

2016-04-15 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto 
---
 lib/dpif-netdev.c | 60 ---
 1 file changed, 57 insertions(+), 3 deletions(-)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 436359a..5ac2bf3 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -35,6 +35,7 @@
 #include "cmap.h"
 #include "conntrack.h"
 #include "coverage.h"
+#include "ct-dpif.h"
 #include "csum.h"
 #include "dp-packet.h"
 #include "dpif.h"
@@ -3937,6 +3938,59 @@ dp_netdev_execute_actions(struct dp_netdev_pmd_thread 
*pmd,
 actions_len, dp_execute_cb);
 }
 
+struct dp_netdev_ct_dump {
+struct ct_dpif_dump_state up;
+struct conntrack_dump dump;
+struct conntrack *ct;
+struct dp_netdev *dp;
+};
+
+static int
+dpif_netdev_ct_dump_start(struct dpif *dpif, struct ct_dpif_dump_state **dump_,
+  const uint16_t *pzone)
+{
+struct dp_netdev *dp = get_dp_netdev(dpif);
+struct dp_netdev_ct_dump *dump;
+
+dump = xzalloc(sizeof *dump);
+dump->dp = dp;
+dump->ct = >conntrack;
+
+conntrack_dump_start(>conntrack, >dump, pzone);
+
+*dump_ = >up;
+
+return 0;
+}
+
+static int
+dpif_netdev_ct_dump_next(struct dpif *dpif OVS_UNUSED,
+ struct ct_dpif_dump_state *dump_,
+ struct ct_dpif_entry *entry)
+{
+struct dp_netdev_ct_dump *dump;
+
+INIT_CONTAINER(dump, dump_, up);
+
+return conntrack_dump_next(>dump, entry);
+}
+
+static int
+dpif_netdev_ct_dump_done(struct dpif *dpif OVS_UNUSED,
+ struct ct_dpif_dump_state *dump_)
+{
+struct dp_netdev_ct_dump *dump;
+int err;
+
+INIT_CONTAINER(dump, dump_, up);
+
+err = conntrack_dump_done(>dump);
+
+free(dump);
+
+return err;
+}
+
 const struct dpif_class dpif_netdev_class = {
 "netdev",
 dpif_netdev_init,
@@ -3977,9 +4031,9 @@ const struct dpif_class dpif_netdev_class = {
 dpif_netdev_enable_upcall,
 dpif_netdev_disable_upcall,
 dpif_netdev_get_datapath_version,
-NULL,   /* ct_dump_start */
-NULL,   /* ct_dump_next */
-NULL,   /* ct_dump_done */
+dpif_netdev_ct_dump_start,
+dpif_netdev_ct_dump_next,
+dpif_netdev_ct_dump_done,
 NULL,   /* ct_flush */
 };
 
-- 
2.1.4

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev