From: Jukka Rissanen Date: Fri, 7 Jan 2011 12:55:09 +0000 (+0200) Subject: ipconfig: Add AUTO ipconfig method for IPv6 auto configured addresses X-Git-Tag: 2.0_alpha~1904 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3dc2cb463330ba41de0033e0b9b9d934aea5be86;p=framework%2Fconnectivity%2Fconnman.git ipconfig: Add AUTO ipconfig method for IPv6 auto configured addresses --- diff --git a/include/ipconfig.h b/include/ipconfig.h index e8f6de1..9bc97d5 100644 --- a/include/ipconfig.h +++ b/include/ipconfig.h @@ -61,6 +61,7 @@ enum connman_ipconfig_method { CONNMAN_IPCONFIG_METHOD_FIXED = 2, CONNMAN_IPCONFIG_METHOD_MANUAL = 3, CONNMAN_IPCONFIG_METHOD_DHCP = 4, + CONNMAN_IPCONFIG_METHOD_AUTO = 5, }; struct connman_ipconfig; diff --git a/plugins/ofono.c b/plugins/ofono.c index 0a13b7b..9385f39 100644 --- a/plugins/ofono.c +++ b/plugins/ofono.c @@ -1511,6 +1511,7 @@ static void set_connected(struct connman_network *network, case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_MANUAL: + case CONNMAN_IPCONFIG_METHOD_AUTO: return; case CONNMAN_IPCONFIG_METHOD_FIXED: diff --git a/src/ipconfig.c b/src/ipconfig.c index b5dc98f..3610d46 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -1119,6 +1119,7 @@ int __connman_ipconfig_set_address(struct connman_ipconfig *ipconfig) case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_DHCP: + case CONNMAN_IPCONFIG_METHOD_AUTO: break; case CONNMAN_IPCONFIG_METHOD_MANUAL: if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV4) @@ -1146,6 +1147,7 @@ int __connman_ipconfig_clear_address(struct connman_ipconfig *ipconfig) case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_DHCP: + case CONNMAN_IPCONFIG_METHOD_AUTO: break; case CONNMAN_IPCONFIG_METHOD_MANUAL: if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV4) @@ -1329,6 +1331,8 @@ const char *__connman_ipconfig_method2string(enum connman_ipconfig_method method return "manual"; case CONNMAN_IPCONFIG_METHOD_DHCP: return "dhcp"; + case CONNMAN_IPCONFIG_METHOD_AUTO: + return "auto"; } return NULL; @@ -1344,6 +1348,8 @@ enum connman_ipconfig_method __connman_ipconfig_string2method(const char *method return CONNMAN_IPCONFIG_METHOD_MANUAL; else if (g_strcmp0(method, "dhcp") == 0) return CONNMAN_IPCONFIG_METHOD_DHCP; + else if (g_strcmp0(method, "auto") == 0) + return CONNMAN_IPCONFIG_METHOD_AUTO; else return CONNMAN_IPCONFIG_METHOD_UNKNOWN; } @@ -1439,6 +1445,7 @@ void __connman_ipconfig_append_ipv6config(struct connman_ipconfig *ipconfig, return; case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_MANUAL: + case CONNMAN_IPCONFIG_METHOD_AUTO: break; } @@ -1476,6 +1483,7 @@ void __connman_ipconfig_append_ipv4config(struct connman_ipconfig *ipconfig, case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_DHCP: + case CONNMAN_IPCONFIG_METHOD_AUTO: return; case CONNMAN_IPCONFIG_METHOD_MANUAL: break; @@ -1584,6 +1592,7 @@ int __connman_ipconfig_set_config(struct connman_ipconfig *ipconfig, case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_FIXED: + case CONNMAN_IPCONFIG_METHOD_AUTO: return -EINVAL; case CONNMAN_IPCONFIG_METHOD_MANUAL: diff --git a/src/network.c b/src/network.c index 18e3099..612e923 100644 --- a/src/network.c +++ b/src/network.c @@ -757,6 +757,7 @@ static gboolean set_connected(gpointer user_data) switch (ipv6_method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: + case CONNMAN_IPCONFIG_METHOD_AUTO: break; case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_MANUAL: @@ -774,6 +775,7 @@ static gboolean set_connected(gpointer user_data) switch (ipv4_method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: + case CONNMAN_IPCONFIG_METHOD_AUTO: return FALSE; case CONNMAN_IPCONFIG_METHOD_FIXED: if (set_connected_fixed(network) < 0) { @@ -1026,6 +1028,7 @@ int __connman_network_clear_ipconfig(struct connman_network *network, case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_FIXED: + case CONNMAN_IPCONFIG_METHOD_AUTO: return -EINVAL; case CONNMAN_IPCONFIG_METHOD_MANUAL: connman_element_unregister_children_type(&network->element, @@ -1056,6 +1059,7 @@ int __connman_network_set_ipconfig(struct connman_network *network, switch (method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: + case CONNMAN_IPCONFIG_METHOD_AUTO: break; case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_MANUAL: @@ -1078,6 +1082,7 @@ int __connman_network_set_ipconfig(struct connman_network *network, case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_FIXED: + case CONNMAN_IPCONFIG_METHOD_AUTO: return -EINVAL; case CONNMAN_IPCONFIG_METHOD_MANUAL: return manual_ipv4_set(network, ipconfig_ipv4);