summaryrefslogtreecommitdiff
path: root/src/odhcp6c.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/odhcp6c.c')
-rw-r--r--src/odhcp6c.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/odhcp6c.c b/src/odhcp6c.c
index ba11ced..0a46947 100644
--- a/src/odhcp6c.c
+++ b/src/odhcp6c.c
@@ -391,6 +391,12 @@ int main(_unused int argc, char* const argv[])
odhcp6c_clear_state(STATE_SERVER_ID); // Remove binding
+ odhcp6c_get_state(STATE_IA_PD, &ia_pd_len);
+ odhcp6c_get_state(STATE_IA_NA, &ia_na_len);
+
+ if (ia_pd_len == 0 && ia_na_len == 0)
+ break;
+
// If we have IAs, try rebind otherwise restart
res = dhcpv6_request(DHCPV6_MSG_REBIND);
odhcp6c_signal_process();