[Yakkety][PULL] fix for unable to set MTU larger than 1500
Jesse Sung
jesse.sung at canonical.com
Thu May 4 16:44:47 UTC 2017
BugLink: https://launchpad.net/bugs/1679823
There are two issues in this report.
The first one is unable to set MTU larger than 1500 on some devices.
Commit e84f31d (yakkety), "net: centralize net_device min/max MTU
checking", introduced net_device.min_mtu and net_device.max_mtu.
These values will be checked before net_device_ops.ndo_change_mtu().
Then the second commit 04db90d (yakkety) set the default value of
min_mtu to ETH_MIN_MTU(68) and max_mtu to ETH_DATA_LEN(1500), removed
ndo_change_mtu() callback in some NIC drivers, and initialize
min_mtu/max_mtu in each driver if it should be something different
than the default values.
Commits for other drivers are not included in yakkety, thus when one
try to set an MTU larger than ETH_DATA_LEN, it fails.
The second issue is it shows
"Invalid MTU 9000 requested, hw max 68"
instead of
"Invalid MTU 9000 requested, hw max 1500".
This is a typo in commit 04db90d and can be fixed by commit a0e65de.
These commits touch a lot of network drivers, but the changes are quite
trivial. So far we have positive test results for
* e1000e: comment 34
* bnx2x: comment 39
* ixgbe: comment 40
* Zerotier TAP interfaces: comment 45
The following changes since commit 86e762828b7506f5b776106018d7a867c15a0a84:
nvme: Quirk APST off on "THNSF5256GPUK TOSHIBA" (2017-05-04 10:54:20 +0200)
are available in the git repository at:
git://git.launchpad.net/~wenchien/+git/yakkety lp1679823
for you to fetch changes up to 3bc189cd9cc5a351b822adbacf1ad3867ca5d90e:
team: use ETH_MAX_MTU as max mtu (2017-05-04 21:57:59 +0800)
----------------------------------------------------------------
Bert Kenward (2):
sfc: check MTU against minimum threshold
ethernet/sfc: use core min/max MTU checking
Jarno Rajahalme (1):
openvswitch: Set internal device max mtu to ETH_MAX_MTU.
Jarod Wilson (25):
ethernet/intel: use core min/max MTU checking
ethernet/broadcom: use core min/max MTU checking
ethernet/atheros: use core min/max MTU checking
ethernet/qlogic: use core min/max MTU checking
ethernet/mellanox: use core min/max MTU checking
ethernet/marvell: use core min/max MTU checking
ethernet/cavium: use core min/max MTU checking
ethernet/neterion: use core min/max MTU checking
ethernet/dlink: use core min/max MTU checking
ethernet/sun: use core min/max MTU checking
ethernet/realtek: use core min/max MTU checking
ethernet/toshiba: use core min/max MTU checking
ethernet/tile: use core min/max MTU checking
ethernet/ibm: use core min/max MTU checking
ethernet: use core min/max MTU checking
net: use core MTU range checking in wireless drivers
net: use core MTU range checking in USB NIC drivers
net: use core MTU range checking in virt drivers
net: use core MTU range checking in core net infra
net: use core MTU range checking in WAN drivers
ipv4/6: use core net MTU range checking
s390/net: use net core MTU range checking
net: use core MTU range checking in misc drivers
net: remove MTU limits on a few ether_setup callers
team: use ETH_MAX_MTU as max mtu
Stefan Richter (4):
firewire: net: fix maximum possible MTU
firewire: net: set initial MTU = 1500 unconditionally, fix IPv6
on some CardBus cards
ethernet: fix min/max MTU typos
firewire: net: really fix maximum possible MTU
Sven Eckelmann (1):
batman-adv: Revert "use core MTU range checking in misc drivers"
Thomas Falcon (1):
ibmvnic: Fix initial MTU settings
WANG Cong (1):
bonding: use ETH_MAX_MTU as max mtu
Zhang Shengju (1):
nlmon: use core MTU range checking in nlmon driver
arch/um/drivers/net_kern.c | 8 ---
drivers/char/pcmcia/synclink_cs.c | 1 -
drivers/firewire/net.c | 21 +------
drivers/hsi/clients/ssi_protocol.c | 14 ++---
drivers/infiniband/hw/nes/nes.c | 1 -
drivers/infiniband/hw/nes/nes.h | 4 +-
drivers/infiniband/hw/nes/nes_nic.c | 10 +---
drivers/infiniband/ulp/ipoib/ipoib_main.c | 1 +
drivers/message/fusion/mptlan.c | 15 ++---
drivers/misc/sgi-xp/xpnet.c | 21 ++-----
drivers/net/bonding/bond_main.c | 1 +
drivers/net/ethernet/agere/et131x.c | 7 ++-
drivers/net/ethernet/altera/altera_tse.h | 1 -
drivers/net/ethernet/altera/altera_tse_main.c | 14 +----
drivers/net/ethernet/amd/amd8111e.c | 5 +-
drivers/net/ethernet/atheros/alx/hw.h | 1 -
drivers/net/ethernet/atheros/alx/main.c | 10 +---
drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 41 +++++++++-----
drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 12 ++--
drivers/net/ethernet/atheros/atlx/atl1.c | 15 ++---
drivers/net/ethernet/atheros/atlx/atl2.c | 16 +++---
drivers/net/ethernet/atheros/atlx/atl2.h | 3 -
drivers/net/ethernet/broadcom/b44.c | 9 ++-
drivers/net/ethernet/broadcom/bcm63xx_enet.c | 35 ++++--------
drivers/net/ethernet/broadcom/bnx2.c | 16 +++---
drivers/net/ethernet/broadcom/bnx2.h | 6 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 6 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 8 +--
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | 22 +++-----
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 7 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 7 ++-
drivers/net/ethernet/broadcom/sb1250-mac.c | 2 +-
drivers/net/ethernet/broadcom/tg3.c | 9 +--
drivers/net/ethernet/brocade/bna/bnad.c | 7 ++-
drivers/net/ethernet/cadence/macb.c | 19 +++----
drivers/net/ethernet/calxeda/xgmac.c | 20 ++-----
drivers/net/ethernet/cavium/liquidio/lio_main.c | 15 ++---
.../net/ethernet/cavium/liquidio/octeon_network.h | 2 +-
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 13 +----
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 10 ++--
drivers/net/ethernet/chelsio/cxgb/common.h | 5 ++
drivers/net/ethernet/chelsio/cxgb/cxgb2.c | 18 +++++-
drivers/net/ethernet/chelsio/cxgb/pm3393.c | 8 +--
drivers/net/ethernet/chelsio/cxgb/vsc7326.c | 5 --
drivers/net/ethernet/cisco/enic/enic_main.c | 7 ++-
drivers/net/ethernet/cisco/enic/enic_res.h | 2 +-
drivers/net/ethernet/dlink/dl2k.c | 22 ++------
drivers/net/ethernet/dlink/sundance.c | 6 +-
drivers/net/ethernet/freescale/gianfar.c | 9 +--
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 3 +-
drivers/net/ethernet/hisilicon/hns/hns_enet.c | 11 ++--
drivers/net/ethernet/ibm/ehea/ehea_main.c | 13 ++---
drivers/net/ethernet/ibm/emac/core.c | 9 +--
drivers/net/ethernet/ibm/ibmveth.c | 2 +-
drivers/net/ethernet/ibm/ibmvnic.c | 11 ++--
drivers/net/ethernet/intel/e100.c | 9 ---
drivers/net/ethernet/intel/e1000/e1000_main.c | 12 ++--
drivers/net/ethernet/intel/e1000e/netdev.c | 14 ++---
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 15 ++---
drivers/net/ethernet/intel/i40e/i40e_main.c | 10 ++--
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 8 +--
drivers/net/ethernet/intel/igb/e1000_defines.h | 3 +-
drivers/net/ethernet/intel/igb/igb_main.c | 15 ++---
drivers/net/ethernet/intel/igbvf/defines.h | 3 +-
drivers/net/ethernet/intel/igbvf/netdev.c | 14 ++---
drivers/net/ethernet/intel/ixgb/ixgb_main.c | 16 ++----
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 11 ++--
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 33 +++++------
drivers/net/ethernet/marvell/mvneta.c | 36 ++++--------
drivers/net/ethernet/marvell/mvpp2.c | 36 +++---------
drivers/net/ethernet/marvell/pxa168_eth.c | 7 ++-
drivers/net/ethernet/marvell/skge.c | 7 ++-
drivers/net/ethernet/marvell/sky2.c | 18 +++---
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 8 +--
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 24 ++------
drivers/net/ethernet/micrel/ksz884x.c | 33 +++++------
drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 20 ++++---
drivers/net/ethernet/natsemi/natsemi.c | 7 ++-
drivers/net/ethernet/neterion/s2io.c | 9 ++-
drivers/net/ethernet/neterion/vxge/vxge-config.h | 2 +-
drivers/net/ethernet/neterion/vxge/vxge-main.c | 9 ++-
.../net/ethernet/netronome/nfp/nfp_net_common.c | 10 ++--
drivers/net/ethernet/nvidia/forcedeth.c | 9 ++-
.../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 13 ++---
drivers/net/ethernet/pasemi/pasemi_mac.c | 12 ++--
drivers/net/ethernet/qlogic/qede/qede.h | 5 +-
drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 8 ---
drivers/net/ethernet/qlogic/qede/qede_main.c | 4 ++
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 6 --
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 ++
drivers/net/ethernet/qualcomm/qca_framing.h | 6 +-
drivers/net/ethernet/qualcomm/qca_spi.c | 16 ++----
drivers/net/ethernet/realtek/8139cp.c | 8 +--
drivers/net/ethernet/realtek/8139too.c | 13 ++---
drivers/net/ethernet/realtek/r8169.c | 8 +--
drivers/net/ethernet/rocker/rocker_main.c | 12 ++--
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | 17 ++----
drivers/net/ethernet/sfc/efx.c | 4 +-
drivers/net/ethernet/sfc/net_driver.h | 3 +
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 25 +++------
drivers/net/ethernet/sun/cassini.c | 7 ++-
drivers/net/ethernet/sun/ldmvsw.c | 5 +-
drivers/net/ethernet/sun/niu.c | 7 ++-
drivers/net/ethernet/sun/sungem.c | 11 ++--
drivers/net/ethernet/sun/sunvnet.c | 5 +-
drivers/net/ethernet/sun/sunvnet_common.c | 10 ----
drivers/net/ethernet/sun/sunvnet_common.h | 3 +-
drivers/net/ethernet/tehuti/tehuti.c | 14 ++---
drivers/net/ethernet/tehuti/tehuti.h | 3 +
drivers/net/ethernet/ti/netcp_core.c | 20 ++-----
drivers/net/ethernet/tile/tilegx.c | 21 +++----
drivers/net/ethernet/tile/tilepro.c | 27 ++-------
drivers/net/ethernet/toshiba/ps3_gelic_net.c | 23 ++------
drivers/net/ethernet/toshiba/ps3_gelic_net.h | 1 -
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c | 1 -
drivers/net/ethernet/toshiba/spider_net.c | 24 ++------
drivers/net/ethernet/via/via-velocity.c | 11 ++--
drivers/net/fddi/skfp/skfddi.c | 1 -
drivers/net/fjes/fjes_main.c | 2 +
drivers/net/geneve.c | 48 +++++++---------
drivers/net/hippi/rrunner.c | 1 -
drivers/net/hyperv/netvsc_drv.c | 7 +++
drivers/net/macsec.c | 2 +
drivers/net/macvlan.c | 8 ++-
drivers/net/nlmon.c | 20 +------
drivers/net/ntb_netdev.c | 3 +
drivers/net/rionet.c | 15 +----
drivers/net/slip/slip.c | 11 ++--
drivers/net/team/team.c | 1 +
drivers/net/tun.c | 20 ++-----
drivers/net/usb/asix_devices.c | 4 +-
drivers/net/usb/ax88179_178a.c | 4 +-
drivers/net/usb/cdc-phonet.c | 12 +---
drivers/net/usb/cdc_ncm.c | 5 +-
drivers/net/usb/lan78xx.c | 8 +--
drivers/net/usb/r8152.c | 15 ++++-
drivers/net/usb/sierra_net.c | 13 +----
drivers/net/usb/smsc75xx.c | 4 +-
drivers/net/usb/usbnet.c | 4 +-
drivers/net/veth.c | 17 +-----
drivers/net/vxlan.c | 64 ++++++++++++----------
drivers/net/wan/c101.c | 1 -
drivers/net/wan/cosa.c | 1 -
drivers/net/wan/dscc4.c | 1 -
drivers/net/wan/farsync.c | 1 -
drivers/net/wan/fsl_ucc_hdlc.c | 1 -
drivers/net/wan/hdlc.c | 11 +---
drivers/net/wan/hdlc_fr.c | 3 +-
drivers/net/wan/hostess_sv11.c | 1 -
drivers/net/wan/ixp4xx_hss.c | 1 -
drivers/net/wan/lmc/lmc_main.c | 1 -
drivers/net/wan/n2.c | 1 -
drivers/net/wan/pc300too.c | 1 -
drivers/net/wan/pci200syn.c | 1 -
drivers/net/wan/sealevel.c | 1 -
drivers/net/wan/wanxl.c | 1 -
drivers/net/wan/x25_asy.c | 5 +-
drivers/net/wimax/i2400m/netdev.c | 22 +-------
drivers/net/wireless/ath/wil6210/netdev.c | 17 +-----
drivers/net/wireless/atmel/atmel.c | 13 ++---
drivers/net/wireless/cisco/airo.c | 14 +----
drivers/net/wireless/intel/ipw2x00/ipw2100.c | 3 +-
drivers/net/wireless/intel/ipw2x00/ipw2200.c | 8 ++-
drivers/net/wireless/intel/ipw2x00/libipw.h | 1 -
drivers/net/wireless/intel/ipw2x00/libipw_module.c | 9 ---
drivers/net/wireless/intersil/hostap/hostap_main.c | 15 +----
drivers/net/wireless/intersil/orinoco/main.c | 6 +-
drivers/s390/net/ctcm_main.c | 5 +-
drivers/s390/net/netiucv.c | 24 +-------
drivers/s390/net/qeth_core_main.c | 4 --
drivers/s390/net/qeth_l2_main.c | 2 +
drivers/s390/net/qeth_l3_main.c | 2 +
drivers/staging/octeon/ethernet.c | 21 ++++---
drivers/staging/wlan-ng/p80211netdev.c | 18 ++----
drivers/tty/n_gsm.c | 12 +---
drivers/tty/synclink.c | 1 -
drivers/tty/synclink_gt.c | 1 -
drivers/tty/synclinkmp.c | 1 -
drivers/usb/gadget/function/f_phonet.c | 11 +---
drivers/usb/gadget/function/u_ether.c | 14 ++---
include/linux/fddidevice.h | 1 -
include/linux/hdlc.h | 2 -
include/linux/hippidevice.h | 1 -
net/802/fddi.c | 11 +---
net/802/hippi.c | 14 +----
net/8021q/vlan_dev.c | 3 +
net/atm/br2684.c | 4 +-
net/atm/lec.c | 11 +---
net/bluetooth/bnep/netdev.c | 2 +
net/bridge/br_device.c | 3 +-
net/dsa/slave.c | 2 +
net/hsr/hsr_device.c | 1 +
net/ipv4/ip_tunnel.c | 6 +-
net/ipv6/ip6_tunnel.c | 4 +-
net/ipv6/ip6_vti.c | 21 +------
net/ipv6/sit.c | 14 +----
net/irda/irlan/irlan_eth.c | 3 +-
net/l2tp/l2tp_eth.c | 2 +
net/mac80211/iface.c | 15 ++---
net/openvswitch/vport-internal_dev.c | 12 +---
net/phonet/pep-gprs.c | 12 +---
net/sched/sch_teql.c | 5 +-
202 files changed, 726 insertions(+), 1289 deletions(-)
More information about the kernel-team
mailing list