allow setting rps/xps defualt values via uci
[project/netifd.git] / device.h
index 3c172ce..f398dbc 100644 (file)
--- a/device.h
+++ b/device.h
@@ -51,6 +51,7 @@ enum {
        DEV_ATTR_UNICAST_FLOOD,
        DEV_ATTR_NEIGHGCSTALETIME,
        DEV_ATTR_SENDREDIRECTS,
+       DEV_ATTR_NEIGHLOCKTIME,
        __DEV_ATTR_MAX,
 };
 
@@ -102,7 +103,8 @@ enum {
        DEV_OPT_UNICAST_FLOOD           = (1 << 18),
        DEV_OPT_NEIGHGCSTALETIME        = (1 << 19),
        DEV_OPT_MULTICAST_FAST_LEAVE    = (1 << 20),
-       DEV_OPT_SENDREDIRECTS           = (1 << 17),
+       DEV_OPT_SENDREDIRECTS           = (1 << 21),
+       DEV_OPT_NEIGHLOCKTIME           = (1 << 22),
 };
 
 /* events broadcasted to all users of a device */
@@ -160,8 +162,12 @@ struct device_settings {
        unsigned int neigh6reachabletime;
        unsigned int neigh4gcstaletime;
        unsigned int neigh6gcstaletime;
+       int neigh4locktime;
        bool rps;
+       int rps_val;
+       int rps_flow_cnt;
        bool xps;
+       int xps_val;
        unsigned int dadtransmits;
        bool multicast_to_unicast;
        unsigned int multicast_router;
@@ -247,14 +253,14 @@ device_apply_config(struct device *dev, struct device_type *type,
 
 void device_reset_config(void);
 void device_reset_old(void);
-void device_set_default_ps(bool state);
+void device_set_default_ps(bool state, int xps, int rps, int rps_flow_cnt);
 
 void device_init_virtual(struct device *dev, struct device_type *type, const char *name);
-int device_init(struct device *iface, struct device_type *type, const char *ifname);
+int device_init(struct device *dev, struct device_type *type, const char *ifname);
 void device_cleanup(struct device *dev);
 struct device *device_find(const char *name);
 struct device *device_get(const char *name, int create);
-void device_add_user(struct device_user *dep, struct device *iface);
+void device_add_user(struct device_user *dep, struct device *dev);
 void device_remove_user(struct device_user *dep);
 void device_broadcast_event(struct device *dev, enum device_event ev);