From 19c471aef9ce0ff70570fc6104a8315c5877b52c Mon Sep 17 00:00:00 2001
From: Evan Broder <broder@mit.edu>
Date: Fri, 14 Nov 2008 01:20:08 -0500
Subject: [PATCH] Add a hook to invirt-autoinstaller to turn off checksumming
 in the guest

svn path=/trunk/packages/invirt-autoinstaller/; revision=1637
---
 common/usr/lib/xen-tools/debian.d/97-setup-grub    |    4 ---
 .../lib/xen-tools/debian.d/98-fix-eth-checksums    |   27 ++++++++++++++++++++
 .../usr/lib/xen-tools/edgy.d/98-fix-eth-checksums  |    1 +
 debian/changelog                                   |    6 +++++
 4 files changed, 34 insertions(+), 4 deletions(-)
 create mode 100755 common/usr/lib/xen-tools/debian.d/98-fix-eth-checksums
 create mode 120000 common/usr/lib/xen-tools/edgy.d/98-fix-eth-checksums

diff --git a/common/usr/lib/xen-tools/debian.d/97-setup-grub b/common/usr/lib/xen-tools/debian.d/97-setup-grub
index 366fcd0..4013ac4 100755
--- a/common/usr/lib/xen-tools/debian.d/97-setup-grub
+++ b/common/usr/lib/xen-tools/debian.d/97-setup-grub
@@ -20,10 +20,6 @@ dir=`dirname "$0"`
 
 logMessage Script $0 starting
 
-# To avoid UDP checksum problems.
-
-installDebianPackage ${prefix} ethtool
-
 #
 # Install the xen kernel.  linux-image-xen is in ubuntu,
 # linux-image-xen-amd64 in debian.
diff --git a/common/usr/lib/xen-tools/debian.d/98-fix-eth-checksums b/common/usr/lib/xen-tools/debian.d/98-fix-eth-checksums
new file mode 100755
index 0000000..b0233c8
--- /dev/null
+++ b/common/usr/lib/xen-tools/debian.d/98-fix-eth-checksums
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+#  This script disables checksumming within the domU
+#
+
+prefix=$1
+
+#
+#  Source the common functions
+#
+if [ -e /usr/lib/xen-tools/common.sh ]; then
+    . /usr/lib/xen-tools/common.sh
+else
+    . ./hooks/common.sh
+fi
+
+logMessage Script $0 starting
+
+# To avoid UDP checksum problems.
+installDebianPackage ${prefix} ethtool
+
+sed -i'' -e 's/exit 0/ethtool -K eth0 tx off\n\0/' ${prefix}/etc/rc.local
+
+#
+# Log our finish
+#
+logMessage Script $0 finished
diff --git a/common/usr/lib/xen-tools/edgy.d/98-fix-eth-checksums b/common/usr/lib/xen-tools/edgy.d/98-fix-eth-checksums
new file mode 120000
index 0000000..3708335
--- /dev/null
+++ b/common/usr/lib/xen-tools/edgy.d/98-fix-eth-checksums
@@ -0,0 +1 @@
+../debian.d/98-fix-eth-checksums
\ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index 4c6a82e..969b71e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+invirt-autoinstaller (0.0.2) unstable; urgency=low
+
+  * Add hook to turn off checksumming in guests
+
+ -- Evan Broder <broder@mit.edu>  Fri, 14 Nov 2008 01:19:21 -0500
+
 invirt-autoinstaller (0.0.1) unstable; urgency=low
 
   * sipb-xen-autoinstaler -> invirt-autoinstaller
-- 
1.7.9.5