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
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev