WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

[Xen-users] TCP/UDP broken checksums redux (with UDP workaround)

To: xen-users@xxxxxxxxxxxxxxxxxxx, Ian Jackson <ian@xxxxxxxxxxxxxxxxxxxxxxxx>
Subject: [Xen-users] TCP/UDP broken checksums redux (with UDP workaround)
From: "J.P. Larocque" <piranha-xenlists@xxxxxxxxxxxxxxx>
Date: Sun, 16 Apr 2006 04:43:25 -0700
Delivery-date: Sun, 16 Apr 2006 04:44:02 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
Hello,

A little informal input on the TCP/UDP checksum deferral/offload: it
fails for me.

I have one Xen host, running a snapshot of xen-unstable at 2006-03-24
(9435:11fee62328cc).  Each of its domUs are allocated their own /30,
with the help of a hacked-up vif script.

Prior to working around the problem, Domain-0 could establish TCP
connections to other domains.  In the case of SSH, it would even get
the SSH greeting.  It seemed that all further communication was
ignored by the server.

Communication between other hosts on my network and domUs worked well.

After a few bouts of hair-pulling, I discovered broken checksums in
packets from the domU and, by extension, the Xen checksum catastrophe.

I'd like to report than Ian Jackson's TCP workaround works well for
me.  See: xen-users, "[Xen-users] Re: tcp wrong checksum", sent at
2006-03-07T15:55:59Z, ID
<17421.44303.346257.842889@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>

It didn't do the trick for UDP--some further hair loss, and it seemed
a few nasty words I made for dhcrelay3 were misplaced.  UDP from dom0
to domU worked; the reverse had broken checksums.  This completely
uneducated patch, born out of shotgun-debugging, "works for me[1]:"

--- linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c~       2006-04-16 
04:07:16.000000000 -0700
+++ linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c        2006-04-16 
02:59:48.000000000 -0700
@@ -1149,7 +1149,7 @@
        netdev->poll            = netif_poll;
        netdev->uninit          = netif_uninit;
        netdev->weight          = 64;
-       netdev->features        = NETIF_F_IP_CSUM;
+       netdev->features        = 0;
 
        SET_ETHTOOL_OPS(netdev, &network_ethtool_ops);
        SET_MODULE_OWNER(netdev);

1. I can't guarantee this is a correct modification; does it look like
I know what I'm doing?

-- 
J.P. Larocque is <piranha@xxxxxxxxxxxxxxx> and <piranha@xxxxxxxxxx>
Encrypted/signed e-mail preferred; http://ely.ath.cx/~piranha/pgp
Fpr 5612 10A8 4986 2D85 A995  252B 4C02 5E02 F61D 2E61; ID 0xF61D2E61

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-users] TCP/UDP broken checksums redux (with UDP workaround), J.P. Larocque <=