return (0);
}
- logger (LOG_INFO, "checking %s is available on attached networks",
- inet_ntoa (address));
+ if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) &&
+ ! IN_LINKLOCAL (ntohl (address.s_addr)))
+ logger (LOG_INFO, "checking %s is available on attached networks",
+ inet_ntoa (address));
if (! open_socket (iface, true))
return (-1);
struct timeval tv;
unsigned int offset = 0;
- logger (LOG_INFO, "trying to use old lease in `%s'", iface->infofile);
+ if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)))
+ logger (LOG_INFO, "trying to use old lease in `%s'", iface->infofile);
if (! read_info (iface, dhcp))
return (false);
timeout = options->timeout;
iface->start_uptime = uptime ();
if (dhcp->address.s_addr == 0) {
- logger (LOG_INFO, "broadcasting for a lease");
+ if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)))
+ logger (LOG_INFO, "broadcasting for a lease");
SEND_MESSAGE (DHCP_DISCOVER);
} else if (options->doinform) {
logger (LOG_INFO, "broadcasting inform for %s",