Bug 657540 - xenpv-win net driver can not do tcp with other guests on the same hyperhost.
Summary: xenpv-win net driver can not do tcp with other guests on the same hyperhost.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xenpv-win
Version: 5.5
Hardware: x86_64
OS: Windows
low
medium
Target Milestone: rc
: ---
Assignee: Paolo Bonzini
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 731293 (view as bug list)
Depends On:
Blocks: 518405
TreeView+ depends on / blocked
 
Reported: 2010-11-26 12:13 UTC by Kirby Zhou
Modified: 2012-02-21 05:35 UTC (History)
9 users (show)

Fixed In Version: xenpv-win-1.3.11-1.el5
Doc Type: Bug Fix
Doc Text:
Cause - Different requirements imposed by Linux and Windows on the implementation of checksum offloading. Consequence - A Windows machine running with paravirtualized drivers will not be able to communicate with other guests running on the same host. Fix - Checksum offloading has been disabled in this release of the drivers. Result - Communication between Windows guests running on the same host will work correctly.
Clone Of:
Environment:
Last Closed: 2012-02-21 05:35:10 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0195 0 normal SHIPPED_LIVE xenpv-win bug fix update 2012-02-20 14:54:11 UTC

Description Kirby Zhou 2010-11-26 12:13:04 UTC
Description of problem:

xenpv-win net driver can not do tcp with other guests on the same hyperhost.

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

xenpv-win-1.2.0-1

How reproducible:

100%

Steps to Reproduce:
1. Install a Windows 7 (x86 or x64 as your wish)
2. Install the xenpv-win inside guest
3. reboot and reboot
4. telnet otherguest 22,  (otherguest is linux xen domu on the same hyperhost)
  
Actual results:

connection established, but no welcome message of openssh display.

Expected results:

welcome message such as 'SSH-2.0-OpenSSH_4.3' shows.

Additional info:

Comment 1 Kirby Zhou 2010-11-26 12:16:05 UTC
BTW: 
1. I can not do tcp with the hypervisor host.
2. I can do tcp with other hosts inside the Windows guest.

Comment 2 Tamas Vincze 2011-04-03 16:11:22 UTC
Same here with xenpv-win-1.3.1-1.el5
XP Home SP3 guest cannot access apache running on a centos guest under the same hypervisor. Tried with IE8 and Wget.
All guests are connected to br0, no firewall.
Other hosts on the LAN/internet work fine.

Comment 3 Paolo Bonzini 2011-04-06 09:25:02 UTC
There is a workaround.  Add a DWORD value NetworkNoChecksumOffload and set it to 1 under HKLM\SYSTEM\CurrentControlSet\Services\rhelscsi.

Comment 4 Tamas Vincze 2011-04-06 14:32:26 UTC
The workaround worked, thanks!

Comment 6 Pengzhen Cao 2011-07-05 09:59:47 UTC
(In reply to comment #3)
> There is a workaround.  Add a DWORD value NetworkNoChecksumOffload and set it
> to 1 under HKLM\SYSTEM\CurrentControlSet\Services\rhelscsi.

Paolo, 
Do you think this bug is duplicate of bug 617435?

Regards,
Pengzhen

Comment 7 Paolo Bonzini 2011-07-05 11:03:44 UTC
No, that one was about guest->host and host->guest communication and affected all Windows versions.  This is only for Windows 2003 and XP.  These versions require the TCP and/or UDP (do not remember the details, sorry) checksums to be correct when offloading is on, while Xen leaves them blank.

Comment 9 Paolo Bonzini 2011-08-09 10:05:50 UTC
Patch included as part of bug 718329, leaving bug open as TestOnly.

Comment 10 Paolo Bonzini 2011-09-01 10:10:35 UTC
*** Bug 731293 has been marked as a duplicate of this bug. ***

Comment 11 Paolo Bonzini 2011-10-19 14:25:17 UTC
Documented at https://access.redhat.com/kb/docs/DOC-65073

Comment 12 Qin Guan 2011-12-12 09:50:11 UTC
Verify this fix with xenpv-win-1.3.12-3.el5.

Host:
2.6.18-298.el5xen
xen-3.0.3-135.el5

Guest:
Win7
Win2k3

Steps:
1. Check that the tx-checksumming of the host is on:
# ethtool -k eth0
Offload parameters for eth0:
Cannot get device rx csum settings: Operation not supported
Cannot get device udp large send offload settings: Operation not supported
rx-checksumming: off
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
udp fragmentation offload: off
generic segmentation offload: off
generic-receive-offload: off
2. check that no DWORD value NetworkNoChecksumOffload set in Win guest register table
3. install winscp on Win guest, use winscp to connect the host:
1) local Hypervisor
2) Linux host on the same Hypervisor
4. use ftp connect between the Win guests on the same host

All above tests PASS with file transferred successfully.

Comment 13 Paolo Bonzini 2012-01-16 09:01:01 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause - Different requirements imposed by Linux and Windows on the implementation of checksum offloading.

Consequence - A Windows machine running with paravirtualized drivers will not be able to communicate with other guests running on the same host.

Fix - Checksum offloading has been disabled in this release of the drivers.

Result - Communication between Windows guests running on the same host will work correctly.

Comment 14 errata-xmlrpc 2012-02-21 05:35:10 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-2012-0195.html


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