projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
iprule: Insert network and address ip rules before main table lookup rule
[project/netifd.git]
/
device.h
diff --git
a/device.h
b/device.h
index
4b36641
..
b2c0ba9
100644
(file)
--- a/
device.h
+++ b/
device.h
@@
-21,12
+21,14
@@
struct device;
struct device_user;
struct device_hotplug_ops;
struct device;
struct device_user;
struct device_hotplug_ops;
+struct interface;
typedef int (*device_state_cb)(struct device *, bool up);
enum {
DEV_ATTR_TYPE,
DEV_ATTR_MTU,
typedef int (*device_state_cb)(struct device *, bool up);
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,
@@
-39,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,
};
@@
-77,6
+82,12
@@
enum {
DEV_OPT_IGMPVERSION = (1 << 7),
DEV_OPT_MLDVERSION = (1 << 8),
DEV_OPT_NEIGHREACHABLETIME = (1 << 9),
DEV_OPT_IGMPVERSION = (1 << 7),
DEV_OPT_MLDVERSION = (1 << 8),
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 */
@@
-120,6
+131,7
@@
struct device_user {
struct device_settings {
unsigned int flags;
unsigned int mtu;
struct device_settings {
unsigned int flags;
unsigned int mtu;
+ unsigned int mtu6;
unsigned int txqueuelen;
uint8_t macaddr[6];
bool ipv6;
unsigned int txqueuelen;
uint8_t macaddr[6];
bool ipv6;
@@
-132,6
+144,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;
};
/*
};
/*
@@
-151,8
+166,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;
@@
-164,6
+182,9
@@
struct device {
bool iface_config;
bool default_config;
bool wireless;
bool iface_config;
bool default_config;
bool wireless;
+ bool wireless_isolate;
+
+ struct interface *config_iface;
/* set interface up or down */
device_state_cb set_state;
/* set interface up or down */
device_state_cb set_state;
@@
-203,6
+224,7
@@
device_apply_config(struct device *dev, const struct device_type *type,
void device_reset_config(void);
void device_reset_old(void);
void device_reset_config(void);
void device_reset_old(void);
+void device_set_default_ps(bool state);
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);