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);
}
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;