blob: d27d11f7ec22a6f8664699430a727b556b4dee95 [file] [log] [blame]
diff --git a/client/dhc6.c b/client/dhc6.c
index de77054..5431091 100644
--- a/client/dhc6.c
+++ b/client/dhc6.c
@@ -4328,6 +4328,10 @@ start_bound(struct client_state *client)
oldia = NULL;
for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
+ // Don't bind addresses that are expired or depreferred.
+ if (addr->flags & (DHC6_ADDR_EXPIRED | DHC6_ADDR_DEPREFFED))
+ continue;
+
if (oldia != NULL) {
if (ia->ia_type != D6O_IA_PD)
oldaddr = find_addr(oldia->addrs,