Brian King wrote: > Jeff Garzik wrote: >> Brian King wrote: >>> This patch adds the appropriate ethtool hooks to allow for >>> enabling/disabling >>> of hypervisor assisted checksum offload for TCP. >>> >>> Signed-off-by: Brian King <[EMAIL PROTECTED]> >>> --- >>> >>> linux-2.6-bjking1/drivers/net/ibmveth.c | 118 >>> +++++++++++++++++++++++++++++++- >>> linux-2.6-bjking1/drivers/net/ibmveth.h | 1 >>> 2 files changed, 117 insertions(+), 2 deletions(-) >>> >>> diff -puN drivers/net/ibmveth.c~ibmveth_csum_offload_ethtool >>> drivers/net/ibmveth.c >>> --- linux-2.6/drivers/net/ibmveth.c~ibmveth_csum_offload_ethtool >>> 2007-08-01 14:55:14.000000000 -0500 >>> +++ linux-2.6-bjking1/drivers/net/ibmveth.c 2007-08-01 14:55:14.000000000 >>> -0500 >>> @@ -641,12 +641,125 @@ static u32 netdev_get_link(struct net_de >>> return 1; >>> } >>> >>> +static void ibmveth_set_rx_csum_flags(struct net_device *dev, u32 data) >>> +{ >>> + struct ibmveth_adapter *adapter = dev->priv; >>> + >>> + if (data) >>> + adapter->rx_csum = 1; >>> + else { >>> + adapter->rx_csum = 0; >>> + dev->features &= ~NETIF_F_IP_CSUM; >> why does this RX-related code clear a TX-related flag? > > Its related to how the pSeries firmware works. The firmware provides an > interface > to enable "checksum offload", which means both tx and rx checksum offload from > the firmware's point of view. The firmware does not support enabling checksum > offload for only rx. If I disable it for rx I have to disable it for tx as > well, otherwise the firmware will reject all future tx buffers I throw at it > that are not checksummed.
ACK once you add a comment describing this :) _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev