[libvirt] [PATCH 3/4] virsh: Deal with multiple matching devices in domif-getlink

Michal Privoznik mprivozn at redhat.com
Thu Oct 5 14:18:29 UTC 2017


The command tries to match interface in domain definition by MAC
address or interface name. However, since it's possible to
configure two interfaces with the same MAC address, it may
happen that the XPath returns two or more nodes. We should check
for that.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 tools/virsh-domain-monitor.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index 0ca53e438..4c50155e1 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -707,13 +707,16 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
         goto cleanup;
     }
 
-    if (ninterfaces != 1) {
+    if (ninterfaces < 1) {
         if (macstr[0])
             vshError(ctl, _("Interface (mac: %s) not found."), macstr);
         else
             vshError(ctl, _("Interface (dev: %s) not found."), iface);
 
         goto cleanup;
+    } else if (ninterfaces > 1) {
+        vshError(ctl, _("multiple matching interfaces found"));
+        goto cleanup;
     }
 
     ctxt->node = interfaces[0];
-- 
2.13.6




More information about the libvir-list mailing list