Lines Matching defs:lease
547 const struct dhcp_lease *lease = &iface->state->lease;
555 iface->net.s_addr == lease->net.s_addr &&
562 dhcp->ciaddr = lease->addr.s_addr;
600 if (lease->addr.s_addr && lease->cookie == htonl(MAGIC_COOKIE)) {
603 lease->addr.s_addr != iface->addr.s_addr))
605 PUTADDR(DHO_IPADDRESS, lease->addr);
606 if (lease->server.s_addr)
607 PUTADDR(DHO_SERVERID, lease->server);
611 if (lease->server.s_addr)
612 PUTADDR(DHO_SERVERID, lease->server);
746 get_lease(struct dhcp_lease *lease, const struct dhcp_message *dhcp)
750 lease->cookie = dhcp->cookie;
753 lease->addr.s_addr = dhcp->yiaddr;
755 lease->addr.s_addr = dhcp->ciaddr;
756 if (get_option_addr(&lease->net, dhcp, DHO_SUBNETMASK) == -1)
757 lease->net.s_addr = get_netmask(lease->addr.s_addr);
758 if (get_option_addr(&lease->brd, dhcp, DHO_BROADCAST) == -1)
759 lease->brd.s_addr = lease->addr.s_addr | ~lease->net.s_addr;
760 if (get_option_uint32(&lease->leasetime, dhcp, DHO_LEASETIME) == 0) {
761 /* Ensure that we can use the lease */
763 if (now.tv_sec + (time_t)lease->leasetime < now.tv_sec)
764 lease->leasetime = ~0U; /* Infinite lease */
766 lease->leasetime = ~0U; /* Default to infinite lease */
767 if (get_option_uint32(&lease->renewaltime, dhcp, DHO_RENEWALTIME) != 0)
768 lease->renewaltime = 0;
769 if (get_option_uint32(&lease->rebindtime, dhcp, DHO_REBINDTIME) != 0)
770 lease->rebindtime = 0;
771 if (get_option_addr(&lease->server, dhcp, DHO_SERVERID) != 0)
772 lease->server.s_addr = INADDR_ANY;