summaryrefslogtreecommitdiff
path: root/src/ipconfig.c
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2012-01-27 15:10:58 +0100
committerDaniel Wagner <daniel.wagner@bmw-carit.de>2012-02-01 10:13:19 +0100
commit6ffce0e2a18ca49e82bde88d84ce593f5d8e29b3 (patch)
treeb13bc660737656df6b89a5d2415f7d4a97b97b68 /src/ipconfig.c
parent772c408e91c52c9feedec9c5bf8ba936ab13e5fe (diff)
downloadconnman-6ffce0e2a18ca49e82bde88d84ce593f5d8e29b3.tar.gz
connman-6ffce0e2a18ca49e82bde88d84ce593f5d8e29b3.tar.bz2
connman-6ffce0e2a18ca49e82bde88d84ce593f5d8e29b3.zip
ipconfig: Add/del IP address from IP pool
Diffstat (limited to 'src/ipconfig.c')
-rw-r--r--src/ipconfig.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 34a8ddcb..1f79d2ed 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -806,6 +806,9 @@ void __connman_ipconfig_newaddr(int index, int family, const char *label,
connman_info("%s {add} address %s/%u label %s family %d",
ipdevice->ifname, address, prefixlen, label, family);
+ if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
+ __connman_ippool_newaddr(index, address);
+
if (ipdevice->config_ipv4 != NULL && family == AF_INET)
connman_ipaddress_copy(ipdevice->config_ipv4->system,
ipaddress);
@@ -871,6 +874,9 @@ void __connman_ipconfig_deladdr(int index, int family, const char *label,
connman_info("%s {del} address %s/%u label %s", ipdevice->ifname,
address, prefixlen, label);
+ if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
+ __connman_ippool_deladdr(index, address);
+
if ((ipdevice->flags & (IFF_RUNNING | IFF_LOWER_UP)) != (IFF_RUNNING | IFF_LOWER_UP))
return;