ubus: split address from mask in interface status
[project/netifd.git] / device.h
index 338138f..7454d54 100644 (file)
--- a/device.h
+++ b/device.h
@@ -23,6 +23,7 @@ enum {
 enum dev_change_type {
        DEV_CONFIG_NO_CHANGE,
        DEV_CONFIG_APPLIED,
+       DEV_CONFIG_RESTART,
        DEV_CONFIG_RECREATE,
 };
 
@@ -74,6 +75,13 @@ struct device_user {
        void (*cb)(struct device_user *, enum device_event);
 };
 
+struct device_settings {
+       unsigned int flags;
+       unsigned int mtu;
+       unsigned int txqueuelen;
+       uint8_t macaddr[6];
+};
+
 /* 
  * link layer device. typically represents a linux network device.
  * can be used to support VLANs as well
@@ -105,12 +113,8 @@ struct device {
 
        struct device_user parent;
 
-       /* settings */
-       unsigned int flags;
-
-       unsigned int mtu;
-       unsigned int txqueuelen;
-       uint8_t macaddr[6];
+       struct device_settings orig_settings;
+       struct device_settings settings;
 };
 
 struct device_hotplug_ops {
@@ -122,6 +126,7 @@ struct device_hotplug_ops {
 extern const struct config_param_list device_attr_list;
 extern const struct device_type simple_device_type;
 extern const struct device_type bridge_device_type;
+extern const struct device_type tunnel_device_type;
 
 void device_lock(void);
 void device_unlock(void);