On 14/02/2017 17:53, Simon Horman wrote:
On Wed, Feb 08, 2017 at 05:29:20PM +0200, Roi Dayan wrote:
From: Paul Blakey <pa...@mellanox.com>

If netdev flow offloading is enabled, flush all
added ports using netdev flow api.

Signed-off-by: Paul Blakey <pa...@mellanox.com>
Reviewed-by: Roi Dayan <r...@mellanox.com>

...

diff --git a/lib/netdev.c b/lib/netdev.c
index 792ab8c..a0206b0 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -2225,6 +2225,50 @@ netdev_hmap_port_del(odp_port_t port_no, const void *obj)
     return ret;
 }

+void
+netdev_ports_flow_flush(const void *obj)
+{
+    struct port_to_netdev_data *data;
+
+    HMAP_FOR_EACH(data, node, &port_to_netdev) {
+        if (data->obj == obj) {
+            netdev_flow_flush(data->netdev);
+        }
+    }
+}
+
+struct netdev_flow_dump **
+netdev_ports_flow_dumps_create(const void *obj, int *ports)
+{
+    struct port_to_netdev_data *data;
+    struct netdev_flow_dump **dumps;
+    int count = 0;
+    int i = 0;
+
+    HMAP_FOR_EACH(data, node, &port_to_netdev) {
+        if (data->obj == obj) {
+            count++;
+        }
+    }
+
+    dumps = count ? xzalloc(sizeof(dumps[0]) * count) : NULL;
+
+    HMAP_FOR_EACH(data, node, &port_to_netdev) {
+        if (data->obj == obj) {
+            int err = netdev_flow_dump_create(data->netdev, &dumps[i]);
+            if (err) {
+                continue;
+            }
+
+            dumps[i]->port = data->dpif_port.port_no;
+            i++;
+        }
+    }
+
+    *ports = i;
+    return dumps;
+}
+
 bool netdev_flow_api_enabled = false;

 void

netdev_ports_flow_dumps_create() does not appear to relate to changelog.
Perhaps it should be moved to a different or new patch?


right. should be with patch
"dpif-netlink: Dump netdevs flows on flow dump"
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to