lkml.org 
[lkml]   [2018]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 164/496] ip6_tunnel: fix IFLA_MTU ignored on NEWLINK
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Xin Long <lucien.xin@gmail.com>

    [ Upstream commit a6aa80446234ec0ad38eecdb8efc59e91daae565 ]

    Commit 128bb975dc3c ("ip6_gre: init dev->mtu and dev->hard_header_len
    correctly") fixed IFLA_MTU ignored on NEWLINK for ip6_gre. The same
    mtu fix is also needed for ip6_tunnel.

    Note that dev->hard_header_len setting for ip6_tunnel works fine,
    no need to fix it.

    Reported-by: Jianlin Shi <jishi@redhat.com>
    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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ipv6/ip6_tunnel.c | 12 ++++++++----
    1 file changed, 8 insertions(+), 4 deletions(-)

    --- a/net/ipv6/ip6_tunnel.c
    +++ b/net/ipv6/ip6_tunnel.c
    @@ -1990,14 +1990,14 @@ static int ip6_tnl_newlink(struct net *s
    {
    struct net *net = dev_net(dev);
    struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
    - struct ip6_tnl *nt, *t;
    struct ip_tunnel_encap ipencap;
    + struct ip6_tnl *nt, *t;
    + int err;

    nt = netdev_priv(dev);

    if (ip6_tnl_netlink_encap_parms(data, &ipencap)) {
    - int err = ip6_tnl_encap_setup(nt, &ipencap);
    -
    + err = ip6_tnl_encap_setup(nt, &ipencap);
    if (err < 0)
    return err;
    }
    @@ -2013,7 +2013,11 @@ static int ip6_tnl_newlink(struct net *s
    return -EEXIST;
    }

    - return ip6_tnl_create2(dev);
    + err = ip6_tnl_create2(dev);
    + if (!err && tb[IFLA_MTU])
    + ip6_tnl_change_mtu(dev, nla_get_u32(tb[IFLA_MTU]));
    +
    + return err;
    }

    static int ip6_tnl_changelink(struct net_device *dev, struct nlattr *tb[],

    \
     
     \ /
      Last update: 2018-05-28 15:25    [W:4.110 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site