From: Jan Wickbom <jan.wick...@ericsson.com>

Issue:

Vhost user socket addresses left in /var/run/openvswitch.
This will lead to failure to add vhost user ports with names that
already exist in this directory.

When there is a failure to add a vhost user socket file descriptor to
the file descriptor set using fdset_add() in
rte_vhost_driver_register() the address bound to the socket is not
released.

Solution:
Add unlink of the file path corresponding to the socket address.

Signed-off-by: Jan Wickbom <jan.wick...@ericsson.com>
Signed-off-by: Gellert Babel <gellert.ba...@ericsson.com>
---
 lib/librte_vhost/socket.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index 41aa3f9..eb9dae2 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -352,6 +352,7 @@ struct vhost_user {
 
 err:
        close(fd);
+       unlink(path);
        return -1;
 }
 
-- 
1.9.1

Reply via email to