Bug 950424 - [NetKVM] Verify indirect buffers support on the host for RX
Summary: [NetKVM] Verify indirect buffers support on the host for RX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virtio-win
Version: 6.5
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Dmitry Fleytman
QA Contact: Virtualization Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2013-04-10 08:43 UTC by Yan Vugenfirer
Modified: 2013-12-06 07:30 UTC (History)
12 users (show)

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):
Clone Of:
Last Closed: 2013-11-22 00:07:22 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1729 normal SHIPPED_LIVE virtio-win bug fix and enhancement update 2013-11-21 00:39:25 UTC

Description Yan Vugenfirer 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:
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.


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

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 ?

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.


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.


Note You need to log in before you can comment on or make changes to this bug.