<div dir="ltr">Hey Ryan,<div><br></div><div>Glad to see this workaround,</div><div><br></div><div>To my understanding, we only remove/free netdev when the iface is removed</div><div>by main thread.  So, I think this would work.</div>

<div><br></div><div style>I&#39;ll wait for Ben&#39;s review.</div><div class="gmail_extra"><br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 void netdev_parse_name(const char *netdev_name, char **name, char **type);<br>
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c<br>
index 43c109c..7189340 100644<br>
--- a/vswitchd/bridge.c<br>
+++ b/vswitchd/bridge.c<br>
@@ -3471,7 +3471,7 @@ iface_destroy__(struct iface *iface)<br>
         list_remove(&amp;iface-&gt;port_elem);<br>
         hmap_remove(&amp;br-&gt;iface_by_name, &amp;iface-&gt;name_node);<br>
<br>
-        netdev_close(iface-&gt;netdev);<br>
+        netdev_remove(iface-&gt;netdev);<br>
<br></blockquote><div><br></div><div><br></div><div style>Maybe a reminder comment here about why we need to call netdev_remove().</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


         free(iface-&gt;name);<br>
         free(iface);<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.9.5<br>
<br>
_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@openvswitch.org">dev@openvswitch.org</a><br>
<a href="http://openvswitch.org/mailman/listinfo/dev" target="_blank">http://openvswitch.org/mailman/listinfo/dev</a><br>
</font></span></blockquote></div><br></div></div>