summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/connman.h5
-rwxr-xr-xsrc/dhcp.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/src/connman.h b/src/connman.h
index 499f38db..c8e0ab00 100755
--- a/src/connman.h
+++ b/src/connman.h
@@ -455,6 +455,11 @@ enum __connman_dhcpv6_status {
CONNMAN_DHCPV6_STATUS_RESTART = 2,
};
+#if defined TIZEN_EXT
+void set_dhcp_discover_timeout(int timeout_value);
+void set_dhcp_discover_retry_count(int retry_count);
+#endif
+
typedef void (* dhcpv6_cb) (struct connman_network *network,
enum __connman_dhcpv6_status status, gpointer data);
diff --git a/src/dhcp.c b/src/dhcp.c
index 5b0beab5..013948e3 100755
--- a/src/dhcp.c
+++ b/src/dhcp.c
@@ -634,7 +634,9 @@ int __connman_dhcp_start(struct connman_ipconfig *ipconfig,
struct connman_network *network, dhcp_cb callback,
gpointer user_data)
{
+#if !defined TIZEN_EXT
const char *last_addr = NULL;
+#endif
struct connman_dhcp *dhcp;
int err;
@@ -648,7 +650,9 @@ int __connman_dhcp_start(struct connman_ipconfig *ipconfig,
return -EINVAL;
}
+#if !defined TIZEN_EXT
last_addr = __connman_ipconfig_get_dhcp_address(ipconfig);
+#endif
dhcp = g_hash_table_lookup(ipconfig_table, ipconfig);
if (!dhcp) {
@@ -680,7 +684,14 @@ int __connman_dhcp_start(struct connman_ipconfig *ipconfig,
dhcp->callback = callback;
dhcp->user_data = user_data;
+#if defined TIZEN_EXT
+ DBG("Start DHCP with DHCPDISCOVER request");
+
+ return g_dhcp_client_start(dhcp->dhcp_client, NULL);
+#else
return g_dhcp_client_start(dhcp->dhcp_client, last_addr);
+#endif
+
}
void __connman_dhcp_stop(struct connman_ipconfig *ipconfig)