[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <46B8EF42.1010708@garzik.org>
Date: Tue, 07 Aug 2007 18:16:34 -0400
From: Jeff Garzik <jeff@...zik.org>
To: brking@...ux.vnet.ibm.com
CC: santil@...ux.vnet.ibm.com, rcjenn@...ux.vnet.ibm.com,
netdev@...r.kernel.org, linuxppc-dev@...abs.org
Subject: Re: [PATCH 2/6] ibmveth: Implement ethtool hooks to enable/disable
checksum offload
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 <brking@...ux.vnet.ibm.com>
>>> ---
>>>
>>> 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 :)
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists