Re: [RFC v2] network: Merge identical ipconfig code paths

2015-02-13 Thread Patrik Flykt
On Wed, 2015-02-11 at 13:54 +0200, Patrik Flykt wrote:
 Configure IPv4 and IPv6 configurations only once in
 __connman_network_enable_ipconfig() and use this function when setting
 the network connected. Remove obsolete function and rework the rest
 to centralise configuration state and error reporting.
 
 The variable network-connecting is true as long as the IPv4 or IPv6
 address configuration phase is ongoing.

Fixed according to Jukka's comment and applied.

Cheers,

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [RFC v2] network: Merge identical ipconfig code paths

2015-02-13 Thread Pasi Sjöholm
Hi,

tested this also with jolla's fork and seems to be working (played with
it only 10min).

Br,
Pasi

On 11.02.2015 13:54, Patrik Flykt wrote:
 Configure IPv4 and IPv6 configurations only once in
 __connman_network_enable_ipconfig() and use this function when setting
 the network connected. Remove obsolete function and rework the rest
 to centralise configuration state and error reporting.
 
 The variable network-connecting is true as long as the IPv4 or IPv6
 address configuration phase is ongoing.
 ---
 
 
   Hi,
 
 This is a fairly large patch that removes duplicate code in set_connected()
 in favor of using the one in __connman_network_set_ipconfig(). There is
 no change in functionality in this patch.
 
 v2 fixes a glitch with variable naming wrt rebasing
 
 
 Please test,
 
Patrik
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [RFC v2] network: Merge identical ipconfig code paths

2015-02-12 Thread Jukka Rissanen
Hi Patrik,

On ke, 2015-02-11 at 13:54 +0200, Patrik Flykt wrote:
 Configure IPv4 and IPv6 configurations only once in
 __connman_network_enable_ipconfig() and use this function when setting
 the network connected. Remove obsolete function and rework the rest
 to centralise configuration state and error reporting.
 
 The variable network-connecting is true as long as the IPv4 or IPv6
 address configuration phase is ongoing.
 ---
 
 
   Hi,
 
 This is a fairly large patch that removes duplicate code in set_connected()
 in favor of using the one in __connman_network_set_ipconfig(). There is
 no change in functionality in this patch.
 
 v2 fixes a glitch with variable naming wrt rebasing
 
 
 Please test,
 
