On Mon, Feb 01, 2016 at 10:24:29AM +0300, Ilya Maximets wrote:
> On 29.01.2016 22:02, Guru Shetty wrote:
> > This reverts commit 9b5422a98f817b9f2a1f8224cab7e1a8d0bbba1f.
> > 
> > Reason:
> > Calling 'ovs-appctl exit' on ovs-vswitchd will cause ovs-vswitchd
> > to destroy all the ports from the datapath. This is an unacceptable
> > behavior while restarting the daemons.
> 
> Killing is more unacceptable here, because ovs with vhost-user port will
> not be able to open this port anymore.

I think that this patch fixes that problem:

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 09ccc2c..e7e46eb 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -683,6 +683,10 @@ netdev_dpdk_vhost_user_construct(struct netdev *netdev_)
      */
     snprintf(netdev->vhost_id, sizeof(netdev->vhost_id), "%s/%s",
             vhost_sock_dir, netdev_->name);
+    if (unlink(netdev->vhost_id) && errno != ENOENT) {
+        VLOG_WARN("unlinking \"%s\": %s",
+                  netdev->vhost_id, ovs_strerror(errno));
+    }
     err = rte_vhost_driver_register(netdev->vhost_id);
     if (err) {
         VLOG_ERR("vhost-user socket device setup failure for socket %s\n",

It's pretty much necessary anyway.  If you build your software so that
killing it with a signal breaks it until manual intervention or reboot,
then the software is too brittle to use in real production environments.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to