/* We don't want to spam the log with the fact we got an RA every
* 30 seconds or so, so only spam the log if it's different. */
- if (options & DHCPCD_DEBUG || rap == NULL ||
- (rap->data_len != len ||
+ if (rap == NULL || (rap->data_len != len ||
memcmp(rap->data, (unsigned char *)icp, rap->data_len) != 0))
{
if (rap) {
rap->nslen = 0;
}
new_data = 1;
- syslog(LOG_INFO, "%s: Router Advertisement from %s",
- ifp->name, sfrom);
} else
new_data = 0;
+ if (new_data || ifp->options->options & DHCPCD_DEBUG)
+ syslog(LOG_INFO, "%s: Router Advertisement from %s",
+ ifp->name, sfrom);
if (rap == NULL) {
rap = calloc(1, sizeof(*rap));
handle_flag:
if (rap->flags & ND_RA_FLAG_MANAGED) {
- if (rap->lifetime && dhcp6_start(ifp, DH6S_INIT) == -1)
+ if (rap->lifetime && new_data &&
+ dhcp6_start(ifp, DH6S_INIT) == -1)
syslog(LOG_ERR, "dhcp6_start: %s: %m", ifp->name);
} else if (rap->flags & ND_RA_FLAG_OTHER) {
- if (rap->lifetime && dhcp6_start(ifp, DH6S_INFORM) == -1)
+ if (rap->lifetime && new_data &&
+ dhcp6_start(ifp, DH6S_INFORM) == -1)
syslog(LOG_ERR, "dhcp6_start: %s: %m", ifp->name);
} else {
if (rap->lifetime && new_data)