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 | op-kernel-dev-4d3c9d37f77566b04216dfc9a6513082002d7a1f.zip op-kernel-dev-4d3c9d37f77566b04216dfc9a6513082002d7a1f.tar.gz |
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 3295e4e..15d82ed 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; |