1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-01-10 05:17:59 +03:00

virsh: Deal with multiple matching devices in domif-getlink

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@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
Michal Privoznik 2017-10-04 17:39:59 +02:00
parent 0d3d020ba6
commit 7a995c6b78

View File

@ -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];