diff options
author | Haiyang Zhang <haiyangz@microsoft.com> | 2014-11-12 14:07:44 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-11-12 16:21:36 -0500 |
commit | 4d3c9d37f77566b04216dfc9a6513082002d7a1f (patch) | |
tree | c23efd4874c81912f2ad9a176ba57d74c9ec637a /drivers/net/hyperv/netvsc_drv.c | |
parent | 5226cfc500022104d92813ee218608e80f56ead6 (diff) | |
download | linux-4d3c9d37f77566b04216dfc9a6513082002d7a1f.tar.bz2 |
hyperv: Add processing of MTU reduced by the host
If the host uses packet encapsulation feature, the MTU may be reduced by the
host due to headroom reservation for encapsulation. This patch handles this
new MTU value.
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/netvsc_drv.c')
-rw-r--r-- | drivers/net/hyperv/netvsc_drv.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 3295e4ee9dbb..15d82eda0baf 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -699,9 +699,10 @@ static int netvsc_change_mtu(struct net_device *ndev, int mtu) return -ENODEV; if (nvdev->nvsp_version >= NVSP_PROTOCOL_VERSION_2) - limit = NETVSC_MTU; + limit = NETVSC_MTU - ETH_HLEN; - if (mtu < 68 || mtu > limit) + /* Hyper-V hosts don't support MTU < ETH_DATA_LEN (1500) */ + if (mtu < ETH_DATA_LEN || mtu > limit) return -EINVAL; nvdev->start_remove = true; |