]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
Revert "ip6_vti: adjust vti mtu according to mtu of lower device"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Apr 2018 07:46:28 +0000 (09:46 +0200)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Mon, 9 Apr 2018 13:42:02 +0000 (10:42 -0300)
BugLink: http://bugs.launchpad.net/bugs/1762370
This reverts commit 813b2dad2cb59d2759f1538e65d56dcccdb18a94 which is
commit 53c81e95df1793933f87748d36070a721f6cb287 upstream.

Ben writes that there are a number of follow-on patches needed to fix
this up, but they get complex to backport, and some custom fixes are
needed, so let's just revert this and wait for a "real" set of patches
to resolve this to be submitted if it is really needed.

Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Cc: Petr Vorel <pvorel@suse.cz>
Cc: Alexey Kodanev <alexey.kodanev@oracle.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
net/ipv6/ip6_vti.c

index fa3ae1cb50d32628f6344500a2bb43b58832ece8..8c184f84f35334ebbc97cf3f249c5ae71ad6826d 100644 (file)
@@ -626,7 +626,6 @@ static void vti6_link_config(struct ip6_tnl *t)
 {
        struct net_device *dev = t->dev;
        struct __ip6_tnl_parm *p = &t->parms;
-       struct net_device *tdev = NULL;
 
        memcpy(dev->dev_addr, &p->laddr, sizeof(struct in6_addr));
        memcpy(dev->broadcast, &p->raddr, sizeof(struct in6_addr));
@@ -639,25 +638,6 @@ static void vti6_link_config(struct ip6_tnl *t)
                dev->flags |= IFF_POINTOPOINT;
        else
                dev->flags &= ~IFF_POINTOPOINT;
-
-       if (p->flags & IP6_TNL_F_CAP_XMIT) {
-               int strict = (ipv6_addr_type(&p->raddr) &
-                             (IPV6_ADDR_MULTICAST | IPV6_ADDR_LINKLOCAL));
-               struct rt6_info *rt = rt6_lookup(t->net,
-                                                &p->raddr, &p->laddr,
-                                                p->link, strict);
-
-               if (rt)
-                       tdev = rt->dst.dev;
-               ip6_rt_put(rt);
-       }
-
-       if (!tdev && p->link)
-               tdev = __dev_get_by_index(t->net, p->link);
-
-       if (tdev)
-               dev->mtu = max_t(int, tdev->mtu - dev->hard_header_len,
-                                IPV6_MIN_MTU);
 }
 
 /**