summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorBen Greear <greearb@candelatech.com>2010-11-08 13:33:48 +0100
committerDavid S. Miller <davem@davemloft.net>2010-11-12 23:03:24 +0100
commit403856532734317d25ec86ab1e75b8133db7acc6 (patch)
treea294c1cba6ba395cd50c24c4e0f696645d6e13e2 /net/ipv6
parentdocs: Add neigh/gc_thresh3 and route/max_size documentation. (diff)
downloadlinux-403856532734317d25ec86ab1e75b8133db7acc6.tar.xz
linux-403856532734317d25ec86ab1e75b8133db7acc6.zip
ipv6: Warn users if maximum number of routes is reached.
This gives users at least some clue as to what the problem might be and how to go about fixing it. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/route.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index fc328339be99..96455ffb76fb 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1945,8 +1945,12 @@ struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev,
struct rt6_info *rt = ip6_dst_alloc(&net->ipv6.ip6_dst_ops);
struct neighbour *neigh;
- if (rt == NULL)
+ if (rt == NULL) {
+ if (net_ratelimit())
+ pr_warning("IPv6: Maximum number of routes reached,"
+ " consider increasing route/max_size.\n");
return ERR_PTR(-ENOMEM);
+ }
dev_hold(net->loopback_dev);
in6_dev_hold(idev);