This patch resolves: https://bugzilla.redhat.com/show_bug.cgi?id=827519
The problem is that an interface with type='hostdev' will have an alias of the form "hostdev%d", while the function that looks through existing netdevs to determine the name to use for a new addition will fail if there's an existing entry that does not match the form "net%d". This is another of the handful of places that need an exception due to the hybrid nature of <interface type='hostdev'> (which is not exactly an <interface> or a <hostdev>, but is both at the same time). --- src/qemu/qemu_command.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9f99dce..1a240fb 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -548,6 +548,11 @@ qemuAssignDeviceNetAlias(virDomainDefPtr def, virDomainNetDefPtr net, int idx) idx = 0; for (i = 0 ; i < def->nnets ; i++) { int thisidx; + + if (def->nets[i]->type == VIR_DOMAIN_NET_TYPE_HOSTDEV) { + /* type='hostdev' interfaces have a hostdev%d alias */ + continue; + } if ((thisidx = qemuDomainDeviceAliasIndex(&def->nets[i]->info, "net")) < 0) { qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to determine device index for network device")); -- 1.7.10.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list