while (!signal_term) { // Main logic
odhcp6c_clear_state(STATE_SERVER_ID);
+ odhcp6c_clear_state(STATE_SERVER_ADDR);
odhcp6c_clear_state(STATE_IA_NA);
odhcp6c_clear_state(STATE_IA_PD);
odhcp6c_clear_state(STATE_SNTP_IP);
break;
case DHCPV6_STATEFUL:
- script_call("bound");
bound = true;
+ script_call("bound");
syslog(LOG_NOTICE, "entering stateful-mode on %s", ifname);
while (!signal_usr2 && !signal_term) {
}
odhcp6c_clear_state(STATE_SERVER_ID); // Remove binding
+ odhcp6c_clear_state(STATE_SERVER_ADDR);
size_t ia_pd_len, ia_na_len;
odhcp6c_get_state(STATE_IA_PD, &ia_pd_len);
if (ra_link_up())
signal_usr2 = true;
- if (ra_updated && (bound || allow_slaac_only == 0))
+ if (ra_updated && (bound || allow_slaac_only >= 0))
script_call("ra-updated"); // Immediate process urgent events
- else if (ra_updated && !bound && allow_slaac_only > 0)
- script_delay_call("ra-updated", allow_slaac_only);
-
}
return signal_usr1 || signal_usr2 || signal_term;