projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
apply device settings to simple devices with config specified from the interface...
[project/netifd.git]
/
device.h
diff --git
a/device.h
b/device.h
index
8ecb9ef
..
f7718cc
100644
(file)
--- a/
device.h
+++ b/
device.h
@@
-11,7
+11,6
@@
typedef int (*device_state_cb)(struct device *, bool up);
enum {
DEV_ATTR_TYPE,
enum {
DEV_ATTR_TYPE,
- DEV_ATTR_NAME,
DEV_ATTR_IFNAME,
DEV_ATTR_MTU,
DEV_ATTR_MACADDR,
DEV_ATTR_IFNAME,
DEV_ATTR_MTU,
DEV_ATTR_MACADDR,
@@
-31,9
+30,11
@@
struct device_type {
const struct config_param_list *config_params;
const struct config_param_list *config_params;
- struct device *(*create)(struct blob_attr *attr);
+ struct device *(*create)(const char *name, struct blob_attr *attr);
+ void (*config_init)(struct device *);
enum dev_change_type (*reload)(struct device *, struct blob_attr *);
enum dev_change_type (*reload)(struct device *, struct blob_attr *);
- void (*dump_status)(struct device *, struct blob_buf *buf);
+ void (*dump_info)(struct device *, struct blob_buf *buf);
+ void (*dump_stats)(struct device *, struct blob_buf *buf);
int (*check_state)(struct device *);
void (*free)(struct device *);
};
int (*check_state)(struct device *);
void (*free)(struct device *);
};
@@
-58,9
+59,13
@@
struct device {
int ifindex;
struct blob_attr *config;
int ifindex;
struct blob_attr *config;
+ bool config_pending;
bool present;
int active;
bool present;
int active;
+ bool current_config;
+ bool default_config;
+
/* set interface up or down */
device_state_cb set_state;
/* set interface up or down */
device_state_cb set_state;
@@
-111,6
+116,14
@@
extern const struct device_type bridge_device_type;
struct device *device_create(const char *name, const struct device_type *type,
struct blob_attr *config);
void device_init_settings(struct device *dev, struct blob_attr **tb);
struct device *device_create(const char *name, const struct device_type *type,
struct blob_attr *config);
void device_init_settings(struct device *dev, struct blob_attr **tb);
+void device_init_pending(void);
+
+enum dev_change_type
+device_set_config(struct device *dev, const struct device_type *type,
+ struct blob_attr *attr);
+
+void device_reset_config(void);
+void device_reset_old(void);
void device_init_virtual(struct device *dev, const struct device_type *type, const char *name);
int device_init(struct device *iface, const struct device_type *type, const char *ifname);
void device_init_virtual(struct device *dev, const struct device_type *type, const char *name);
int device_init(struct device *iface, const struct device_type *type, const char *ifname);
@@
-123,6
+136,7
@@
void device_set_present(struct device *dev, bool state);
int device_claim(struct device_user *dep);
void device_release(struct device_user *dep);
int device_check_state(struct device *dev);
int device_claim(struct device_user *dep);
void device_release(struct device_user *dep);
int device_check_state(struct device *dev);
+void device_dump_status(struct blob_buf *b, struct device *dev);
static inline void
device_free(struct device *dev)
static inline void
device_free(struct device *dev)
@@
-133,5
+147,6
@@
device_free(struct device *dev)
void device_free_unused(struct device *dev);
struct device *get_vlan_device_chain(const char *ifname, bool create);
void device_free_unused(struct device *dev);
struct device *get_vlan_device_chain(const char *ifname, bool create);
+void alias_notify_device(const char *name, struct device *dev);
#endif
#endif