netdev
[Top] [All Lists]

Re: [PATCH] Ethernet Bridging: Enable Hardware Checksumming

To: Jon Mason <jdmason@xxxxxxxxxx>
Subject: Re: [PATCH] Ethernet Bridging: Enable Hardware Checksumming
From: Nivedita Singhvi <niv@xxxxxxxxxx>
Date: Wed, 18 May 2005 17:03:51 -0700
Cc: shemminger@xxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20050518235329.GA17946@xxxxxxxxxx>
References: <20050518235329.GA17946@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.1) Gecko/20040707
Jon Mason wrote:

Currently, locally generated ethernet traffic does not take advantage of
hardware checksum offload when acting as a child device under a bridge
device.  This is because the upper layers do not see the available
features of the child devices only the features of the bridge device
(which is empty).
There is an easy solution for this (see patch below), include hardware
checksum and scatter gather as features of the bridge device. In the case that the physical ethernet device does not support scatter gather or hardware checksum, dev_queue_xmit() will check the
dev->features and do the necessary linearization and calculate the
checksum.

Signed-off-by: Jon Mason <jdmason@xxxxxxxxxx>

--- net/bridge/br_device.c.orig 2005-05-13 11:23:02.552751024 -0500
+++ net/bridge/br_device.c      2005-05-13 11:25:39.155943720 -0500
@@ -101,4 +101,5 @@ void br_dev_setup(struct net_device *dev
        dev->tx_queue_len = 0;
        dev->set_mac_address = NULL;
        dev->priv_flags = IFF_EBRIDGE;
+       dev->features = NETIF_F_HW_CSUM | NETIF_F_SG;
 }

Stephen,

I think this is a good thing to have, gives us performance
gain (equivalent to using/not using checksum offload) and
has very little impact on the bridging layer, and is
independent of the virtualization stuff..

thanks,
Nivedita



<Prev in Thread] Current Thread [Next in Thread>