Patrik
 
 
  src/connman.h |   5 +-
  src/network.c | 218 
 +-
  src/service.c |  21 +++---
  3 files changed, 80 insertions(+), 164 deletions(-)
 
 diff --git a/src/connman.h b/src/connman.h
 index 8d4a692..d4765cc 100644
 --- a/src/connman.h
 +++ b/src/connman.h
 @@ -587,9 +587,8 @@ int __connman_network_connect(struct connman_network 
 *network);
  int __connman_network_disconnect(struct connman_network *network);
  int __connman_network_clear_ipconfig(struct connman_network *network,
   struct connman_ipconfig *ipconfig);
 -int __connman_network_set_ipconfig(struct connman_network *network,
 - struct connman_ipconfig *ipconfig_ipv4,
 - struct connman_ipconfig *ipconfig_ipv6);
 +int __connman_network_enable_ipconfig(struct connman_network *network,
 + struct connman_ipconfig *ipconfig);
  
  const char *__connman_network_get_type(struct connman_network *network);
  const char *__connman_network_get_group(struct connman_network *network);
 diff --git a/src/network.c b/src/network.c
 index 0cef220..253966e 100644
 --- a/src/network.c
 +++ b/src/network.c
 @@ -153,10 +153,6 @@ static void dhcp_success(struct connman_network *network)
   if (!service)
   goto err;
  
 - connman_network_set_associating(network, false);
 -
 - network-connecting = false;
 -
   ipconfig_ipv4 = __connman_service_get_ip4config(service);
  
   DBG(lease acquired for ipconfig %p, ipconfig_ipv4);
 @@ -188,9 +184,6 @@ static void dhcp_failure(struct connman_network *network)
   if (!service)
   return;
  
 - connman_network_set_associating(network, false);
 - network-connecting = false;
 -
   ipconfig_ipv4 = __connman_service_get_ip4config(service);
  
   DBG(lease lost for ipconfig %p, ipconfig_ipv4);
 @@ -206,55 +199,24 @@ static void dhcp_callback(struct connman_ipconfig 
 *ipconfig,
   struct connman_network *network,
   bool success, gpointer data)
  {
 + network-connecting = false;
 +
   if (success)
   dhcp_success(network);
   else
   dhcp_failure(network);
  }
  
 -static int set_connected_fixed(struct connman_network *network)
 -{
 - struct connman_service *service;
 - struct connman_ipconfig *ipconfig_ipv4;
 - int err;
 -
 - DBG();
 -
 - service = connman_service_lookup_from_network(network);
 -
 - ipconfig_ipv4 = __connman_service_get_ip4config(service);
 -
 - set_configuration(network, CONNMAN_IPCONFIG_TYPE_IPV4);
 -
 - network-connecting = false;
 -
 - connman_network_set_associating(network, false);
 -
 - err = __connman_ipconfig_address_add(ipconfig_ipv4);
 - if (err  0)
 - goto err;
 -
 - err = __connman_ipconfig_gateway_add(ipconfig_ipv4);
 - if (err  0)
 - goto err;
 -
 - return 0;
 -
 -err:
 - connman_network_set_error(network,
 - CONNMAN_NETWORK_ERROR_CONFIGURE_FAIL);
 -
 - return err;
 -}
 -
 -static void set_connected_manual(struct connman_network *network)
 +static int set_connected_manual(struct connman_network *network)
  {
 + int err = 0;
   struct connman_service *service;
   struct connman_ipconfig *ipconfig;
 - int err;
  
   DBG(network %p, network);
  
 + network-connecting = false;
 +
   service = connman_service_lookup_from_network(network);
  
   ipconfig = __connman_service_get_ip4config(service);
 @@ -262,8 +224,6 @@ static void set_connected_manual(struct connman_network 
 *network)
   if (!__connman_ipconfig_get_local(ipconfig))
   __connman_service_read_ip4config(service);
  
 - set_configuration(network, CONNMAN_IPCONFIG_TYPE_IPV4);
 -
   err = __connman_ipconfig_address_add(ipconfig);
   if (err  0)
   goto err;
 @@ -272,16 +232,8 @@ static void set_connected_manual(struct connman_network 
 *network)
   if (err  0)
   goto err;
  
 - network-connecting = false;
 -
 - connman_network_set_associating(network, false);
 -
 - return;
 -
  err:
 - 

[RFC v2] network: Merge identical ipconfig code paths

2015-02-11 Thread Patrik Flykt
Configure IPv4 and IPv6 configurations only once in
__connman_network_enable_ipconfig() and use this function when setting
the network connected. Remove obsolete function and rework the rest
to centralise configuration state and error reporting.

The variable network-connecting is true as long as the IPv4 or IPv6
address configuration phase is ongoing.
---


Hi,

This is a fairly large patch that removes duplicate code in set_connected()
in favor of using the one in __connman_network_set_ipconfig(). There is
no change in functionality in this patch.

v2 fixes a glitch with variable naming wrt rebasing


Please test,

   Patrik


 src/connman.h |   5 +-
 src/network.c | 218 +-
 src/service.c |  21 +++---
 3 files changed, 80 insertions(+), 164 deletions(-)

diff --git a/src/connman.h b/src/connman.h
index 8d4a692..d4765cc 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -587,9 +587,8 @@ int __connman_network_connect(struct connman_network 
*network);
 int __connman_network_disconnect(struct connman_network *network);
 int __connman_network_clear_ipconfig(struct connman_network *network,
struct connman_ipconfig *ipconfig);
-int __connman_network_set_ipconfig(struct connman_network *network,
-   struct connman_ipconfig *ipconfig_ipv4,
-   struct connman_ipconfig *ipconfig_ipv6);
+int __connman_network_enable_ipconfig(struct connman_network *network,
+   struct connman_ipconfig *ipconfig);
 
 const char *__connman_network_get_type(struct connman_network *network);
 const char *__connman_network_get_group(struct connman_network *network);
diff --git a/src/network.c b/src/network.c
index 0cef220..253966e 100644
--- a/src/network.c
+++ b/src/network.c
@@ -153,10 +153,6 @@ static void dhcp_success(struct connman_network *network)
if (!service)
goto err;
 
-   connman_network_set_associating(network, false);
-
-   network-connecting = false;
-
ipconfig_ipv4 = __connman_service_get_ip4config(service);
 
DBG(lease acquired for ipconfig %p, ipconfig_ipv4);
@@ -188,9 +184,6 @@ static void dhcp_failure(struct connman_network *network)
if (!service)
return;
 
-   connman_network_set_associating(network, false);
-   network-connecting = false;
-
ipconfig_ipv4 = __connman_service_get_ip4config(service);
 
DBG(lease lost for ipconfig %p, ipconfig_ipv4);
@@ -206,55 +199,24 @@ static void dhcp_callback(struct connman_ipconfig 
*ipconfig,
struct connman_network *network,
bool success, gpointer data)
 {
+   network-connecting = false;
+
if (success)
dhcp_success(network);
else
dhcp_failure(network);
 }
 
-static int set_connected_fixed(struct connman_network *network)
-{
-   struct connman_service *service;
-   struct connman_ipconfig *ipconfig_ipv4;
-   int err;
-
-   DBG();
-
-   service = connman_service_lookup_from_network(network);
-
-   ipconfig_ipv4 = __connman_service_get_ip4config(service);
-
-   set_configuration(network, CONNMAN_IPCONFIG_TYPE_IPV4);
-
-   network-connecting = false;
-
-   connman_network_set_associating(network, false);
-
-   err = __connman_ipconfig_address_add(ipconfig_ipv4);
-   if (err  0)
-   goto err;
-
-   err = __connman_ipconfig_gateway_add(ipconfig_ipv4);
-   if (err  0)
-   goto err;
-
-   return 0;
-
-err:
-   connman_network_set_error(network,
-   CONNMAN_NETWORK_ERROR_CONFIGURE_FAIL);
-
-   return err;
-}
-
-static void set_connected_manual(struct connman_network *network)
+static int set_connected_manual(struct connman_network *network)
 {
+   int err = 0;
struct connman_service *service;
struct connman_ipconfig *ipconfig;
-   int err;
 
DBG(network %p, network);
 
+   network-connecting = false;
+
service = connman_service_lookup_from_network(network);
 
ipconfig = __connman_service_get_ip4config(service);
@@ -262,8 +224,6 @@ static void set_connected_manual(struct connman_network 
*network)
if (!__connman_ipconfig_get_local(ipconfig))
__connman_service_read_ip4config(service);
 
-   set_configuration(network, CONNMAN_IPCONFIG_TYPE_IPV4);
-
err = __connman_ipconfig_address_add(ipconfig);
if (err  0)
goto err;
@@ -272,16 +232,8 @@ static void set_connected_manual(struct connman_network 
*network)
if (err  0)
goto err;
 
-   network-connecting = false;
-
-   connman_network_set_associating(network, false);
-
-   return;
-
 err:
-   connman_network_set_error(network,
-   CONNMAN_NETWORK_ERROR_CONFIGURE_FAIL);
-