diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 6e4a89c5e27edaabe80dc92bc15650b4c4dd1f20..259cbeee9a8be89d5132cb7d781ca214e5eafc00 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -912,6 +912,9 @@ static void __ip_rt_update_pmtu(struct rtable *rt, struct flowi4 *fl4, u32 mtu) struct dst_entry *dst = &rt->dst; struct fib_result res; + if (dst_metric_locked(dst, RTAX_MTU)) + return; + if (dst->dev->mtu < mtu) return;