diff options
author | Niraj Kumar Goit <niraj.g@samsung.com> | 2017-12-07 17:34:39 +0530 |
---|---|---|
committer | taesub kim <taesub.kim@samsung.com> | 2017-12-11 10:42:03 +0900 |
commit | 280b740311de1f508707ae800b760416ae8ab9c3 (patch) | |
tree | 5c3da50b21290514962720899641f3dc1deb0c76 | |
parent | fc5cde2f21e82f0ea15fc9e41f7015ef03db061e (diff) | |
download | connman-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-x | src/dhcpv6.c | 14 |
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, |