aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2015-04-28 11:43:15 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-05-13 05:14:16 -0700
commitd177331ecb0579d5d12fb9bdbc385038ed3efac5 (patch)
treef96504144c8ed1c81a0dc906175ea57aba80b268 /net
parent59506497a7c844e81254c0a4bc2920510fac9a52 (diff)
route: Use ipv4_mtu instead of raw rt_pmtu
[ Upstream commit cb6ccf09d6b94bec4def1ac5cf4678d12b216474 ] The commit 3cdaa5be9e81a914e633a6be7b7d2ef75b528562 ("ipv4: Don't increase PMTU with Datagram Too Big message") broke PMTU in cases where the rt_pmtu value has expired but is smaller than the new PMTU value. This obsolete rt_pmtu then prevents the new PMTU value from being installed. Fixes: 3cdaa5be9e81 ("ipv4: Don't increase PMTU with Datagram Too Big message") Reported-by: Gerd v. Egidy <gerd.von.egidy@intra2net.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/route.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index ad5064362c5c..20fc0202cbbe 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -963,10 +963,7 @@ static void __ip_rt_update_pmtu(struct rtable *rt, struct flowi4 *fl4, u32 mtu)
if (dst_metric_locked(dst, RTAX_MTU))
return;
- if (dst->dev->mtu < mtu)
- return;
-
- if (rt->rt_pmtu && rt->rt_pmtu < mtu)
+ if (ipv4_mtu(dst) < mtu)
return;
if (mtu < ip_rt_min_pmtu)