Allow disabling the tx checksums on the xen loopback

interface, which is used for the virtual interfaces of dom0 instead 
of netfront/netback.

I need to issue ethtool -K eth0 tx off to work around a bad checksum
problem, which has been reported for domUs a few months ago. I'm
bridging dom0's eth0 to a domU where I do NAT to a different virtual
interface. Without this change, I get lots of packets with bad
checksums.

Signed-off-by: Jan Niehusmann <jan@gondor.com>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2006-01-19 20:11:09 +01:00
1 parent 55d921d433
commit 31415c26f9
1 file changed
+9
@@ -27,6 +27,7 @@
#include <linux/inetdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/ethtool.h>
#include <net/dst.h>
static int nloopbacks = 8;
@@ -122,6 +123,12 @@ static void loopback_construct(struct net_device *dev, struct net_device *lo)
/*dev->mtu = 16*1024;*/
}
static struct ethtool_ops network_ethtool_ops =
{
.get_tx_csum = ethtool_op_get_tx_csum,
.set_tx_csum = ethtool_op_set_tx_csum,
};
static int __init make_loopback(int i)
{
struct net_device *dev1, *dev2;
@@ -141,6 +148,8 @@ static int __init make_loopback(int i)
dev1->features |= NETIF_F_NO_CSUM;
dev2->features |= NETIF_F_IP_CSUM;
SET_ETHTOOL_OPS(dev2, &network_ethtool_ops);
/*
* Initialise a dummy MAC address for the 'dummy backend' interface. We
* choose the numerically largest non-broadcast address to prevent the
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.