]> git.decadent.org.uk Git - odhcp6c.git/commitdiff
Stop rebinding when all IAs are lost
authorSteven Barth <steven@midlink.org>
Mon, 24 Mar 2014 08:37:36 +0000 (09:37 +0100)
committerSteven Barth <steven@midlink.org>
Mon, 24 Mar 2014 08:37:36 +0000 (09:37 +0100)
src/odhcp6c.c

index ba11ced6d23af32e47676f40159951f6341fa6b9..0a46947f4a5e2adc689b9dfd4ebc8ad412d18369 100644 (file)
@@ -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();