diff options
| -rw-r--r-- | net/ipv4/ip_tunnel.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 6b0e362cc99b..38d906baf1df 100644 --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c | |||
| @@ -328,7 +328,7 @@ static int ip_tunnel_bind_dev(struct net_device *dev) | |||
| 328 | 328 | ||
| 329 | if (tdev) { | 329 | if (tdev) { |
| 330 | hlen = tdev->hard_header_len + tdev->needed_headroom; | 330 | hlen = tdev->hard_header_len + tdev->needed_headroom; |
| 331 | mtu = tdev->mtu; | 331 | mtu = min(tdev->mtu, IP_MAX_MTU); |
| 332 | } | 332 | } |
| 333 | 333 | ||
| 334 | dev->needed_headroom = t_hlen + hlen; | 334 | dev->needed_headroom = t_hlen + hlen; |
| @@ -362,7 +362,7 @@ static struct ip_tunnel *ip_tunnel_create(struct net *net, | |||
| 362 | nt = netdev_priv(dev); | 362 | nt = netdev_priv(dev); |
| 363 | t_hlen = nt->hlen + sizeof(struct iphdr); | 363 | t_hlen = nt->hlen + sizeof(struct iphdr); |
| 364 | dev->min_mtu = ETH_MIN_MTU; | 364 | dev->min_mtu = ETH_MIN_MTU; |
| 365 | dev->max_mtu = 0xFFF8 - dev->hard_header_len - t_hlen; | 365 | dev->max_mtu = IP_MAX_MTU - dev->hard_header_len - t_hlen; |
| 366 | ip_tunnel_add(itn, nt); | 366 | ip_tunnel_add(itn, nt); |
| 367 | return nt; | 367 | return nt; |
| 368 | 368 | ||
| @@ -930,7 +930,7 @@ int __ip_tunnel_change_mtu(struct net_device *dev, int new_mtu, bool strict) | |||
| 930 | { | 930 | { |
| 931 | struct ip_tunnel *tunnel = netdev_priv(dev); | 931 | struct ip_tunnel *tunnel = netdev_priv(dev); |
| 932 | int t_hlen = tunnel->hlen + sizeof(struct iphdr); | 932 | int t_hlen = tunnel->hlen + sizeof(struct iphdr); |
| 933 | int max_mtu = 0xFFF8 - dev->hard_header_len - t_hlen; | 933 | int max_mtu = IP_MAX_MTU - dev->hard_header_len - t_hlen; |
| 934 | 934 | ||
| 935 | if (new_mtu < ETH_MIN_MTU) | 935 | if (new_mtu < ETH_MIN_MTU) |
| 936 | return -EINVAL; | 936 | return -EINVAL; |
| @@ -1107,7 +1107,7 @@ int ip_tunnel_newlink(struct net_device *dev, struct nlattr *tb[], | |||
| 1107 | 1107 | ||
| 1108 | mtu = ip_tunnel_bind_dev(dev); | 1108 | mtu = ip_tunnel_bind_dev(dev); |
| 1109 | if (tb[IFLA_MTU]) { | 1109 | if (tb[IFLA_MTU]) { |
| 1110 | unsigned int max = 0xfff8 - dev->hard_header_len - nt->hlen; | 1110 | unsigned int max = IP_MAX_MTU - dev->hard_header_len - nt->hlen; |
| 1111 | 1111 | ||
| 1112 | mtu = clamp(dev->mtu, (unsigned int)ETH_MIN_MTU, | 1112 | mtu = clamp(dev->mtu, (unsigned int)ETH_MIN_MTU, |
| 1113 | (unsigned int)(max - sizeof(struct iphdr))); | 1113 | (unsigned int)(max - sizeof(struct iphdr))); |
