But also note we need to do this to ensure the kernel tries to use
better addresses.
if (ia->prefix_vltime != 0)
logdebugx("%s: %s: became stale",
ia->iface->name, ia->saddr);
+ /* Technically this violates RFC 8415 18.2.10.1,
+ * but we need a mechanism to tell the kernel to
+ * try and prefer other addresses. */
ia->prefix_pltime = 0;
} else if (ia->prefix_vltime == 0)
loginfox("%s: %s: no valid lifetime",
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;
}