Files
linux/include/net
Sabrina Dubroca 8387fbac8e ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu
[ Upstream commit d52e5a7e7c ]

Prior to the rework of PMTU information storage in commit
2c8cec5c10 ("ipv4: Cache learned PMTU information in inetpeer."),
when a PMTU event advertising a PMTU smaller than
net.ipv4.route.min_pmtu was received, we would disable setting the DF
flag on packets by locking the MTU metric, and set the PMTU to
net.ipv4.route.min_pmtu.

Since then, we don't disable DF, and set PMTU to
net.ipv4.route.min_pmtu, so the intermediate router that has this link
with a small MTU will have to drop the packets.

This patch reestablishes pre-2.6.39 behavior by splitting
rtable->rt_pmtu into a bitfield with rt_mtu_locked and rt_pmtu.
rt_mtu_locked indicates that we shouldn't set the DF bit on that path,
and is checked in ip_dont_fragment().

One possible workaround is to set net.ipv4.route.min_pmtu to a value low
enough to accommodate the lowest MTU encountered.

Fixes: 2c8cec5c10 ("ipv4: Cache learned PMTU information in inetpeer.")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Stefano Brivio <sbrivio@redhat.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>
2018-05-30 07:52:14 +02:00
..
2017-07-11 06:08:58 -04:00
2017-04-05 10:15:20 +02:00
2017-04-24 12:35:56 -04:00
2016-07-08 12:20:57 +02:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2015-03-06 21:50:02 -05:00
2017-08-31 14:42:19 -07:00
2016-04-27 22:48:25 -04:00
2017-06-15 12:12:40 -04:00
2018-02-22 15:42:23 +01:00
2016-08-17 19:36:23 -04:00
2016-10-03 02:00:22 -04:00
2018-05-16 10:10:23 +02:00
2016-07-08 12:20:57 +02:00
2016-03-23 22:09:58 -04:00
2018-02-25 11:07:59 +01:00
2018-02-22 15:42:23 +01:00
2015-03-12 22:58:12 -04:00