[PATCH v3 4/4] domain_conf: autodetect vhostuser ifname

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Mehdi Abaakouk <sileht@xxxxxxxxxx>

This change puts the socket filename as ifname for vhostuser netwok
interface.

The filename is the name of the openvswitch interface, this allows the
qemuDomainInterfaceStats to work out of the box without having to
manually set the ifname.
---
 src/conf/domain_conf.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6e008e2..0f91ab3 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -9098,6 +9098,8 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
     virDomainActualNetDefPtr actual = NULL;
     xmlNodePtr oldnode = ctxt->node;
     int ret, val;
+    char **tokens = NULL;
+    size_t ntokens = 0;
 
     if (VIR_ALLOC(def) < 0)
         return NULL;
@@ -9394,6 +9396,13 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
 
         def->data.vhostuser->type = VIR_DOMAIN_CHR_TYPE_UNIX;
         def->data.vhostuser->data.nix.path = vhostuser_path;
+
+        if (!ifname && (tokens = virStringSplitCount(vhostuser_path, "/", 0,
+                                                     &ntokens))) {
+            if (VIR_STRDUP(ifname, tokens[ntokens-1]) < 0)
+                goto error;
+        }
+
         vhostuser_path = NULL;
 
         if (STREQ(vhostuser_mode, "server")) {
@@ -9842,6 +9851,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
     VIR_FREE(localaddr);
     VIR_FREE(localport);
     virNWFilterHashTableFree(filterparams);
+    virStringFreeListCount(tokens, ntokens);
 
     return def;
 
-- 
2.10.2

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux