void
get_lease(struct dhcp_lease *lease, const struct dhcp_message *dhcp)
{
- struct timeval now;
lease->cookie = dhcp->cookie;
/* BOOTP does not set yiaddr for replies when ciaddr is set. */
lease->net.s_addr = ipv4_getnetmask(lease->addr.s_addr);
if (get_option_addr(&lease->brd, dhcp, DHO_BROADCAST) == -1)
lease->brd.s_addr = lease->addr.s_addr | ~lease->net.s_addr;
- if (get_option_uint32(&lease->leasetime, dhcp, DHO_LEASETIME) == 0) {
- /* Ensure that we can use the lease */
- get_monotonic(&now);
- if (now.tv_sec + (time_t)lease->leasetime < now.tv_sec)
- lease->leasetime = ~0U; /* Infinite lease */
- } else
+ if (get_option_uint32(&lease->leasetime, dhcp, DHO_LEASETIME) != 0)
lease->leasetime = ~0U; /* Default to infinite lease */
if (get_option_uint32(&lease->renewaltime, dhcp, DHO_RENEWALTIME) != 0)
lease->renewaltime = 0;
uint8_t ipv4ll = 0;
state->reason = NULL;
- if (clock_monotonic)
- get_monotonic(&lease->boundtime);
state->xid = 0;
free(state->old);
state->old = state->new;
{
ssize_t l;
size_t len;
- struct timeval now;
const struct ra *rap;
const struct ra_opt *rao;
int i;
i = 0;
l = 0;
- get_monotonic(&now);
TAILQ_FOREACH(rap, &ipv6_routers, next) {
i++;
if (rap->iface != ifp)