RE: [PATCH autoconf 1/3] ipv6: Added autoconf IP configuration method which is used in IPv6 networks

2010-12-17 Thread Jukka.Rissanen
Hi Samuel,

ext Samuel Ortiz wrote:
> Hi Jukka,
> 
>> @@ -760,6 +760,7 @@ static gboolean set_connected(gpointer
>>  user_data)  break; case 
>> CONNMAN_IPCONFIG_METHOD_FIXED:
>>  case CONNMAN_IPCONFIG_METHOD_MANUAL:
>> +case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
>>  ret = manual_ipv6_set(network, ipconfig_ipv6);
> Do we really want to manually set the IPv6 address in the AUTOCONF
> case ? 

Well not really and my next patchset will have a separate case for autoconf.


Jukka
___
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman


Re: [PATCH autoconf 1/3] ipv6: Added autoconf IP configuration method which is used in IPv6 networks

2010-12-17 Thread Samuel Ortiz
Hi Jukka,

On Wed, Dec 15, 2010 at 01:10:20PM +0200, Jukka Rissanen wrote:
> ---
>  include/ipconfig.h |   11 ++-
>  plugins/ofono.c|1 +
>  src/ipconfig.c |9 +
>  src/network.c  |5 +
>  4 files changed, 21 insertions(+), 5 deletions(-)
The patch looks good, I just have one question:

> diff --git a/src/network.c b/src/network.c
> index 57d873a..8083c7b 100644
> --- a/src/network.c
> +++ b/src/network.c
> @@ -760,6 +760,7 @@ static gboolean set_connected(gpointer user_data)
>   break;
>   case CONNMAN_IPCONFIG_METHOD_FIXED:
>   case CONNMAN_IPCONFIG_METHOD_MANUAL:
> + case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
>   ret = manual_ipv6_set(network, ipconfig_ipv6);
Do we really want to manually set the IPv6 address in the AUTOCONF case ?
If IPv6 autoconfiguration is enabled at the kernel level, the kernel will
actually set the address by itself.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/
___
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman


[PATCH autoconf 1/3] ipv6: Added autoconf IP configuration method which is used in IPv6 networks

2010-12-15 Thread Jukka Rissanen
---
 include/ipconfig.h |   11 ++-
 plugins/ofono.c|1 +
 src/ipconfig.c |9 +
 src/network.c  |5 +
 4 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/include/ipconfig.h b/include/ipconfig.h
index 01b8aaf..ed03081 100644
--- a/include/ipconfig.h
+++ b/include/ipconfig.h
@@ -56,11 +56,12 @@ enum connman_ipconfig_type {
 };
 
 enum connman_ipconfig_method {
-   CONNMAN_IPCONFIG_METHOD_UNKNOWN = 0,
-   CONNMAN_IPCONFIG_METHOD_OFF = 1,
-   CONNMAN_IPCONFIG_METHOD_FIXED   = 2,
-   CONNMAN_IPCONFIG_METHOD_MANUAL  = 3,
-   CONNMAN_IPCONFIG_METHOD_DHCP= 4,
+   CONNMAN_IPCONFIG_METHOD_UNKNOWN  = 0,
+   CONNMAN_IPCONFIG_METHOD_OFF  = 1,
+   CONNMAN_IPCONFIG_METHOD_FIXED= 2,
+   CONNMAN_IPCONFIG_METHOD_MANUAL   = 3,
+   CONNMAN_IPCONFIG_METHOD_DHCP = 4,
+   CONNMAN_IPCONFIG_METHOD_AUTOCONF = 5,
 };
 
 struct connman_ipconfig;
diff --git a/plugins/ofono.c b/plugins/ofono.c
index 1cb0961..fc02508 100644
--- a/plugins/ofono.c
+++ b/plugins/ofono.c
@@ -1494,6 +1494,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_AUTOCONF:
return;
 
case CONNMAN_IPCONFIG_METHOD_FIXED:
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 3c0579d..3ba83d4 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -1131,6 +1131,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_AUTOCONF:
break;
case CONNMAN_IPCONFIG_METHOD_MANUAL:
if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV4)
@@ -1158,6 +1159,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_AUTOCONF:
break;
case CONNMAN_IPCONFIG_METHOD_MANUAL:
if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV4)
@@ -1339,6 +1341,8 @@ const char *__connman_ipconfig_method2string(enum 
connman_ipconfig_method method
return "manual";
case CONNMAN_IPCONFIG_METHOD_DHCP:
return "dhcp";
+   case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
+   return "autoconf";
}
 
return NULL;
@@ -1354,6 +1358,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, "autoconf") == 0)
+   return CONNMAN_IPCONFIG_METHOD_AUTOCONF;
else
return CONNMAN_IPCONFIG_METHOD_UNKNOWN;
 }
@@ -1449,6 +1455,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_AUTOCONF:
break;
}
 
@@ -1486,6 +1493,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_AUTOCONF:
return;
case CONNMAN_IPCONFIG_METHOD_MANUAL:
break;
@@ -1594,6 +1602,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_AUTOCONF:
return -EINVAL;
 
case CONNMAN_IPCONFIG_METHOD_MANUAL:
diff --git a/src/network.c b/src/network.c
index 57d873a..8083c7b 100644
--- a/src/network.c
+++ b/src/network.c
@@ -760,6 +760,7 @@ static gboolean set_connected(gpointer user_data)
break;
case CONNMAN_IPCONFIG_METHOD_FIXED:
case CONNMAN_IPCONFIG_METHOD_MANUAL:
+   case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
ret = manual_ipv6_set(network, ipconfig_ipv6);
if (ret != 0) {
connman_network_set_error(network,
@@ -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_AUTOCONF:
return FALSE;
case CONNMAN_IPCONF