Subject: Re: [Bug 43277] New: net/e1000e set mtu larger than 1500 fails

From: Stephen Hemminger <[email-masked]>
Date: Tue, 22 May 2012 11:25:18 -0700

On Tue, 22 May 2012 11:19:50 -0700
Stephen Hemminger <[email-masked]> wrote:

> 
> 
> Begin forwarded message:
> 
> Date: Tue, 22 May 2012 18:13:21 +0000 (UTC)
> From: [email-masked]
> To: [email-masked]
> Subject: [Bug 43277] New: net/e1000e set mtu larger than 1500 fails
> 
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=43277
> 
>            Summary: net/e1000e set mtu larger than 1500 fails
>            Product: Networking
>            Version: 2.5
>     Kernel Version: 3.4
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: IPV4
>         AssignedTo: [email-masked]
>         ReportedBy: [email-masked]
>         Regression: Yes
> 
> 
> In kernel 3.4 I can no longer use jumbo-frames with my e1000e network
> interface.
> 
>  $ sudo ip link set eth1 mtu 9000
>  RTNETLINK answers: Invalid argument

I believe the problem is detected here. Check system console log (dmesg).
The hardware does not allow receive hashing and checksum offload together
in Jumbo mode.

	/*
	 * IP payload checksum (enabled with jumbos/packet-split when
	 * Rx checksum is enabled) and generation of RSS hash is
	 * mutually exclusive in the hardware.
	 */
	if ((netdev->features & NETIF_F_RXCSUM) &&
	    (netdev->features & NETIF_F_RXHASH)) {
		e_err("Jumbo frames cannot be enabled when both receive checksum offload and receive hashing are enabled.  Disable one of the receive offload features before enabling jumbos.\n");
		return -EINVAL;
	}