It also seems that I'm too tired as the patch works just fine. I should not read wrong log files.
No renew_cb or rebind_cb are called when either one of timeouts. --cut-- src/dhcpv6.c:__connman_dhcpv6_start_renew() network 0x14db258 dhcp 0x14b9a88 src/dhcpv6.c:__connman_dhcpv6_start_renew() T1 16 T2 48 expires 1410432815 current 1410432516 started 1410432515 src/dhcpv6.c:__connman_dhcpv6_start_renew() renew after 15 secs src/dhcpv6.c:start_renew() renew initial RT timeout 9470 msec src/dhcpv6.c:dhcpv6_renew() dhcp 0x14b9a88 src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 renew message xid 0xaf1498 src/dhcpv6.c:renew_cb() src/dhcpv6.c:__connman_dhcpv6_start_renew() network 0x14db258 dhcp 0x14b9a88 src/dhcpv6.c:__connman_dhcpv6_start_renew() T1 16 T2 48 expires 1410432831 current 1410432532 started 1410432531 src/dhcpv6.c:__connman_dhcpv6_start_renew() renew after 15 secs src/dhcpv6.c:start_renew() renew initial RT timeout 10630 msec src/dhcpv6.c:dhcpv6_renew() dhcp 0x14b9a88 src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 renew message xid 0x23628d src/dhcpv6.c:renew_cb() src/dhcpv6.c:__connman_dhcpv6_start_renew() network 0x14db258 dhcp 0x14b9a88 src/dhcpv6.c:__connman_dhcpv6_start_renew() T1 16 T2 48 expires 1410432847 current 1410432548 started 1410432547 src/dhcpv6.c:__connman_dhcpv6_start_renew() renew after 15 secs src/dhcpv6.c:start_renew() renew initial RT timeout 9580 msec src/dhcpv6.c:dhcpv6_renew() dhcp 0x14b9a88 src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 renew message xid 0x17df8c src/dhcpv6.c:timeout_renew() renew RT timeout 19485 msec src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 renew message xid 0x17df8c src/dhcpv6.c:timeout_renew() renew RT timeout 38560 msec src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 renew message xid 0x17df8c src/dhcpv6.c:start_rebind() rebind initial RT timeout 10530 msec src/dhcpv6.c:dhcpv6_rebind() dhcp 0x14b9a88 src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 rebind message xid 0x17df8c src/dhcpv6.c:timeout_rebind() rebind RT timeout 20228 msec src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 rebind message xid 0x17df8c src/dhcpv6.c:timeout_rebind() rebind RT timeout 42033 msec src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 rebind message xid 0x17df8c src/dhcpv6.c:rebind_cb() src/dhcpv6.c:__connman_dhcpv6_start_renew() network 0x14db258 dhcp 0x14b9a88 src/dhcpv6.c:__connman_dhcpv6_start_renew() T1 16 T2 48 expires 1410432962 current 1410432663 started 1410432662 src/dhcpv6.c:__connman_dhcpv6_start_renew() renew after 15 secs src/dhcpv6.c:start_renew() renew initial RT timeout 10240 msec src/dhcpv6.c:dhcpv6_renew() dhcp 0x14b9a88 src/dhcpv6.c:dhcpv6_debug() DHCPv6: sending DHCPv6 renew message xid 0x4b1203 src/dhcpv6.c:renew_cb() src/dhcpv6.c:__connman_dhcpv6_start_renew() network 0x14db258 dhcp 0x14b9a88 src/dhcpv6.c:__connman_dhcpv6_start_renew() T1 16 T2 48 expires 1410432978 current 1410432679 started 1410432678 src/dhcpv6.c:__connman_dhcpv6_start_renew() renew after 15 secs --cut-- Br, Pasi ________________________________________ From: Pasi Sjöholm Sent: Thursday, September 11, 2014 12:42 To: [email protected] Subject: RE: [PATCH 2/2] dhcpv6: Reset last_request to current time with renew and rebind It would seem that the last_request is also updated on timed out renew/rebind, so need to rework this patch. ________________________________________ From: connman [[email protected]] on behalf of [email protected] [[email protected]] Sent: Thursday, September 11, 2014 01:03 To: [email protected] Subject: [PATCH 2/2] dhcpv6: Reset last_request to current time with renew and rebind From: Pasi Sjöholm <[email protected]> last_request needs to be set current time also with renew and rebind or otherwise the values set by g_dhcpv6_client_get_timeouts will not be changed. This fixes the issues with __connman_dhcpv6_start_renew and check_restart comparing incorrect started,expired-values to current time after successful renew/rebind. --- src/dhcpv6.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dhcpv6.c b/src/dhcpv6.c index 00dba3a..96bfb38 100644 --- a/src/dhcpv6.c +++ b/src/dhcpv6.c @@ -1119,6 +1119,7 @@ static void rebind_cb(GDHCPClient *dhcp_client, gpointer user_data) { DBG(""); + g_dhcpv6_client_reset_request(dhcp_client); g_dhcpv6_client_clear_retransmit(dhcp_client); re_cb(REQ_REBIND, dhcp_client, user_data); @@ -1306,6 +1307,7 @@ static void renew_cb(GDHCPClient *dhcp_client, gpointer user_data) { DBG(""); + g_dhcpv6_client_reset_request(dhcp_client); g_dhcpv6_client_clear_retransmit(dhcp_client); re_cb(REQ_RENEW, dhcp_client, user_data); -- 1.9.1 _______________________________________________ connman mailing list [email protected] https://lists.connman.net/mailman/listinfo/connman _______________________________________________ connman mailing list [email protected] https://lists.connman.net/mailman/listinfo/connman
