From: Jukka Rissanen <[email protected]>

---
 src/connman.h |  2 ++
 src/device.c  | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/src/connman.h b/src/connman.h
index c70e5cc..5d125ea 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -500,6 +500,8 @@ void __connman_device_set_reconnect(struct connman_device 
*device,
 connman_bool_t __connman_device_get_reconnect(struct connman_device *device);
 
 const char *__connman_device_get_type(struct connman_device *device);
+uint32_t __connman_device_get_fwmark(struct connman_device *device);
+void __connman_device_set_fwmark(struct connman_device *device, uint32_t 
fwmark);
 
 int __connman_rfkill_init(void);
 void __connman_rfkill_cleanup(void);
diff --git a/src/device.c b/src/device.c
index 0fda950..2ec544d 100644
--- a/src/device.c
+++ b/src/device.c
@@ -64,6 +64,12 @@ struct connman_device {
        char *last_network;
        struct connman_network *network;
        GHashTable *networks;
+
+       /*
+        * All sockets in cgroup net container are marked with this value
+        * for routing purposes.
+        */
+       uint32_t fwmark;
 };
 
 static void clear_pending_trigger(struct connman_device *device)
@@ -1142,6 +1148,17 @@ int __connman_device_request_hidden_scan(struct 
connman_device *device,
                                        identity, passphrase, user_data);
 }
 
+uint32_t __connman_device_get_fwmark(struct connman_device *device)
+{
+       return device->fwmark;
+}
+
+void __connman_device_set_fwmark(struct connman_device *device,
+                               uint32_t fwmark)
+{
+       device->fwmark = fwmark;
+}
+
 connman_bool_t __connman_device_isfiltered(const char *devname)
 {
        char **pattern;
-- 
1.7.12.rc1.16.g05a20c8

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

Reply via email to