netifd: Add option to configure gc_stale_time for each device
[project/netifd.git] / device.h
index 4ff335d..77a2fef 100644 (file)
--- a/device.h
+++ b/device.h
@@ -44,6 +44,10 @@ enum {
        DEV_ATTR_DADTRANSMITS,
        DEV_ATTR_MULTICAST_TO_UNICAST,
        DEV_ATTR_MULTICAST_ROUTER,
+       DEV_ATTR_MULTICAST,
+       DEV_ATTR_LEARNING,
+       DEV_ATTR_UNICAST_FLOOD,
+       DEV_ATTR_NEIGHGCSTALETIME,
        __DEV_ATTR_MAX,
 };
 
@@ -86,6 +90,10 @@ enum {
        DEV_OPT_DADTRANSMITS            = (1 << 13),
        DEV_OPT_MULTICAST_TO_UNICAST    = (1 << 14),
        DEV_OPT_MULTICAST_ROUTER        = (1 << 15),
+       DEV_OPT_MULTICAST               = (1 << 16),
+       DEV_OPT_LEARNING                = (1 << 17),
+       DEV_OPT_UNICAST_FLOOD           = (1 << 18),
+       DEV_OPT_NEIGHGCSTALETIME        = (1 << 19),
 };
 
 /* events broadcasted to all users of a device */
@@ -128,6 +136,7 @@ struct device_user {
 
 struct device_settings {
        unsigned int flags;
+       unsigned int valid_flags;
        unsigned int mtu;
        unsigned int mtu6;
        unsigned int txqueuelen;
@@ -140,11 +149,16 @@ struct device_settings {
        unsigned int mldversion;
        unsigned int neigh4reachabletime;
        unsigned int neigh6reachabletime;
+       unsigned int neigh4gcstaletime;
+       unsigned int neigh6gcstaletime;
        bool rps;
        bool xps;
        unsigned int dadtransmits;
        bool multicast_to_unicast;
        unsigned int multicast_router;
+       bool multicast;
+       bool learning;
+       bool unicast_flood;
 };
 
 /*