Bug 1121338

Summary: [WHQL][netkvm]NDISTest 6.5 - 2 Machine - OffloadChecksum failed via bridge on hck
Product: Red Hat Enterprise Linux 7 Reporter: David Yang <david.yangxiaoliang>
Component: virtio-winAssignee: Yvugenfi <yvugenfi>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: ailan, david.yangxiaoliang, jen, knoel, lijin, michen, rbalakri, rpacheco, virt-bugs, virt-maint, vrozenfe, yvugenfi
Target Milestone: alphaKeywords: Reopened
Target Release: 7.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
NO_DOCS
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-24 08:42:45 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 David Yang 2014-07-19 12:43:25 UTC
Description of problem:
NDISTest 6.5 - 2 Machine - OffloadChecksum failed via bridge on hck

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

How reproducible:
failed everytime

vm configuration
test-machine
/usr/bin/qemu-kvm -name test_machine -S -machine pc-i440fx-1.5,accel=kvm,usb=off -m 8192 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -uuid 7a974776-6aa8-40fd-825a-793302dfb4b2 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/test_machine.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,clock=vm,driftfix=slew -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/sdb1/imagestore/windows/test_win2008_r2_dc_sp1_64_2U_vhd,if=none,id=drive-ide0-0-0,format=raw,cache=none,aio=native -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/dev/null,if=none,id=drive-ide0-0-1,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=27 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:2e:d4:10,bus=pci.0,addr=0x3 -netdev tap,fd=28,id=hostnet1 -device rtl8139,netdev=hostnet1,id=net1,mac=fa:16:3e:2e:d4:11,bus=pci.0,addr=0x4 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:1 -device cirrus-vga,id=video0,vgamem_mb=8,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

support-machine

/usr/bin/qemu-kvm -name support_machine -S -machine pc-i440fx-1.5,accel=kvm,usb=off -m 8192 -realtime mlock=off -smp 4,sockets=1,cores=4,threads=1 -uuid 2adc2967-3041-4715-9c68-8198d5427c51 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/support_machine.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,clock=vm,driftfix=slew -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/sdb1/imagestore/windows/support_win2008_r2_dc_sp1_64_2U_vhd,if=none,id=drive-ide0-0-0,format=raw,cache=none,aio=native -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/dev/null,if=none,id=drive-ide0-0-1,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:2e:d4:00,bus=pci.0,addr=0x3 -netdev tap,fd=29,id=hostnet1 -device rtl8139,netdev=hostnet1,id=net1,mac=fa:16:3e:2e:d4:01,bus=pci.0,addr=0x4 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 0.0.0.0:2 -device cirrus-vga,id=video0,vgamem_mb=8,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

Steps to Reproduce:
1.boot up guest
2.select the hck case
3.observer result

Actual results:
The job failed,failed on Win7 and Win2k8-R2 guests.

Expected results:

The job pass without any issues.

Additional info:

Checksum offload - Test ip receive checksum offload ( Ipv4 header checksum recv offload: On/Ipv4 Option: Off). Packet count: 30; Packet header size: 34; Packet total size 55 
CommunicationHelper::StartReceive 
- Name: TestDeviceSimpleCommHelper
- Type: SimpleCommunicationHelper
- Traffic Manager Type: NDT_SIMPLE_TRAFFIC_MGR
- Receive Process Mech: NDT_PROCESS_RECEIVE_AT_PASSIVE
- Configured NetBufferModuleStack:
- [1] NDT_STRESS_PAYLOAD_MODULE
- [2] NDT_IPV4_HEADER_MODULE
- [3] NDT_ETHERNET_MEDIA_HEADER_MODULE
- STATUS: NDIS_STATUS_SUCCESS

CommunicationHelper::StartSend 
- Name: SuppDeviceSimpleCommHelper
- Type: SimpleCommunicationHelper
- Traffic Manager Type: NDT_SIMPLE_TRAFFIC_MGR
- Send Mechanism: NDT_SEND_AT_PASSIVE
- Send Complete Mech: NDT_VERIFY_SEND_COMPLETE_AT_PASSIVE
- NDIS Send Flags: 0
- Send Latency (ms): 0
- Preallocated NBL Count: 1
- Configured NetBufferModuleStack:
- [1] NDT_STRESS_PAYLOAD_MODULE
- [2] NDT_IPV4_HEADER_MODULE
- [3] NDT_ETHERNET_MEDIA_HEADER_MODULE
- STATUS: NDIS_STATUS_SUCCESS

