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

Reply via email to