diff options
author | Li Wei <lw@cn.fujitsu.com> | 2015-01-29 16:09:03 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-29 15:28:59 -0800 |
commit | 3cdaa5be9e81a914e633a6be7b7d2ef75b528562 (patch) | |
tree | b9889fdb4cdec87152a3657e69e39fd27bbb5243 /net | |
parent | a1a0b558ce89a8e46b2c9d1cd847e0d728f97e00 (diff) | |
download | linux-stable-3cdaa5be9e81a914e633a6be7b7d2ef75b528562.tar.gz linux-stable-3cdaa5be9e81a914e633a6be7b7d2ef75b528562.tar.bz2 linux-stable-3cdaa5be9e81a914e633a6be7b7d2ef75b528562.zip |
ipv4: Don't increase PMTU with Datagram Too Big message.
RFC 1191 said, "a host MUST not increase its estimate of the Path
MTU in response to the contents of a Datagram Too Big message."
Signed-off-by: Li Wei <lw@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/route.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index d58dd0ec3e53..52e1f2bf0ca2 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -966,6 +966,9 @@ static void __ip_rt_update_pmtu(struct rtable *rt, struct flowi4 *fl4, u32 mtu) if (dst->dev->mtu < mtu) return; + if (rt->rt_pmtu && rt->rt_pmtu < mtu) + return; + if (mtu < ip_rt_min_pmtu) mtu = ip_rt_min_pmtu; |