summaryrefslogtreecommitdiffstats
path: root/src/ipv6nd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2019-11-10 20:43:04 +0000
committerRoy Marples <roy@marples.name>2019-11-10 20:43:04 +0000
commitc42ab918a3b19f430cb971b4049b0149e5bb783a (patch)
tree43317e9b7a924eeb0078c17e65ff1e5397384084 /src/ipv6nd.c
parent127863ec6d42807bd595515ad8a39f92c36030ec (diff)
downloaddhcpcd-c42ab918a3b19f430cb971b4049b0149e5bb783a.tar.xz
IPv6ND: If a router is reachable again, don't solicit another.
Diffstat (limited to 'src/ipv6nd.c')
-rw-r--r--src/ipv6nd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ipv6nd.c b/src/ipv6nd.c
index 6033ee11..e9d2a950 100644
--- a/src/ipv6nd.c
+++ b/src/ipv6nd.c
@@ -664,6 +664,9 @@ ipv6nd_neighbour(struct dhcpcd_ctx *ctx, struct in6_addr *addr, bool reachable)
ipv6nd_applyra(ctx, rap->iface);
rt_build(ctx, AF_INET6);
+ if (reachable)
+ return;
+
/* If we have no reachable default routers, try and solicit one. */
TAILQ_FOREACH(rapr, ctx->ra_routers, next) {
if (rap == rapr || rap->iface != rapr->iface)