projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
key to data elements point at wrong memory area
[project/netifd.git]
/
interface.h
diff --git
a/interface.h
b/interface.h
index
8c7b347
..
8c69958
100644
(file)
--- a/
interface.h
+++ b/
interface.h
@@
-23,6
+23,7
@@
struct interface_proto_state;
enum interface_event {
IFEV_DOWN,
IFEV_UP,
enum interface_event {
IFEV_DOWN,
IFEV_UP,
+ IFEV_UPDATE,
IFEV_FREE,
IFEV_RELOAD,
};
IFEV_FREE,
IFEV_RELOAD,
};
@@
-62,6
+63,7
@@
struct interface_ip_settings {
struct vlist_tree addr;
struct vlist_tree route;
struct vlist_tree addr;
struct vlist_tree route;
+ struct vlist_tree prefix;
struct vlist_simple_tree dns_servers;
struct vlist_simple_tree dns_search;
struct vlist_simple_tree dns_servers;
struct vlist_simple_tree dns_search;
@@
-72,6
+74,11
@@
struct interface_data {
struct blob_attr data[];
};
struct blob_attr data[];
};
+struct interface_assignment_class {
+ struct list_head head;
+ char name[];
+};
+
/*
* interface configuration
*/
/*
* interface configuration
*/
@@
-86,6
+93,8
@@
struct interface {
bool available;
bool autostart;
bool config_autostart;
bool available;
bool autostart;
bool config_autostart;
+ bool device_config;
+ bool dynamic;
time_t start_time;
enum interface_state state;
time_t start_time;
enum interface_state state;
@@
-93,6
+102,9
@@
struct interface {
struct list_head users;
struct list_head users;
+ const char *parent_ifname;
+ struct interface_user parent_iface;
+
/* main interface that the interface is bound to */
struct device_user main_dev;
/* main interface that the interface is bound to */
struct device_user main_dev;
@@
-110,6
+122,13
@@
struct interface {
struct vlist_tree host_routes;
int metric;
struct vlist_tree host_routes;
int metric;
+ unsigned int ip4table;
+ unsigned int ip6table;
+
+ /* IPv6 assignment parameters */
+ uint8_t assignment_length;
+ int32_t assignment_hint;
+ struct list_head assignment_classes;
/* errors/warnings while trying to bring up the interface */
struct list_head errors;
/* errors/warnings while trying to bring up the interface */
struct list_head errors;
@@
-121,13
+140,15
@@
struct interface {
struct ubus_object ubus;
};
struct ubus_object ubus;
};
+
extern struct vlist_tree interfaces;
extern struct vlist_tree interfaces;
-extern const struct
config
_param_list interface_attr_list;
+extern const struct
uci_blob
_param_list interface_attr_list;
void interface_init(struct interface *iface, const char *name,
void interface_init(struct interface *iface, const char *name,
- struct blob_attr *config);
+ struct blob_attr *config
, bool dynamic
);
void interface_add(struct interface *iface, struct blob_attr *config);
void interface_add(struct interface *iface, struct blob_attr *config);
+bool interface_add_alias(struct interface *iface, struct blob_attr *config);
void interface_set_proto_state(struct interface *iface, struct interface_proto_state *state);
void interface_set_proto_state(struct interface *iface, struct interface_proto_state *state);