diff options
author | Xin Long <lucien.xin@gmail.com> | 2018-06-21 06:56:04 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-06-21 07:57:46 +0200 |
commit | 30877961b1cdd6fdca783c2e8c4f0f47e95dc58c (patch) | |
tree | eaa309fd4d8b6168307d6e3f5e0d3f2199e35e50 /drivers/net/ipvlan | |
parent | sctp: fix erroneous inc of snmp SctpFragUsrMsgs (diff) | |
download | linux-30877961b1cdd6fdca783c2e8c4f0f47e95dc58c.tar.xz linux-30877961b1cdd6fdca783c2e8c4f0f47e95dc58c.zip |
ipvlan: fix IFLA_MTU ignored on NEWLINK
Commit 296d48568042 ("ipvlan: inherit MTU from master device") adjusted
the mtu from the master device when creating a ipvlan device, but it
would also override the mtu value set in rtnl_create_link. It causes
IFLA_MTU param not to take effect.
So this patch is to not adjust the mtu if IFLA_MTU param is set when
creating a ipvlan device.
Fixes: 296d48568042 ("ipvlan: inherit MTU from master device")
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>
Diffstat (limited to 'drivers/net/ipvlan')
-rw-r--r-- | drivers/net/ipvlan/ipvlan_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c index d02f0a7c534e..23c1d6600241 100644 --- a/drivers/net/ipvlan/ipvlan_main.c +++ b/drivers/net/ipvlan/ipvlan_main.c @@ -594,7 +594,8 @@ int ipvlan_link_new(struct net *src_net, struct net_device *dev, ipvlan->phy_dev = phy_dev; ipvlan->dev = dev; ipvlan->sfeatures = IPVLAN_FEATURES; - ipvlan_adjust_mtu(ipvlan, phy_dev); + if (!tb[IFLA_MTU]) + ipvlan_adjust_mtu(ipvlan, phy_dev); INIT_LIST_HEAD(&ipvlan->addrs); spin_lock_init(&ipvlan->addrs_lock); |