Description of problem: virtio-net Win8.1 i386 lost connection under netperf stress. Version-Release number of selected component (if applicable): qemu-kvm-rhev-2.1.2-16.el7.x86_64 virtio-net version string from devmgmt.msc : 62.71.104.9600 (should be from virtio-win-prewhql-96) kernel-3.10.0-215.el7.x86_64 How reproducible: only once, Steps to Reproduce: 1.install a base img with 8.1 32 bit ISO, and drivers, etc. then shut it down, and create new qcow2 imgs backing on it. namely vm1.qcow2, vm2.qcow2 2. boot vm1.qcow2 and start netserver.exe -> to be stressed, and lost connection later. get ip addr by 'ipconfig' boot vm2.qcow2 and echo "netperf -H $ip-of-vm1" > cmd.bat, and execute this cmd.bat in 10 cmd terminals, parallel. when netperf exits, re-launch it, till vm1 lost network. # ps aux | grep -i qemu qemu 6894 19.1 39.3 6839272 2762580 ? Sl 17:58 5:20 /usr/libexec/qemu-kvm -name win8.1 -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu Opteron_G5,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -m 4096 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 2474645f-07f8-44f1-aa67-32362f37b94e -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win8.1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/home/kvm_autotest_root/iso/windows/winutils.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/home/vm1.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:5a:1e:53,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=0.0.0.0,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=8,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -chardev spicevmc,id=charredir2,name=usbredir -device usb-redir,chardev=charredir2,id=redir2 -chardev spicevmc,id=charredir3,name=usbredir -device usb-redir,chardev=charredir3,id=redir3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on qemu 6994 15.1 44.9 6838200 3150896 ? Sl 17:59 4:10 /usr/libexec/qemu-kvm -name win8.1-client -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu Opteron_G5,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff -m 4096 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 476cc49b-0da3-4414-9b84-3d3b5b37eeaf -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win8.1-client.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/home/kvm_autotest_root/iso/windows/winutils.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/home/vm2.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=25 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:f5:37:80,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5901,addr=0.0.0.0,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=8,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -chardev spicevmc,id=charredir2,name=usbredir -device usb-redir,chardev=charredir2,id=redir2 -chardev spicevmc,id=charredir3,name=usbredir -device usb-redir,chardev=charredir3,id=redir3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on root 7834 0.0 0.0 112644 972 pts/1 S+ 18:26 0:00 grep --color=auto -i qemu 3. when vm1 network lost, stop netperf in vm2 Actual results: vm1 lost network. 1) could not either ping ip addr of vm1 from host, or vm2 2) could not either ping ip addr of host or vm2 from vm1(in cmd terminal of vm1) 3) and after vm2 stopping netperf for about 5min, vm1 has network access again. Expected results: both vm1 and vm2 and host network working. Additional info: switch: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.66.9.186 netmask 255.255.252.0 broadcast 10.66.11.255 inet6 fe80::215:17ff:feae:f0ba prefixlen 64 scopeid 0x20<link> ether 00:15:17:ae:f0:ba txqueuelen 0 (Ethernet) RX packets 21652462 bytes 1696281161 (1.5 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 50117116 bytes 154872047877 (144.2 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::fc54:ff:fe5a:1e53 prefixlen 64 scopeid 0x20<link> ether fe:54:00:5a:1e:53 txqueuelen 500 (Ethernet) RX packets 574097 bytes 31214609 (29.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 14548610 bytes 21968306392 (20.4 GiB) TX errors 0 dropped 1742 overruns 0 carrier 0 collisions 0 vnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::fc54:ff:fef5:3780 prefixlen 64 scopeid 0x20<link> ether fe:54:00:f5:37:80 txqueuelen 500 (Ethernet) RX packets 535402 bytes 21212922625 (19.7 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 602870 bytes 33986040 (32.4 MiB) TX errors 0 dropped 214 overruns 0 carrier 0 collisions 0 -------------------------- # ovs-vsctl list-ports switch enp1s0f0 vnet0 vnet1 ========================== # ethtool -i switch driver: openvswitch version: firmware-version: bus-info: supports-statistics: no supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no
(In reply to Xiaoqing Wei from comment #0) > 2) could not either ping ip addr of host or vm2 from vm1(in cmd terminal of > vm1) PS: ping addr of vm1 itself is fine, during that period. though there's not sign of problem of openvswitch or libvirt, I paste versions of tools I touched in this test: libvirt-daemon-kvm-1.2.8-9.el7.x86_64 libvirt-client-1.2.8-9.el7.x86_64 openvswitch-2.3.0-3.git20141107.el7.x86_64 # ovs-vsctl show b999e572-5626-4227-a784-bfe78b71b0a2 Bridge switch Port "vnet1" Interface "vnet1" Port "vnet0" Interface "vnet0" Port switch Interface switch type: internal Port "enp1s0f0" Interface "enp1s0f0" ovs_version: "2.3.0-git39ebb203" and paste the VM definitions here: #cat win8.1.xml <domain type='kvm' id='11'> <name>win8.1</name> <uuid>2474645f-07f8-44f1-aa67-32362f37b94e</uuid> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-rhel7.1.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <pae/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='custom' match='exact'> <model fallback='allow'>Opteron_G5</model> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> <timer name='hypervclock' present='yes'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/home/kvm_autotest_root/iso/windows/winutils.iso'> <seclabel model='selinux' labelskip='yes'/> </source> <backingStore/> <target dev='hda' bus='ide'/> <readonly/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/home/vm1.qcow2'/> <backingStore type='file' index='1'> <format type='raw'/> <source file='/home/kvm_autotest_root/images/win8-32.1-virtio.qcow2'/> <backingStore/> </backingStore> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb0'/> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <alias name='usb0'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb0'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='ide' index='0'> <alias name='ide0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:5a:1e:53'/> <source bridge='switch'/> <virtualport type='openvswitch'> <parameters interfaceid='85e9685e-1c0a-4054-b625-8aa1396755b0'/> </virtualport> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/0'> <source path='/dev/pts/0'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0' state='disconnected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='spice' port='5900' autoport='yes' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> <sound model='ich6'> <alias name='sound0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </sound> <video> <model type='qxl' ram='65536' vram='65536' vgamem='8192' heads='1'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <redirdev bus='usb' type='spicevmc'> <alias name='redir0'/> </redirdev> <redirdev bus='usb' type='spicevmc'> <alias name='redir1'/> </redirdev> <redirdev bus='usb' type='spicevmc'> <alias name='redir2'/> </redirdev> <redirdev bus='usb' type='spicevmc'> <alias name='redir3'/> </redirdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </memballoon> </devices> <seclabel type='dynamic' model='selinux' relabel='yes'> <label>system_u:system_r:svirt_t:s0:c789,c958</label> <imagelabel>system_u:object_r:svirt_image_t:s0:c789,c958</imagelabel> </seclabel> </domain> VM1(the one as netserver) and VM2(the one running multiple netperf) are having identical hw cfg(except mac and img path, of course.) # diff win8.1.xml win8.1-client.xml 1,3c1,3 < <domain type='kvm' id='11'> < <name>win8.1</name> < <uuid>2474645f-07f8-44f1-aa67-32362f37b94e</uuid> --- > <domain type='kvm' id='12'> > <name>win8.1-client</name> > <uuid>476cc49b-0da3-4414-9b84-3d3b5b37eeaf</uuid> 55c55 < <source file='/home/vm1.qcow2'/> --- > <source file='/home/vm2.qcow2'/> 96c96 < <mac address='52:54:00:5a:1e:53'/> --- > <mac address='52:54:00:f5:37:80'/> 101c101 < <target dev='vnet0'/> --- > <target dev='vnet1'/> 107c107 < <source path='/dev/pts/0'/> --- > <source path='/dev/pts/3'/> 111,112c111,112 < <console type='pty' tty='/dev/pts/0'> < <source path='/dev/pts/0'/> --- > <console type='pty' tty='/dev/pts/3'> > <source path='/dev/pts/3'/> 126c126 < <graphics type='spice' port='5900' autoport='yes' listen='0.0.0.0'> --- > <graphics type='spice' port='5901' autoport='yes' listen='0.0.0.0'> 156,157c156,157 < <label>system_u:system_r:svirt_t:s0:c789,c958</label> < <imagelabel>system_u:object_r:svirt_image_t:s0:c789,c958</imagelabel> --- > <label>system_u:system_r:svirt_t:s0:c106,c248</label> > <imagelabel>system_u:object_r:svirt_image_t:s0:c106,c248</imagelabel>
*** This bug has been marked as a duplicate of bug 1173323 ***