diff options
author | Steffen Klassert <steffen.klassert@secunet.com> | 2011-11-23 02:12:13 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-26 19:29:50 (GMT) |
commit | 6b600b26c0215bf9ed04062ecfacf0bc20e2588c (patch) | |
tree | a3dbd36f83c8c3d813b1422e472af6a31ace40d2 | |
parent | df07a94cf50eb73d09bf2350c3fe2598e4cbeee1 (diff) | |
download | linux-6b600b26c0215bf9ed04062ecfacf0bc20e2588c.tar.xz |
route: Use the device mtu as the default for blackhole routes
As it is, we return null as the default mtu of blackhole routes.
This may lead to a propagation of a bogus pmtu if the default_mtu
method of a blackhole route is invoked. So return dst->dev->mtu
as the default mtu instead.
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/route.c | 2 | ||||
-rw-r--r-- | net/ipv6/route.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 0c74da8..5b17bf1 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -2757,7 +2757,7 @@ static struct dst_entry *ipv4_blackhole_dst_check(struct dst_entry *dst, u32 coo static unsigned int ipv4_blackhole_default_mtu(const struct dst_entry *dst) { - return 0; + return dst->dev->mtu; } static void ipv4_rt_blackhole_update_pmtu(struct dst_entry *dst, u32 mtu) diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 8473016..d8fbd18 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -157,7 +157,7 @@ static struct dst_ops ip6_dst_ops_template = { static unsigned int ip6_blackhole_default_mtu(const struct dst_entry *dst) { - return 0; + return dst->dev->mtu; } static void ip6_rt_blackhole_update_pmtu(struct dst_entry *dst, u32 mtu) |