lkml.org 
[lkml]   [2018]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.14 071/110] ip6_tunnel: allow ip6gre dev mtu to be set below 1280
    Date
    From: Xin Long <lucien.xin@gmail.com>

    [ Upstream commit 2fa771be953a17f8e0a9c39103464c2574444c62 ]

    Commit 582442d6d5bc ("ipv6: Allow the MTU of ipip6 tunnel to be set
    below 1280") fixed a mtu setting issue. It works for ipip6 tunnel.

    But ip6gre dev updates the mtu also with ip6_tnl_change_mtu. Since
    the inner packet over ip6gre can be ipv4 and it's mtu should also
    be allowed to set below 1280, the same issue also exists on ip6gre.

    This patch is to fix it by simply changing to check if parms.proto
    is IPPROTO_IPV6 in ip6_tnl_change_mtu instead, to make ip6gre to
    go to 'else' branch.

    Signed-off-by: Xin Long <lucien.xin@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    net/ipv6/ip6_tunnel.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
    index c3e963a2a017..1161fd5630c1 100644
    --- a/net/ipv6/ip6_tunnel.c
    +++ b/net/ipv6/ip6_tunnel.c
    @@ -1684,11 +1684,11 @@ int ip6_tnl_change_mtu(struct net_device *dev, int new_mtu)
    {
    struct ip6_tnl *tnl = netdev_priv(dev);

    - if (tnl->parms.proto == IPPROTO_IPIP) {
    - if (new_mtu < ETH_MIN_MTU)
    + if (tnl->parms.proto == IPPROTO_IPV6) {
    + if (new_mtu < IPV6_MIN_MTU)
    return -EINVAL;
    } else {
    - if (new_mtu < IPV6_MIN_MTU)
    + if (new_mtu < ETH_MIN_MTU)
    return -EINVAL;
    }
    if (new_mtu > 0xFFF8 - dev->hard_header_len)
    --
    2.11.0
    \
     
     \ /
      Last update: 2018-02-03 19:36    [W:4.212 / U:0.200 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site