From: Roy Marples Date: Thu, 12 Dec 2019 13:59:48 +0000 (+0000) Subject: DHCP6: Work better with infinite addresses X-Git-Tag: v7.2.4~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6edad03dc748771dc8f64e43d7b1df50bc1f7c1b;p=thirdparty%2Fdhcpcd.git DHCP6: Work better with infinite addresses And as such just log infinite lease rather than an arbitary number. Backported from d7e68001. --- diff --git a/src/dhcp6.c b/src/dhcp6.c index 2e85f0e6..204edbe2 100644 --- a/src/dhcp6.c +++ b/src/dhcp6.c @@ -3021,7 +3021,10 @@ dhcp6_bind(struct interface *ifp, const char *op, const char *sfrom) TAILQ_FOREACH(ia, &state->addrs, next) { if (ia->flags & IPV6_AF_STALE) continue; - if (ia->prefix_vltime <= state->renew) + if (ia->prefix_vltime != 0 + && !(state->renew == ND6_INFINITE_LIFETIME + && ia->prefix_vltime == ND6_INFINITE_LIFETIME) + && ia->prefix_vltime <= state->renew) logwarnx( "%s: %s will expire before renewal", ifp->name, ia->saddr); @@ -3165,6 +3168,8 @@ dhcp6_bind(struct interface *ifp, const char *op, const char *sfrom) if (state->state == DH6S_INFORMED) lognewinfo("%s: refresh in %"PRIu32" seconds", ifp->name, state->renew); + else if (state->renew == ND6_INFINITE_LIFETIME) + lognewinfo("%s: leased for infinity", ifp->name); else if (state->renew || state->rebind) lognewinfo("%s: renew in %"PRIu32", " "rebind in %"PRIu32", "