Bug 1517107
| Summary: | [q35] guest NIC interface still exists after hotunplug virtio-net-pci device | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Yiqian Wei <yiwei> | ||||
| Component: | virtio-win | Assignee: | ybendito | ||||
| virtio-win sub component: | virtio-win-prewhql | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
| Status: | CLOSED ERRATA | Docs Contact: | |||||
| Severity: | low | ||||||
| Priority: | low | CC: | ailan, chayang, dkutalek, jinzhao, juzhang, kanderso, knoel, lijin, phou, virt-maint, ybendito, yiwei | ||||
| Version: | 8.0 | Flags: | pm-rhel:
mirror+
|
||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1721246 (view as bug list) | Environment: | |||||
| Last Closed: | 2019-07-30 14:22:06 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1721246, 1725380, 1744438 | ||||||
| Attachments: |
|
||||||
Hit the same issue on win2012-64 with q35+seabios. Hit the same issue on rhel7.6 host with q35+seabios. Guest os: Win2012-64 Used versions: kernel-3.10.0-931.el7.x86_64 qemu-kvm-rhev-2.12.0-10.el7.x86_64.rpm seabios-bin-1.10.2-3.el7_4.1.noarch virtio-win-prewhql-160 Thanks~ Peixiu Guest : win2016+q35+ovmf
NO hit this issue, guest behave properly.
1,boot script:
/usr/libexec/qemu-kvm -M q35 -cpu host,+kvm_pv_unhalt,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time -name NIC2016x86ovmfq -enable-kvm -m 3G -smp 4,cores=4 -uuid 51d906b0-8fe0-11e8-bb72-4437e64a454a -nodefconfig -nodefaults -rtc base=localtime,driftfix=slew -boot order=cd,menu=on -device piix3-usb-uhci,id=usb,bus=pcie.0 -drive file=os_ovmf2.raw,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,share-rw=on -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=isa_serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:1 -vga std \
-qmp tcp:0:4445,server,nowait -monitor stdio \
-device pcie-root-port,id=pcie.0-root-port-4,slot=4,chassis=4,addr=0x4,bus=pcie.0 \
-netdev tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0,vhost=on,queues=4 \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:01,mq=on,vectors=10,bus=pcie.0-root-port-4 \
-cdrom /home/kvm_autotest_root/iso/ISO/Win2016/en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso \
-drive file=/home/yhu/NIC2016x86ovmf2/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/home/yhu/NIC2016x86ovmf2/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \
-drive file=/home/kvm_autotest_root/iso/windows/virtio-win-1.9.6-1.el8.iso,format=raw,if=none,id=drive2,media=cdrom,readonly=off -device ide-drive,drive=drive2,bus=ide.1,unit=0,id=cdrom \
2,hotunplug qemu cml:
{ 'execute': 'device_del', 'arguments': {'id': 'net0' }}
{"return": {}}
{ 'execute': 'netdev_del', 'arguments': {'id': 'hostnet0' }}
{"return": {}}
{"timestamp": {"seconds": 1539853739, "microseconds": 415682}, "event": "DEVICE_DELETED", "data": {"path": "/machine/peripheral/net0/virtio-backend"}}
{"timestamp": {"seconds": 1539853739, "microseconds": 424251}, "event": "DEVICE_DELETED", "data": {"device": "net0", "path": "/machine/peripheral/net0"}}
3,actual result:
This [Network adapters->"Red Hat VirtIO EthernetAdapter"] disappears in device Manager. Red cross in the icon.
4,Packages info
virtio-win-1.9.6-1.el8.iso
qemu-kvm-2.12.0-26.el8+1648+9c120fe6.x86_64
kernel-4.18.0-2.el8.x86_64
seabios-bin-1.11.1-2.el8+1704+2153d97c.noarch
edk2-ovmf-20180508gitee3198e672e2-4.el8+1460+6c285d46.noarch
(In reply to huyu from comment #5) > Guest : win2016+q35+ovmf > > NO hit this issue, guest behave properly. > > 1,boot script: > /usr/libexec/qemu-kvm -M q35 -cpu > host,+kvm_pv_unhalt,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time -name > NIC2016x86ovmfq -enable-kvm -m 3G -smp 4,cores=4 -uuid > 51d906b0-8fe0-11e8-bb72-4437e64a454a -nodefconfig -nodefaults -rtc > base=localtime,driftfix=slew -boot order=cd,menu=on -device > piix3-usb-uhci,id=usb,bus=pcie.0 -drive > file=os_ovmf2.raw,if=none,id=drive-ide0-0-0,format=raw,serial=mike_cao, > cache=none -device > ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,share-rw=on > -chardev pty,id=charserial0 -device > isa-serial,chardev=charserial0,id=isa_serial0 -device usb-tablet,id=input0 > -vnc 0.0.0.0:1 -vga std \ > -qmp tcp:0:4445,server,nowait -monitor stdio \ > -device > pcie-root-port,id=pcie.0-root-port-4,slot=4,chassis=4,addr=0x4,bus=pcie.0 \ > -netdev > tap,script=/etc/qemu-ifup,downscript=no,id=hostnet0,vhost=on,queues=4 \ > -device > virtio-net-pci,netdev=hostnet0,id=net0,mac=00:52:3b:35:88:01,mq=on, > vectors=10,bus=pcie.0-root-port-4 \ > -cdrom > /home/kvm_autotest_root/iso/ISO/Win2016/ > en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso \ > -drive > file=/home/yhu/NIC2016x86ovmf2/OVMF_CODE.secboot.fd,if=pflash,format=raw, > unit=0,readonly=on -drive > file=/home/yhu/NIC2016x86ovmf2/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \ > -drive > file=/home/kvm_autotest_root/iso/windows/virtio-win-1.9.6-1.el8.iso, > format=raw,if=none,id=drive2,media=cdrom,readonly=off -device > ide-drive,drive=drive2,bus=ide.1,unit=0,id=cdrom \ > > > 2,hotunplug qemu cml: > { 'execute': 'device_del', 'arguments': {'id': 'net0' }} > {"return": {}} > { 'execute': 'netdev_del', 'arguments': {'id': 'hostnet0' }} > {"return": {}} > {"timestamp": {"seconds": 1539853739, "microseconds": 415682}, "event": > "DEVICE_DELETED", "data": {"path": > "/machine/peripheral/net0/virtio-backend"}} > {"timestamp": {"seconds": 1539853739, "microseconds": 424251}, "event": > "DEVICE_DELETED", "data": {"device": "net0", "path": > "/machine/peripheral/net0"}} > > 3,actual result: > > This [Network adapters->"Red Hat VirtIO EthernetAdapter"] disappears in > device Manager. Red cross in the icon. > > 4,Packages info > > virtio-win-1.9.6-1.el8.iso > > qemu-kvm-2.12.0-26.el8+1648+9c120fe6.x86_64 > > kernel-4.18.0-2.el8.x86_64 > > seabios-bin-1.11.1-2.el8+1704+2153d97c.noarch > edk2-ovmf-20180508gitee3198e672e2-4.el8+1460+6c285d46.noarch Can you please check with seabios as well (similar to comment #4)? The problem happens also on non-UEFI platform. hit the same issue on win2019-q35
package info
virtio-win-prewhql-162
kernel-4.18.0-48.el8.x86_64
qemu-kvm-3.1.0-0.module+el8+2266+616cf026
seabios-1.11.1-2.module+el8+2179+85112f94.src.rpm
(In reply to huyu from comment #9) > hit the same issue on win2019-q35 > > package info > > virtio-win-prewhql-162 > kernel-4.18.0-48.el8.x86_64 > qemu-kvm-3.1.0-0.module+el8+2266+616cf026 > seabios-1.11.1-2.module+el8+2179+85112f94.src.rpm I'm sorry for that #Comment9 is Wrong ! On rhel8, hotunplug works well. I made #comment9 due to that after hotunplug, This [Network adapters->"Red Hat VirtIO EthernetAdapter"] indeed still exists in the guest for a long time, and after rescan , it disappears, I misunderstood that it was a bug. However, when I did another case, hotunplug is one of the test steps, and the device disappears very quickly, I was in confusion. After confirmed with my mentor, it turns out that this is not a issue. So I would like to modify my #comment9. Fixed in build 167, please verify
Reproduce version:
host:
virtio-win-prewhql-0.1-160
qemu-kvm-rhev-2.12.0-18.el7.x86_64
kernel-3.10.0-957.el7.x86_64
seabios-1.11.0-2.el7.x86_64
guest:win10_64bit
Verify version:
host:
virtio-win-prewhql-0.1-168
qemu-kvm-rhev-2.12.0-18.el7.x86_64
kernel-3.10.0-957.el7.x86_64
seabios-1.11.0-2.el7.x86_64
guest:win10_64bit
After hot-unplug virtio-net-pci device,NIC interface disapears from guest.
Please verify this bug also with 167 (it is built from branch that is likely to be our next reference)
I can reproduce this bug with virtio-win-prewhql-0.1-167 on rhel7.6 host
host version:
virtio-win-prewhql-0.1-167
qemu-kvm-rhev-2.12.0-18.el7.x86_64
kernel-3.10.0-957.el7.x86_64
seabios-1.11.0-2.el7.x86_64
guest:q35 + seabios + win10
You're right, thank you. I see the build 167 does not include this commit. Let's wait for better build and then recheck it. Please check wjther build 169 solves the problem I cannot reproduce this bug with virtio-win-prewhql-0.1-169 on rhel7.6 host
Verify version:
virtio-win-prewhql-0.1-169
qemu-kvm-rhev-2.12.0-18.el7.x86_64
kernel-3.10.0-957.el7.x86_64
seabios-1.11.0-2.el7.x86_64
reproduce version:
virtio-win-prewhql-0.1-167
qemu-kvm-rhev-2.12.0-18.el7.x86_64
kernel-3.10.0-957.el7.x86_64
seabios-1.11.0-2.el7.x86_64
so,I think this bug fix on virtio-win-prewhql-0.1-169
The fix is in virtio-win driver, so I change the component to virtio-win. change status to verified according to comment#18 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2019:1997 Looking Created attachment 1755685 [details]
Batch to start netkvm logging
|
Description of problem: After hotunplug virtio-net device,guest nic still exist for win10.I need to reboot in guest,nic interface disapears. Version-Release number of selected component (if applicable): Host version: qemu-kvm-rhev-2.10.0-7.el7.x86_64 kernel-3.10.0-797.el7.x86_64 virtio-win-1.9.3-1.el7.noarch seabios-1.11.0-1.el7.x86_64 Guest:win10_64bit How reproducible: 100% Steps to Reproduce: 1.boot a win10 guest with cmd /usr/libexec/qemu-kvm \ -M q35,accel=kvm,kernel-irqchip=split \ -device intel-iommu,intremap=on \ -cpu SandyBridge,enforce \ -nodefaults -rtc base=utc \ -m 2G \ -smp 2,sockets=2,cores=1,threads=1 \ -enable-kvm \ -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \ -k en-us \ -nodefaults \ -serial unix:/tmp/serial0,server,nowait \ -global isa-debugcon.iobase=0x403 \ -boot menu=on \ -qmp tcp:0:6668,server,nowait \ -usb \ -device usb-tablet \ -vga qxl \ -global driver=cfi.pflash01,property=secure,value=on \ -drive file=/home/win10-64-virtio.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0 \ -device pcie-root-port,bus=pcie.0,id=root0,chassis=1,addr=0xa.0 \ -device virtio-net-pci,netdev=tap10,mac=9a:6a:6b:6c:6d:6e,bus=root0,id=net0 -netdev tap,id=tap10,vhost=on \ -device ahci,id=ahci1 \ -drive file=/usr/share/virtio-win/virtio-win-1.9.3.iso,if=none,id=drive-virtio-disk1,format=raw \ -device ide-cd,unit=0,drive=drive-virtio-disk1,id=virtio-disk1,bus=ahci1.0 \ -monitor stdio \ -vnc :9 \ 2.Hotunplug nic in qmp {"QMP": {"version": {"qemu": {"micro": 0, "minor": 10, "major": 2}, "package": "(qemu-kvm-rhev-2.10.0-7.el7)"}, "capabilities": []}} {"execute":"qmp_capabilities"} {"return": {}} {"timestamp": {"seconds": 1511508913, "microseconds": 839104}, "event": "NIC_RX_FILTER_CHANGED", "data": {"name": "net0", "path": "/machine/peripheral/net0/virtio-backend"}} {"execute":"device_del","arguments":{"id":"net0"}} {"return": {}} {"timestamp": {"seconds": 1511509084, "microseconds": 158659}, "event": "DEVICE_DELETED", "data": {"path": "/machine/peripheral/net0/virtio-backend"}} {"timestamp": {"seconds": 1511509084, "microseconds": 162214}, "event": "DEVICE_DELETED", "data": {"device": "net0", "path": "/machine/peripheral/net0"}} {"execute":"netdev_del","arguments":{"id":"tap10"}} {"return": {}} 3.After step 2,check NIC interface disapears from guest. Actual results: NIC interface still exist. Expected results: NIC interface disapears from guest. Additional info: 1)for e1000e nic,no hit this issue 2)for rhel guest,no hit this issue. 3)pc+seabios,no hit this issue. 4)q35+ovmf,hit this issue. 5)host info: Model name:Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz