The linkstate setting of an <interface> is only meant to change the online status reported to the guest system by the emulated network device driver in qemu, but when support for auto-creating tap devices for <interface type='ethernet'> was added in commit 9717d6, a chunk of code was also added to qemuDomainChangeNetLinkState() that sets the online status of the tap device (i.e. the *host* side of the interface) for type='ethernet'. This was never done for tap devices used in type='bridge' or type='network' interfaces, nor was it done in the past for tap devices created by external scripts for type='ethernet', so we shouldn't be doing it now. This patch removes the bit of code in qemuDomainChangeNetLinkState() that modifies online status of the tap device. --- src/qemu/qemu_hotplug.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 00e4a75..5300bc1 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2324,21 +2324,6 @@ int qemuDomainChangeNetLinkState(virQEMUDriverPtr driver, if (ret < 0) goto cleanup; - if (virDomainNetGetActualType(dev) == VIR_DOMAIN_NET_TYPE_ETHERNET) { - switch (linkstate) { - case VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP: - case VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DEFAULT: - if ((ret = virNetDevSetOnline(dev->ifname, true)) < 0) - goto cleanup; - break; - - case VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN: - if ((ret = virNetDevSetOnline(dev->ifname, false)) < 0) - goto cleanup; - break; - } - } - /* modify the device configuration */ dev->linkstate = linkstate; -- 2.7.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list