From: Daniel Wagner <[email protected]>

Whenever a new interface is added or removed, create or delete
a corresponing cgroup.
---
 src/device.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/device.c b/src/device.c
index c9e643d..d57f815 100644
--- a/src/device.c
+++ b/src/device.c
@@ -320,6 +320,10 @@ static void remove_device(struct connman_device *device)
                DBG("Marker removal failed %d for IPv6, index %d fwmark %d",
                        ret, device->index, device->fwmark);
 
+       ret = __connman_cgroup_rem_interface(device->index);
+       if (ret < 0)
+               DBG("cgroup removal failed for for index %d", device->index);
+
        __connman_technology_remove_device(device);
 
        if (device->driver->remove)
@@ -548,6 +552,10 @@ void connman_device_set_index(struct connman_device 
*device, int index)
        if (ret < 0)
                DBG("Marker set failed %d for IPv6, index %d fwmark %u",
                        ret, index, device->fwmark);
+
+       ret = __connman_cgroup_add_interface(index, device->fwmark);
+       if (ret < 0)
+               DBG("Cgroup creation failed for index %d", index);
 }
 
 /**
-- 
1.7.12.rc1.16.g05a20c8

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to