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
|