1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-01-12 13:17:58 +03:00

macvtap: libvirtd forgot macvtap dev name when restarted

During a shutdown/restart cycle libvirtd forgot the macvtap device name that it had created on behalf of a VM so that a stale macvtap device remained on the host when the VM terminated. Libvirtd has to actively tear down a macvtap device and it uses its name for identifying which device to tear down.

The solution is to not blank out the <target dev='...'/> completely, but only blank it out on VMs that are not active. So, if a VM is active, the device name makes it into the XML and is also being parsed. If a VM is not active, the device name is discarded.
This commit is contained in:
Stefan Berger 2010-11-03 07:26:29 -04:00
parent d9c75c8d37
commit c4bd44d927

View File

@ -2343,7 +2343,8 @@ virDomainNetDefParseXML(virCapsPtr caps,
def->data.direct.linkdev = dev;
dev = NULL;
VIR_FREE(ifname);
if ((flags & VIR_DOMAIN_XML_INACTIVE))
VIR_FREE(ifname);
break;