summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2011-11-23 06:12:13 +0400
committerDavid S. Miller <davem@davemloft.net>2011-11-26 23:29:50 +0400
commit6b600b26c0215bf9ed04062ecfacf0bc20e2588c (patch)
treea3dbd36f83c8c3d813b1422e472af6a31ace40d2 /net
parentdf07a94cf50eb73d09bf2350c3fe2598e4cbeee1 (diff)
downloadlinux-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>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/route.c2
-rw-r--r--net/ipv6/route.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 0c74da8a0473..5b17bf124a33 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 8473016bba4a..d8fbd18c9467 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)