Bug 950424

Summary: [NetKVM] Verify indirect buffers support on the host for RX
Product: Red Hat Enterprise Linux 6 Reporter: Yvugenfi <yvugenfi>
Component: virtio-winAssignee: Dmitry Fleytman <dfleytma>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.5CC: acathrow, bcao, bsarathy, dfleytma, juzhang, lijin, lnovich, mdeng, michen, qzhang, virt-bugs, yvugenfi
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Feature: Use virtio indirect buffers feature in guest driver. Reason: Enhanced virtio capability to transfer fragmented network traffic. Result (if any):
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-22 00:07:22 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:

Description Yvugenfi@redhat.com 2013-04-10 08:43:04 UTC
Description of problem:
RSC (GRO) feature in Windows guest driver started to use indirect buffers for RX as well.

Driver should verify host support for indirect buffers before using this feature.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 4 Mike Cao 2013-05-30 05:15:54 UTC
Yan, Could you provide way to reproduce/verify it ?

Comment 6 Dmitry Fleytman 2013-06-18 11:04:14 UTC
Hi Mike,

What you need is to run NetKVM driver on old QEMU without "indirect buffers" feature support. Before this fix driver will not work or will even crash, at least there will be no RX packets. With this fix everything should work smoothly.

Yan, please help us with exact QEMU version number indirect buffers were introduced at.

Thanks,
Dmitry

Comment 10 Mike Cao 2013-06-28 09:50:24 UTC
failed to reproduce it on virtio-win-prwehql-49

steps 
1.Start VM w/ virtio-net-pci with indirect_desc=off
CLI: /usr/libexec/qemu-kvm -m 2G -smp 2 -usb -device usb-tablet,id=tablet0 -drive file=/home/win7-64-virtio.qcow2,if=none,id=drive-virtio0-0-0,format=qcow2,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-virtio0-0-0,id=virti0-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,indirect_desc=off,netdev=hostnet0,id=net0,mac=00:12:10:94:a3:f8 -uuid 8677bf9b-3cf6-47a1-b3e9-94213b801c87 -monitor stdio -vnc :7 -device virtio-serial-pci,id=virtio-serial0,max_ports=16 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm1,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm2,bus=virtio-serial0.0,id=port2 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0
2.Copy File From Host to Guest 

Actual Results:
Guest Could receive data successfully


Dima ,Could you view my steps above ?Could you give me some other suggestions ?
Thanks,

Comment 11 Mike Cao 2013-07-31 07:09:43 UTC
According to Amos
-device virtio-net-pci,indirect_desc=off is to disable indirect buffers

Comment 12 Dmitry Fleytman 2013-08-04 09:38:58 UTC
Hello Mike,

The problem is the same as in BZ957507 - this command line option doesn't disable indirect buffers feature but hides it. Since old driver doesn't verify feature presence it uses it successfully.

Regards,
Dmitry

Comment 13 Mike Cao 2013-08-07 09:23:04 UTC
QE run netkvm functional test ,did not find any issue on disable\enable load\unload 

Based on above ,this issue has been fixed ald .Move status to VERIFIED.

Comment 15 errata-xmlrpc 2013-11-22 00:07:22 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-1729.html