Bug 465797

Summary: Using large (>1500) MTU inside XEN domU
Product: Red Hat Enterprise Linux 5 Reporter: Nenad Opsenica <nenad>
Component: kernel-xenAssignee: Herbert Xu <herbert.xu>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.2CC: k.georgiou, nenad, notting, xen-maint
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-13 14:25:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
add RAW_ETHTOOL_OPTS option to ifcfg-* files none

Description Nenad Opsenica 2008-10-06 13:38:24 UTC
Created attachment 319554 [details]
add RAW_ETHTOOL_OPTS option to ifcfg-* files

Description of problem:

To be able to reliably use interfaces with MTU>1500 inside domU, it is necessary to turn off tcp segmentation offload using ethtool.

Attached patch adds not_very_elegant RAW_ETHTOOL_OPTS ifcfg-* option, which is useful for setting up this parameter (e.g. RAW_ETHTOOL_OPTS="-K $DEVICE tso off")

Comment 1 Bill Nottingham 2008-10-07 14:40:01 UTC
.... *why* is it necessary to do that?

Comment 2 Nenad Opsenica 2008-10-07 22:32:42 UTC
My case: dom0 uses gigabit ethernet interfaces; XEN uses bridged interface configuration. In order to maximize throughput, MTU on eth interface in dom0 should be > 1500, so bridge interface and domU eth interface must use the same MTU.

By default, TCP segmentation offloading is turned on on large frames. There is 
no TCP offloading engine in domU "network hardware" and without turning off TSO, it is not possible to establish any TCP connection (CRC errors).

Comment 3 Bill Nottingham 2008-10-08 00:54:27 UTC
(In reply to comment #2)
> By default, TCP segmentation offloading is turned on on large frames. There is 
> no TCP offloading engine in domU "network hardware" and without turning off
> TSO, it is not possible to establish any TCP connection (CRC errors).

This smells like a kernel bug (either in the driver or network layer) - it shouldn't be running by default in a way that eats packets.

Comment 5 Herbert Xu 2008-10-08 11:18:30 UTC
What network driver are you using?

Comment 6 Nenad Opsenica 2008-10-09 13:17:05 UTC
Driver for one eth card is e1000.
The second card is VIA Velocity, I'm using "velocityget" driver (VIA supplied), as kernel "via-velocity" has some issues (it was long time ago that I checked, I really can't remeber what were the problems, but something with jumbo frames support and reliability).

Comment 7 Herbert Xu 2008-10-09 14:47:59 UTC
So exactly which one is it that's having problems with Xen? Also what do you mean by CRC errors? If you mean checksum errors please attach the tcpdump from both within dom0 and from a physical machine other than the one where you're running Xen showing the packet data with the -x option.  Thanks!

Comment 8 Nenad Opsenica 2008-10-13 13:39:18 UTC
Huh, in the meantime, problem has disappeared :)
As far as I can recall, I had this problem one year ago, and found that TSO setting was the cause.
With software packages I use today (kernel-xen-2.6.18-92.1.13.el5), everything is working just fine. 
Sorry for bothering.

Comment 9 Bill Burns 2008-10-13 14:25:37 UTC
Based on comment #8 from reporter, closing this as current release.