projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
alias: clean up device dependencies on free
[project/netifd.git]
/
device.h
diff --git
a/device.h
b/device.h
index
3001f10
..
a6c131a
100644
(file)
--- a/
device.h
+++ b/
device.h
@@
-28,6
+28,7
@@
typedef int (*device_state_cb)(struct device *, bool up);
enum {
DEV_ATTR_TYPE,
DEV_ATTR_MTU,
enum {
DEV_ATTR_TYPE,
DEV_ATTR_MTU,
+ DEV_ATTR_MTU6,
DEV_ATTR_MACADDR,
DEV_ATTR_TXQUEUELEN,
DEV_ATTR_ENABLED,
DEV_ATTR_MACADDR,
DEV_ATTR_TXQUEUELEN,
DEV_ATTR_ENABLED,
@@
-40,6
+41,9
@@
enum {
DEV_ATTR_NEIGHREACHABLETIME,
DEV_ATTR_RPS,
DEV_ATTR_XPS,
DEV_ATTR_NEIGHREACHABLETIME,
DEV_ATTR_RPS,
DEV_ATTR_XPS,
+ DEV_ATTR_DADTRANSMITS,
+ DEV_ATTR_MULTICAST_TO_UNICAST,
+ DEV_ATTR_MULTICAST_ROUTER,
__DEV_ATTR_MAX,
};
__DEV_ATTR_MAX,
};
@@
-54,8
+58,6
@@
struct device_type {
struct list_head list;
const char *name;
struct list_head list;
const char *name;
- bool keep_link_status;
-
const struct uci_blob_param_list *config_params;
struct device *(*create)(const char *name, struct blob_attr *attr);
const struct uci_blob_param_list *config_params;
struct device *(*create)(const char *name, struct blob_attr *attr);
@@
-80,6
+82,10
@@
enum {
DEV_OPT_NEIGHREACHABLETIME = (1 << 9),
DEV_OPT_RPS = (1 << 10),
DEV_OPT_XPS = (1 << 11),
DEV_OPT_NEIGHREACHABLETIME = (1 << 9),
DEV_OPT_RPS = (1 << 10),
DEV_OPT_XPS = (1 << 11),
+ DEV_OPT_MTU6 = (1 << 12),
+ DEV_OPT_DADTRANSMITS = (1 << 13),
+ DEV_OPT_MULTICAST_TO_UNICAST = (1 << 14),
+ DEV_OPT_MULTICAST_ROUTER = (1 << 15),
};
/* events broadcasted to all users of a device */
};
/* events broadcasted to all users of a device */
@@
-122,7
+128,9
@@
struct device_user {
struct device_settings {
unsigned int flags;
struct device_settings {
unsigned int flags;
+ unsigned int valid_flags;
unsigned int mtu;
unsigned int mtu;
+ unsigned int mtu6;
unsigned int txqueuelen;
uint8_t macaddr[6];
bool ipv6;
unsigned int txqueuelen;
uint8_t macaddr[6];
bool ipv6;
@@
-135,6
+143,9
@@
struct device_settings {
unsigned int neigh6reachabletime;
bool rps;
bool xps;
unsigned int neigh6reachabletime;
bool rps;
bool xps;
+ unsigned int dadtransmits;
+ bool multicast_to_unicast;
+ unsigned int multicast_router;
};
/*
};
/*
@@
-154,8
+165,11
@@
struct device {
struct blob_attr *config;
bool config_pending;
bool sys_present;
struct blob_attr *config;
bool config_pending;
bool sys_present;
+ /* DEV_EVENT_ADD */
bool present;
bool present;
+ /* DEV_EVENT_UP */
int active;
int active;
+ /* DEV_EVENT_LINK_UP */
bool link_active;
bool external;
bool link_active;
bool external;
@@
-167,6
+181,8
@@
struct device {
bool iface_config;
bool default_config;
bool wireless;
bool iface_config;
bool default_config;
bool wireless;
+ bool wireless_ap;
+ bool wireless_isolate;
struct interface *config_iface;
struct interface *config_iface;