Subject: Re: Intel e1000 ethernet device, change in kernel v3.4, and jumbo frames setting DENIED.

From: Jeff Kirsher <[email-masked]>
Date: Thu, 05 Jul 2012 23:17:15 -0700

On 07/05/2012 04:53 PM, D. Stussy wrote:
> "Henrique de Moraes Holschuh"  wrote in message
> news:[email-masked]...
> On Wed, 04 Jul 2012, D. Stussy wrote:
>> There has been some changes to the driver such that things like
>> checksum verification is offloaded from the CPU.  However, this
>> blocks the ability to set a jumbo frame.  The kernel does record an
>> error indicating that checksum offloading need be disabled fro jumbo
>> frame MTU sizes to be used.  My e1000 interfaces use the 82574L
>> chipset.
>>
>> 1)  Was this an intentional change?
>
> Yes, but I understand Intel is trying to come up with a way not to
> need it.
> ==============
> OK, found the modification.  NETIF_F_RXHASH turned on by default in a
> modification ("Receive Packet Steering support") from January 26, 2012.
>
> Features which have no OFF setting should DEFAULT OFF and wait to be
> explicitly enabled.  The change which was inserted is stupid.
> ==============
>
>> 2)  How do I disable that function so I can set jumbo frames with
>> "ifconfig" or "ip"?  I simply don't know what setting I need to
>> pass.
>
> ethtool can do it.  Check its manpage, it can manipulate the various NIC
> offload engines, as well as other parameters such as dma ring buffer
> size,
> etc.
> ===============
> Got it:  ethtool -K eth0 rx off
>
> However, I'd prefer to turn off hashing instead of the checksum and I
> didn't recognize a single setting which would do that.  Under "ethtool
> -N", there seem to be 8 settings, but none of the options seemed to
> disable hashing (without simultaneously dropping packets).  I still
> need help:  What is the correct setting I need to disable this?  I
> don't see a simple OFF setting.
>
> Else, this part of the patch should be reversed:
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -6136,6 +6213,7 @@ static int __devinit e1000_probe(struct pci_dev
> *pdev,
> NETIF_F_HW_VLAN_TX |
> NETIF_F_TSO |
> NETIF_F_TSO6 |
> +                NETIF_F_RXHASH |
> NETIF_F_RXCSUM |
> NETIF_F_HW_CSUM);
> -- 

Adding the more appropriate mailing lists of netdev and e1000-devel