linux/drivers/net/ethernet/intel
Alexander Duyck 8084b86dcf e1000e: Cleanup handling of VLAN_HLEN as a part of max frame size
When the VLAN_HLEN was added to the calculation for the maximum frame size
there seems to have been a number of issues added to the driver.

The first issue is that in some cases the maximum frame size for a device
never really reached the actual maximum frame size as the VLAN header
length was not included the calculation for that value.  As a result some
parts only supported a maximum frame size of either 1496 in the case of
parts that didn't support jumbo frames, and 8996 in the case of the parts
that do.

The second issue is the fact that there were several checks that weren't
updated so as a result setting an MTU of 1500 was treated as enabling jumbo
frames as the calculated value was 1522 instead of 1518.  I have addressed
those by replacing ETH_FRAME_LEN with VLAN_ETH_FRAME_LEN where appropriate.

The final issue was the fact that lowering the MTU below 1500 would cause
the driver to allocate 2K buffers for the rings.  This is an old issue that
was fixed several years ago in igb/ixgbe and I am addressing now by just
replacing == with a <= so that we always just round up to 1522 for anything
that isn't a jumbo frame.

Fixes: c751a3d58c ("e1000e: Correctly include VLAN_HLEN when changing interface MTU")
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-05-04 01:20:30 -07:00
..
e1000 e1000, e1000e: Use dma_rmb instead of rmb for descriptor read ordering 2015-04-08 12:15:14 -04:00
e1000e e1000e: Cleanup handling of VLAN_HLEN as a part of max frame size 2015-05-04 01:20:30 -07:00
fm10k fm10k: Bump driver version to 0.15.2 2015-04-14 15:57:02 -07:00
i40e bridge/nl: remove wrong use of NLM_F_MULTI 2015-04-29 14:59:16 -04:00
i40evf i40e/i40evf: Save WR_CSR_PROT field from DEV/FUNC capabilities 2015-04-14 20:25:45 -07:00
igb igb: simplify and clean up igb_enable_mas() 2015-05-04 01:17:47 -07:00
igbvf igbvf: use netif_carrier_off earlier when bringing if down 2015-03-20 17:45:12 -07:00
ixgb ixgb: call netif_carrier_off early on down 2015-03-20 17:41:52 -07:00
ixgbe bridge/nl: remove wrong use of NLM_F_MULTI 2015-04-29 14:59:16 -04:00
ixgbevf ixgbevf: Add the appropriate ethtool ops to query RSS indirection table and key 2015-04-11 11:50:28 -07:00
e100.c e100: don't initialize int object to zero 2015-05-04 01:18:06 -07:00
Kconfig i40e: Strip configfs code 2015-03-07 07:01:06 -08:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00