Send connman mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.01.org/mailman/listinfo/connman
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of connman digest..."


Today's Topics:

   1. [PATCH] dhcp: multiple interfaces with link-local connection
      (Heghedus Razvan)


----------------------------------------------------------------------

Message: 1
Date: Fri, 23 Jun 2017 14:27:35 +0300
From: Heghedus Razvan <[email protected]>
To: <[email protected]>
Subject: [PATCH] dhcp: multiple interfaces with link-local connection
Message-ID: <[email protected]>
Content-Type: text/plain

By default connman limits the link-local connection to a single
interface, meaning that we can't have multiple interfaces connected to
link-local networks.
This allows connman to have multiple link-local connections.

Signed-off-by: Heghedus Razvan <[email protected]>
---
 src/dhcp.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/dhcp.c b/src/dhcp.c
index 54fb64e5..509e3734 100644
--- a/src/dhcp.c
+++ b/src/dhcp.c
@@ -59,10 +59,11 @@ struct connman_dhcp {
        GDHCPClient *dhcp_client;
        char *ipv4ll_debug_prefix;
        char *dhcp_debug_prefix;
+
+    bool ipv4ll_running;
 };
 
 static GHashTable *ipconfig_table;
-static bool ipv4ll_running;
 
 static void dhcp_free(struct connman_dhcp *dhcp)
 {
@@ -85,7 +86,7 @@ static void ipv4ll_stop_client(struct connman_dhcp *dhcp)
        g_dhcp_client_stop(dhcp->ipv4ll_client);
        g_dhcp_client_unref(dhcp->ipv4ll_client);
        dhcp->ipv4ll_client = NULL;
-       ipv4ll_running = false;
+       dhcp->ipv4ll_running = false;
 
        g_free(dhcp->ipv4ll_debug_prefix);
        dhcp->ipv4ll_debug_prefix = NULL;
@@ -232,7 +233,7 @@ static int ipv4ll_start_client(struct connman_dhcp *dhcp)
                return err;
        }
 
-       ipv4ll_running = true;
+       dhcp->ipv4ll_running = true;
        return 0;
 }
 
@@ -253,7 +254,7 @@ static void no_lease_cb(GDHCPClient *dhcp_client, gpointer 
user_data)
        struct connman_dhcp *dhcp = user_data;
        int err;
 
-       DBG("No lease available ipv4ll %d client %p", ipv4ll_running,
+       DBG("No lease available ipv4ll %d client %p", dhcp->ipv4ll_running,
                dhcp->ipv4ll_client);
 
        if (dhcp->timeout > 0)
@@ -262,7 +263,7 @@ static void no_lease_cb(GDHCPClient *dhcp_client, gpointer 
user_data)
        dhcp->timeout = g_timeout_add_seconds(RATE_LIMIT_INTERVAL,
                                                dhcp_retry_cb,
                                                dhcp);
-       if (ipv4ll_running)
+       if (dhcp->ipv4ll_running)
                return;
 
        err = ipv4ll_start_client(dhcp);
@@ -270,7 +271,7 @@ static void no_lease_cb(GDHCPClient *dhcp_client, gpointer 
user_data)
                DBG("Cannot start ipv4ll client (%d/%s)", err, strerror(-err));
 
        /* Only notify upper layer if we have a problem */
-       dhcp_invalidate(dhcp, !ipv4ll_running);
+       dhcp_invalidate(dhcp, !dhcp->ipv4ll_running);
 }
 
 static void lease_lost_cb(GDHCPClient *dhcp_client, gpointer user_data)
-- 
2.13.1



------------------------------

Subject: Digest Footer

_______________________________________________
connman mailing list
[email protected]
https://lists.01.org/mailman/listinfo/connman


------------------------------

End of connman Digest, Vol 20, Issue 13
***************************************

Reply via email to