lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 22 May 2012 19:59:16 +0100
From:	Ben Hutchings <bhutchings@...arflare.com>
To:	Christer Ekholm <che@...ekh.se>
CC:	Stephen Hemminger <shemminger@...tta.com>,
	<netdev@...r.kernel.org>,
	"Allan, Bruce W" <bruce.w.allan@...el.com>,
	<e1000-devel@...ts.sf.net>
Subject: Re: [Bug 43277] New: net/e1000e set mtu larger than 1500 fails

On Tue, 2012-05-22 at 20:39 +0200, Christer Ekholm wrote:
> Stephen Hemminger writes:
>  > On Tue, 22 May 2012 11:19:50 -0700
>  > Stephen Hemminger <shemminger@...tta.com> wrote:
>  > 
>  > 
>  > 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;
>  > 	}
> 
> Yes you are right.
> 
>  e1000e 0000:05:00.1: eth1: 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.
> 
> How stupid of me to not see that. 
> 
> After turning rxhash of, setting of mtu to 9000 is possible again.
> 
> $ sudo ethtool -K eth1 rxhash off
> 
> $ sudo ip link set eth1 mtu 9000
> 
> 
> Sorry to have wasted your time.

It's not a waste of time.

I think this behaviour is broken: NETIF_F_RXHASH is turned on by default
and user and distribution scripts that set MTU will now be broken until
they know that they need to work around this hardware limitation.  And
why should they ever need to know that?

I think the proper thing to do is to automatically turn off
NETIF_F_RXHASH when the MTU is too high for it to work.  The netdev
still keeps track of whether it is 'wanted'.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