[ovs-dev] [PATCH 1/2] netdev: Refactor destruction of netdev_ports.

Joe Stringer joe at ovn.org
Tue Jun 27 18:13:09 UTC 2017


An upcoming patch will reuse this from elsewhere.

Signed-off-by: Joe Stringer <joe at ovn.org>
---
 lib/netdev.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/lib/netdev.c b/lib/netdev.c
index 765bf4b9ccad..eb7aef7376f1 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -2218,6 +2218,15 @@ netdev_ports_get(odp_port_t port_no, const void *obj)
     return ret;
 }
 
+static void
+netdev_port_data_destroy(struct port_to_netdev_data *data)
+{
+    dpif_port_destroy(&data->dpif_port);
+    netdev_close(data->netdev); /* unref and possibly close */
+    hmap_remove(&port_to_netdev, &data->node);
+    free(data);
+}
+
 int
 netdev_ports_remove(odp_port_t port_no, const void *obj)
 {
@@ -2229,10 +2238,7 @@ netdev_ports_remove(odp_port_t port_no, const void *obj)
     data = netdev_ports_lookup(port_no, obj);
 
     if (data) {
-        dpif_port_destroy(&data->dpif_port);
-        netdev_close(data->netdev); /* unref and possibly close */
-        hmap_remove(&port_to_netdev, &data->node);
-        free(data);
+        netdev_port_data_destroy(data);
         ret = 0;
     }
 
-- 
2.11.1



More information about the dev mailing list