Bug 443452

Summary: TCP traffic is dropped if TX checksum flag is enabled in guest
Product: [Fedora] Fedora Reporter: Daniel Berrange <berrange>
Component: xennerAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: berrange
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-13 05:09:59 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Description Flags
Xenstore data
netbackd log file
tcpdump log when tx is enabled (and traffic fails)
tcpdump log when tx is disabled (and traffic succeeds) none

Description Daniel Berrange 2008-04-21 12:47:39 EDT
Description of problem:
Booting up a F8 guest, the eth0 device has following settings by default:

# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: off
tx-checksumming: on
scatter-gather: off
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off

If I try to 'wget http://google.com' the connections all fail - some, but not
all, packets are not replied to.

If I turn off checksum offload with

  ethtool -K eth0 tx off

then, everything works fine. This blocks install of new guests becasue they have
TX checksum enabled by default.

Version-Release number of selected component (if applicable):
Guest kernel: 2.6.21-2950.fc8xen

How reproducible:

Steps to Reproduce:
1. Setup guest config to use libvirt 'default' network, ie connect the TAP
device to 'virbr0', which is connected to outside world with NAT.
1. Boot the guest 
2. Run wget http://google.com
Actual results:
No reply

Expected results:
Fetches index.html

Additional info:
Comment 1 Daniel Berrange 2008-04-21 12:48:34 EDT
Created attachment 303167 [details]
Xenstore data
Comment 2 Daniel Berrange 2008-04-21 12:48:57 EDT
Created attachment 303168 [details]
netbackd log file
Comment 3 Daniel Berrange 2008-04-21 12:49:28 EDT
Created attachment 303169 [details]
tcpdump log when tx is enabled (and traffic fails)
Comment 4 Daniel Berrange 2008-04-21 12:49:45 EDT
Created attachment 303170 [details]
tcpdump log when tx is disabled (and traffic succeeds)
Comment 5 Gerd Hoffmann 2008-04-22 03:57:56 EDT
Ok, can reproduce it, investigating ...
Comment 6 Gerd Hoffmann 2008-04-22 09:12:26 EDT
Fixed: http://hg.et.redhat.com/kvm/xenner?cs=34f0d0f825f1
Comment 7 Gerd Hoffmann 2008-04-22 09:25:52 EDT
(scratch build, seems cvs isn't fully up'n'running yet).
Comment 8 Gerd Hoffmann 2008-04-23 07:20:22 EDT
please retest
Comment 9 Daniel Berrange 2008-05-09 17:29:49 EDT
Confirm this works now - although on i386 Xenner fails with a exception about
missing instruction emulation. Xenner 0.33 works though, so be good to get that
pushed to F9 updates
Comment 10 Gerd Hoffmann 2008-05-13 05:09:59 EDT
Thanks for testing.

F10 has 0.33 already.  F9 update is planned but I think I'll address the libvirt
integration issues first ...