summaryrefslogtreecommitdiffstats
path: root/src/ipv6nd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-04-01 16:12:37 +0100
committerRoy Marples <roy@marples.name>2020-04-01 16:12:37 +0100
commita173aecfc0621a4b2cc19b05ed78b53f70835d5d (patch)
tree20699b1e6823e9458bc53673f8d59599f41c31d2 /src/ipv6nd.c
parent90291fe07cd55b5cd0d6b867c535075e29c5ff56 (diff)
downloaddhcpcd-a173aecfc0621a4b2cc19b05ed78b53f70835d5d.tar.xz
Note that setting pltime to zero for stale addresses isn't RFC compliant
But also note we need to do this to ensure the kernel tries to use better addresses.
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 ba4eb8ca..2860e67c 100644
--- a/src/ipv6nd.c
+++ b/src/ipv6nd.c
@@ -1422,6 +1422,9 @@ ipv6nd_handlera(struct dhcpcd_ctx *ctx,
continue;
ipv6nd_findmarkstale(rap, ia, true);
logdebugx("%s: %s: became stale", ifp->name, ia->saddr);
+ /* Technically this violates RFC 4861 6.3.4,
+ * but we need a mechanism to tell the kernel to
+ * try and prefer other addresses. */
ia->prefix_pltime = 0;
}