[Upstream] Wait 4 seconds for RA before re-sending RS messages. 29/163729/2
authorNiraj Kumar Goit <niraj.g@samsung.com>
Wed, 13 Dec 2017 06:08:15 +0000 (11:38 +0530)
committerNiraj Kumar Goit <niraj.g@samsung.com>
Tue, 19 Dec 2017 04:28:13 +0000 (09:58 +0530)
As per RFC 4861, a host should transmit up to 3 Router Solicitation messages,
each separated by at least RTR_SOLICITATION_INTERVAL(4) seconds to obtain
RA for IPv6 auto-configuration.

Change-Id: I970a69737dd0dd030291d725888cac64bddd6b16
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
src/network.c

index 23ba727..64c26cc 100755 (executable)
 #define WIFI_BSSID_LEN_MAX 6
 #endif
 
+/*
+ * As per RFC 4861, a host should transmit up to MAX_RTR_SOLICITATIONS(3)
+ * Router Solicitation messages, each separated by at least
+ * RTR_SOLICITATION_INTERVAL(4) seconds to obtain RA for IPv6 auto-configuration.
+ */
+#define RTR_SOLICITATION_INTERVAL      4
+
 static GSList *network_list = NULL;
 static GSList *driver_list = NULL;
 
@@ -461,7 +468,7 @@ static void check_dhcpv6(struct nd_router_advert *reply,
                        DBG("re-send router solicitation %d",
                                                network->router_solicit_count);
                        network->router_solicit_count--;
-                       __connman_inet_ipv6_send_rs(network->index, 1,
+                       __connman_inet_ipv6_send_rs(network->index, RTR_SOLICITATION_INTERVAL,
                                                check_dhcpv6, network);
                        return;
                }
@@ -632,7 +639,8 @@ static void autoconf_ipv6_set(struct connman_network *network)
 
        /* Try to get stateless DHCPv6 information, RFC 3736 */
        network->router_solicit_count = 3;
-       __connman_inet_ipv6_send_rs(index, 1, check_dhcpv6, network);
+       __connman_inet_ipv6_send_rs(index, RTR_SOLICITATION_INTERVAL,
+                       check_dhcpv6, network);
 }
 
 static void set_connected(struct connman_network *network)