Bug 908396

Summary: Patch "e1000: no need auto-negotiation if link was down" may break e1000 guest
Product: Red Hat Enterprise Linux 6 Reporter: Jiri Pallich <jpallich>
Component: qemu-kvmAssignee: jason wang <jasowang>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.4CC: acathrow, akong, areis, bsarathy, dyasny, jasowang, juzhang, michen, minovotn, mkenneth, mst, pm-eus, qzhang, rhod, shuang, tlavigne, virt-maint, xfu
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.355.el6_4.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 11:05:02 UTC Type: ---
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: 907397    
Bug Blocks:    

Description Jiri Pallich 2013-02-06 15:31:51 UTC
This bug has been copied from bug #907397 and has been proposed
to be backported to 6.4 z-stream (EUS).

Comment 6 Miya Chen 2013-02-06 16:24:10 UTC
Hi Jiri, since this bug fix needs to be in both qemu-kvm and qemu-kvm-rhev and we need 2 0-day erratas, could you please do another z stream bug clone for the rhev version? Thanks.

Comment 11 juzhang 2013-02-07 06:35:32 UTC
KVM QE tested win7sp1-64 and rhel6.4-64 guests by using qemu-kvm-0.12.1.2-2.355.el6_4.1 and qemu-kvm-rhev-0.12.1.2-2.355.el6_4.1, both guest work well, guest does not lose ip any longer.

Scenario1

1. Boot guest with e1000 driver
#/usr/libexec/qemu-kvm -M rhel6.4.0 -cpu SandyBridge,+sep -enable-kvm -m 2048 -smp 4,sockets=2,cores=2,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name test-sluo -uuid bef435d2-6d6d-4faf-9936-bc02ac89082a -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -drive file=/root/new-image/rhel6.4-new.qcow2,if=none,id=system-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop,serial=QEMU-DISK1 -device virtio-blk-pci,bus=pci.0,addr=0x4,scsi=off,drive=system-virtio-disk,id=system-disk,bootindex=1 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x5 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,id=e100-1,mac=2C:41:38:B6:40:66,bus=pci.0,addr=0x6,bootindex=2 -k en-us -boot menu=on -vnc :1 -monitor unix:/tmp/monitor1,server,nowait -monitor stdio

2. Repeatedly resets by using system_rest guest with random timing by script
#cat reboot.sh 
i=1
while [ $i -lt 900000 ]
do
echo "system_reset"|nc -U /tmp/monitor1
i=$(($i+1))
number=$(($RANDOM%60+15))
echo $number
sleep $number
done


Result:
Guest does not lost ip any longer.

Scenario 2
1. Boot guest with e1000 driver
#/usr/libexec/qemu-kvm -M rhel6.4.0 -cpu SandyBridge,+sep -enable-kvm -m 2048 -smp 4,sockets=2,cores=2,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name test-sluo -uuid bef435d2-6d6d-4faf-9936-bc02ac89082a -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -drive file=/root/new-image/rhel6.4-new.qcow2,if=none,id=system-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop,serial=QEMU-DISK1 -device virtio-blk-pci,bus=pci.0,addr=0x4,scsi=off,drive=system-virtio-disk,id=system-disk,bootindex=1 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x5 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,id=e100-1,mac=2C:41:38:B6:40:66,bus=pci.0,addr=0x6,bootindex=2 -k en-us -boot menu=on -vnc :1 -monitor unix:/tmp/monitor1,server,nowait -monitor stdio

2. reboot guest
#reboot

Result:
Guest does not lost ip any longer.

Comment 13 juzhang 2013-02-07 08:02:27 UTC
Hi, Jiri

Would you please review comment9 and comment10?

Comment 16 errata-xmlrpc 2013-02-21 11:05:02 UTC
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.

http://rhn.redhat.com/errata/RHBA-2013-0539.html