diff --git a/src/hypervisor/domain_interface.c b/src/hypervisor/domain_interface.c index cc6aa8551a..756abb08e9 100644 --- a/src/hypervisor/domain_interface.c +++ b/src/hypervisor/domain_interface.c @@ -434,11 +434,14 @@ virDomainInterfaceDeleteDevice(virDomainDef *def, } break; case VIR_DOMAIN_NET_TYPE_BRIDGE: - case VIR_DOMAIN_NET_TYPE_NETWORK: + case VIR_DOMAIN_NET_TYPE_NETWORK: { #ifdef VIR_NETDEV_TAP_REQUIRE_MANUAL_CLEANUP + const virNetDevVPortProfile *vport = virDomainNetGetActualVirtPortProfile(net); + if (!(vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH)) ignore_value(virNetDevTapDelete(net->ifname, net->backend.tap)); #endif + } break; case VIR_DOMAIN_NET_TYPE_USER: case VIR_DOMAIN_NET_TYPE_VHOSTUSER: