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
commit1fd4924320856c8d83d99897d0f2e3492834e576 (patch)
tree20699b1e6823e9458bc53673f8d59599f41c31d2 /src/ipv6nd.c
parentd8b295e1e3509a91d702cee6207f21c934c7b460 (diff)
downloaddhcpcd-1fd4924320856c8d83d99897d0f2e3492834e576.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;
}