When looking up a net device by a MAC and PCI address, it is possible
that we've got a match on the MAC address but failed to match the
PCI address.
In that case, outputting just the MAC address can be confusing.
Partially resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=872028
---
src/conf/domain_conf.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 1624c7e..35defaf 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -10456,9 +10456,20 @@ virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net)
}
}
if (matchidx < 0) {
- virReportError(VIR_ERR_OPERATION_FAILED,
- _("no device matching mac address %s found"),
- virMacAddrFormat(&net->mac, mac));
+ if (PCIAddrSpecified) {
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("no device matching mac address %s found on "
+ "%.4x:%.2x:%.2x.%.1x"),
+ virMacAddrFormat(&net->mac, mac),
+ net->info.addr.pci.domain,
+ net->info.addr.pci.bus,
+ net->info.addr.pci.slot,
+ net->info.addr.pci.function);
+ } else {
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("no device matching mac address %s found"),
+ virMacAddrFormat(&net->mac, mac));
+ }
}
return matchidx;
}
--
1.8.3.2