| From foo@baz Sun Jun 17 12:07:33 CEST 2018 |
| From: Stefano Brivio <sbrivio@redhat.com> |
| Date: Thu, 26 Apr 2018 19:39:09 +0200 |
| Subject: vti6: Change minimum MTU to IPV4_MIN_MTU, vti6 can carry IPv4 too |
| |
| From: Stefano Brivio <sbrivio@redhat.com> |
| |
| [ Upstream commit b4331a681822b420511b3258f1c3db35001fde48 ] |
| |
| A vti6 interface can carry IPv4 as well, so it makes no sense to |
| enforce a minimum MTU of IPV6_MIN_MTU. |
| |
| If the user sets an MTU below IPV6_MIN_MTU, IPv6 will be |
| disabled on the interface, courtesy of addrconf_notify(). |
| |
| Reported-by: Xin Long <lucien.xin@gmail.com> |
| Fixes: b96f9afee4eb ("ipv4/6: use core net MTU range checking") |
| Fixes: c6741fbed6dc ("vti6: Properly adjust vti6 MTU from MTU of lower device") |
| Fixes: 53c81e95df17 ("ip6_vti: adjust vti mtu according to mtu of lower device") |
| Signed-off-by: Stefano Brivio <sbrivio@redhat.com> |
| Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv6/ip6_vti.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/net/ipv6/ip6_vti.c |
| +++ b/net/ipv6/ip6_vti.c |
| @@ -669,7 +669,7 @@ static void vti6_link_config(struct ip6_ |
| else |
| mtu = ETH_DATA_LEN - LL_MAX_HEADER - sizeof(struct ipv6hdr); |
| |
| - dev->mtu = max_t(int, mtu, IPV6_MIN_MTU); |
| + dev->mtu = max_t(int, mtu, IPV4_MIN_MTU); |
| } |
| |
| /** |
| @@ -881,7 +881,7 @@ static void vti6_dev_setup(struct net_de |
| dev->priv_destructor = vti6_dev_free; |
| |
| dev->type = ARPHRD_TUNNEL6; |
| - dev->min_mtu = IPV6_MIN_MTU; |
| + dev->min_mtu = IPV4_MIN_MTU; |
| dev->max_mtu = IP_MAX_MTU - sizeof(struct ipv6hdr); |
| dev->flags |= IFF_NOARP; |
| dev->addr_len = sizeof(struct in6_addr); |