diff options
| author | Roy Marples <roy@marples.name> | 2019-08-25 12:10:00 +0100 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2019-08-25 12:10:00 +0100 |
| commit | a7827e357ea2e847cb34d7e46cfb9b5db67637e8 (patch) | |
| tree | 6bdbe5b86833ea47bcb9bf35fa90428dd2e565ea /src/ipv6nd.c | |
| parent | a9287e98d2d47969fb2ba602eb3d1f72788eae19 (diff) | |
| download | dhcpcd-a7827e357ea2e847cb34d7e46cfb9b5db67637e8.tar.xz | |
inet6: Just solicit when a router is unreachable
We shouldn't take the default route away as there could be valid
reasons, such as the default route changing interface.
Instead, just solicit another router if there are no valid routers
on the interface.
Diffstat (limited to 'src/ipv6nd.c')
| -rw-r--r-- | src/ipv6nd.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/ipv6nd.c b/src/ipv6nd.c index 0169caef..5f9c72cf 100644 --- a/src/ipv6nd.c +++ b/src/ipv6nd.c @@ -127,7 +127,6 @@ __CTASSERT(sizeof(struct nd_opt_rdnss) == 8); // static void ipv6nd_handledata(void *); -static void ipv6nd_startrs1(void *); /* * Android ships buggy ICMP6 filter headers. @@ -576,10 +575,6 @@ ipv6nd_reachable(struct ra *rap, int flags) rap->iface->name, rap->sfrom); rap->isreachable = false; } - - rt_build(rap->iface->ctx, AF_INET6); - /* XXX Not really an RA */ - script_runreason(rap->iface, "ROUTERADVERT"); } void @@ -608,7 +603,7 @@ ipv6nd_neighbour(struct dhcpcd_ctx *ctx, struct in6_addr *addr, int flags) } if (rapr == NULL) - ipv6nd_startrs1(rap->iface); + ipv6nd_startrs(rap->iface); } const struct ipv6_addr * @@ -1427,9 +1422,6 @@ ipv6nd_env(FILE *fp, const struct interface *ifp) if (efprintf(fp, "%s_now=%lld", ndprefix, (long long)now.tv_sec) == -1) return -1; - if (efprintf(fp, "%s_isreachable=%s", ndprefix, - rap->isreachable ? "true" : "false") == -1) - return -1; /* Zero our indexes */ for (j = 0, opt = rap->iface->ctx->nd_opts; |