EndPoint::WaitForSendsToComplete 
- Name: SuppDeviceSimpleCommHelper_EndPoint
- Timeout (ms): 300000 
EndPoint::StopReceive 
- Name: TestDeviceSimpleCommHelper_EndPoint
- Timeout (ms): 5000 
EndPoint::GetSendResults 
- Name: SuppDeviceSimpleCommHelper_EndPoint 
EndPoint::GetReceiveResults 
- Name: TestDeviceSimpleCommHelper_EndPoint 
EndPoint::GetSendResults 
- Name: SuppDeviceSimpleCommHelper_EndPoint 


Failed Ip moudle expects to get 30 packets, but accepted 0Ip module expects the miniport to indicate 30 packets with bogus checksum, but instead gets 0. 


 Fail 
Repro:   C:\WLK\JobsWorkingDir\Tasks\WTTJobRun6654B305-6B90-4A01-A5E9-5BADB0AA9A8A\ndistest.net\ndistest.exe /logo /auto /client /target:Miniport /tc:PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&13C0B0C5&0&18 /support:{6AAA05AB-4518-4D80-8913-B534B14FE7EA} /msg:{EE9D78C0-705A-4A70-8CCF-B8A1C71A2A60} /jobs:lan\OffloadChecksum.cpp

Comment 2 Mike Cao 2014-07-21 02:47:16 UTC
I can not reproduce this issue on virtio-win-prewhql-80(the rhel6.5.z released one ) & virtio-win-prewhql-87

Pls retest it with RHEL qemu-kvm version , Thanks,

Mike

Comment 3 Yvugenfi@redhat.com 2014-09-16 11:54:13 UTC
Can you verify the bridge settings during HCK?

Good settings are:
sysctl -a | grep bridge
net.bridge.bridge-nf-call-arptables = 0 
net.bridge.bridge-nf-call-iptables = 0 
net.bridge.bridge-nf-call-ip6tables = 0

Batch change:
cat >> /etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
EOF
sysctl -p /etc/sysctl.conf

Comment 5 David Yang 2014-09-18 09:22:55 UTC
(In reply to Yan Vugenfirer from comment #3)
> Can you verify the bridge settings during HCK?
> 
> Good settings are:
> sysctl -a | grep bridge
> net.bridge.bridge-nf-call-arptables = 0 
> net.bridge.bridge-nf-call-iptables = 0 
> net.bridge.bridge-nf-call-ip6tables = 0
> 
> Batch change:
> cat >> /etc/sysctl.conf <<EOF
> net.bridge.bridge-nf-call-ip6tables = 0
> net.bridge.bridge-nf-call-iptables = 0
> net.bridge.bridge-nf-call-arptables = 0
> EOF
> sysctl -p /etc/sysctl.conf

Good bridge settings still failed in my test.

Comment 6 Ronen Hod 2014-09-23 15:00:11 UTC
If I am not wrong, then this is a HCK specific issue and not a functionality bug.
The Windows HCK test expects Windows to receive the deliberately corrupted packets, and the host (bridge) discards them somewhere on the way.
If nobody sees it differently, then let's close this bug.

Comment 8 Yossi Hindin 2015-01-15 10:03:34 UTC
Please, test this bug usinh build virtio-win-prewhql-0.1-100

Comment 9 lijin 2015-02-03 07:29:59 UTC
test with virtio-win-prewhql-100,all guest passed the job "NDISTest 6.5 - [2 Machine] - OffloadChecksum"

package info:
    virtio-win-prewhql-0.1-100
    qemu-kvm-rhev-2.1.2-20.el7.x86_64
    kernel-3.10.0-223.el7.x86_64
    seabios-1.7.5-7.el7.x86_64
    spice-server-0.12.4-9.el7.x86_64

Comment 10 Mike Cao 2015-02-03 07:33:01 UTC
Move status to Verified according to comment#9,
Pls grant devel_ack.

Comment 11 Mike Cao 2015-02-03 07:33:20 UTC
Move status to Verified according to comment#9,
Pls grant devel_ack.

Comment 13 Jeff Nelson 2015-07-24 15:45:27 UTC
According to comment 9, this was fixed in virtio-win-prewhql-0.1-100. We shipped that in virtio-win-1.7.3-1.el7 which went out with RHEL-7.1, therefore I am closing this BZ. Please reopen if you disagree.

Comment 14 Jeff Nelson 2015-07-24 21:52:06 UTC
My mistake; this has not shipped yet. Putting back into ON_QA, since I can't set it to VERIFIED.

Comment 16 lijin 2015-07-27 02:14:57 UTC
change status to verified according to comment#9 and comment#14

Comment 18 errata-xmlrpc 2015-11-24 08:42:45 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.

https://rhn.redhat.com/errata/RHBA-2015-2513.html