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