From: Matthew Rosato Date: Mon, 1 Jul 2013 15:04:57 +0000 (+0200) Subject: qemu: add macvlan delete to qemuDomainAttachNetDevice cleanup X-Git-Tag: CVE-2013-4154~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97f97a49075b0d86f3bef8f18aa2b01a2f55707b;p=thirdparty%2Flibvirt.git qemu: add macvlan delete to qemuDomainAttachNetDevice cleanup If an error occurs during qemuDomainAttachNetDevice after the macvtap was created in qemuPhysIfaceConnect, the macvtap device gets left behind. This patch adds code to the cleanup routine to delete the macvtap. Signed-off-by: Matthew Rosato Reviewed-by: Viktor Mihajlovski --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 1925fe4d1a..ac9350b0cf 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -947,6 +947,16 @@ cleanup: if (iface_connected) { virDomainConfNWFilterTeardown(net); + if (virDomainNetGetActualType(net) == VIR_DOMAIN_NET_TYPE_DIRECT) { + ignore_value(virNetDevMacVLanDeleteWithVPortProfile( + net->ifname, &net->mac, + virDomainNetGetActualDirectDev(net), + virDomainNetGetActualDirectMode(net), + virDomainNetGetActualVirtPortProfile(net), + cfg->stateDir)); + VIR_FREE(net->ifname); + } + vport = virDomainNetGetActualVirtPortProfile(net); if (vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH) ignore_value(virNetDevOpenvswitchRemovePort(