summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiraj Kumar Goit <niraj.g@samsung.com>2017-12-07 17:34:39 +0530
committertaesub kim <taesub.kim@samsung.com>2017-12-11 10:42:03 +0900
commit280b740311de1f508707ae800b760416ae8ab9c3 (patch)
tree5c3da50b21290514962720899641f3dc1deb0c76
parentfc5cde2f21e82f0ea15fc9e41f7015ef03db061e (diff)
downloadconnman-280b740311de1f508707ae800b760416ae8ab9c3.tar.gz
connman-280b740311de1f508707ae800b760416ae8ab9c3.tar.bz2
connman-280b740311de1f508707ae800b760416ae8ab9c3.zip
In dhcpv6 request always set G_DHCPV6_IA_NA option.
When privacy extension is enabled then connman requests OPTION_IA_TA (4) from DHCPv6 server. This option is used to request temporary IPv6 address from DHCPv6 server but we found that DHCPv6 server never provided temporary IPv6 address and connman resend dhcpv6 requests. So always set OPTION_IA_NA in dhcpv6 request to get IPv6 address from DHCPv6 server. Change-Id: Iec5623a14ba6cee64ad5b97fcf5246ae09947968 Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
-rwxr-xr-xsrc/dhcpv6.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/dhcpv6.c b/src/dhcpv6.c
index 85714e91..b1b2f63d 100755
--- a/src/dhcpv6.c
+++ b/src/dhcpv6.c
@@ -1768,7 +1768,9 @@ static gboolean timeout_solicitation(gpointer user_data)
static int dhcpv6_solicitation(struct connman_dhcpv6 *dhcp)
{
struct connman_service *service;
+#if !defined TIZEN_EXT
struct connman_ipconfig *ipconfig_ipv6;
+#endif
GDHCPClient *dhcp_client;
GDHCPClientError error;
int index, ret;
@@ -1811,8 +1813,20 @@ static int dhcpv6_solicitation(struct connman_dhcpv6 *dhcp)
g_dhcpv6_client_set_oro(dhcp_client, 3, G_DHCPV6_DNS_SERVERS,
G_DHCPV6_DOMAIN_LIST, G_DHCPV6_SNTP_SERVERS);
+#if defined TIZEN_EXT
+ /**
+ When privacy extension is enabled then connman requests
+ OPTION_IA_TA (4) from DHCPv6 server. This option is used to request
+ temporary IPv6 address from DHCPv6 server but we found that DHCPv6
+ server never provided temporary IPv6 address and connman resend dhcpv6
+ requests. So always set OPTION_IA_NA in dhcpv6 request to get IPv6
+ address from DHCPv6 server.
+ */
+ dhcp->use_ta = FALSE;
+#else
ipconfig_ipv6 = __connman_service_get_ip6config(service);
dhcp->use_ta = __connman_ipconfig_ipv6_privacy_enabled(ipconfig_ipv6);
+#endif
g_dhcpv6_client_set_ia(dhcp_client, index,
dhcp->use_ta ? G_DHCPV6_IA_TA : G_DHCPV6_IA_NA,