ipv6: rate-limit probes for neighbourless routes
authorSabrina Dubroca <sd@queasysnail.net>
Fri, 12 Oct 2018 14:22:47 +0000 (16:22 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Oct 2018 05:18:27 +0000 (22:18 -0700)
commitf547fac624be53ad8b07e9ebca7654a7827ba61b
treee8d39c6b9c62085154052363f89245575ded7282
parent64bd9c8135751b561f27edaaffe93d07093f81af
ipv6: rate-limit probes for neighbourless routes

When commit 270972554c91 ("[IPV6]: ROUTE: Add Router Reachability
Probing (RFC4191).") introduced router probing, the rt6_probe() function
required that a neighbour entry existed. This neighbour entry is used to
record the timestamp of the last probe via the ->updated field.

Later, commit 2152caea7196 ("ipv6: Do not depend on rt->n in rt6_probe().")
removed the requirement for a neighbour entry. Neighbourless routes skip
the interval check and are not rate-limited.

This patch adds rate-limiting for neighbourless routes, by recording the
timestamp of the last probe in the fib6_info itself.

Fixes: 2152caea7196 ("ipv6: Do not depend on rt->n in rt6_probe().")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip6_fib.h
net/ipv6/route.c