CMake: bump the minimum required CMake version to 3.5
[project/netifd.git] / iprule.h
index b723bdb05d7dba5be6167883584fa5159c777957..488aafc69c3a7bc305139f58035280776e7a6246 100644 (file)
--- a/iprule.h
+++ b/iprule.h
@@ -63,20 +63,34 @@ enum iprule_flags {
 
        /* rule suppresses results by prefix length */
        IPRULE_SUP_PREFIXLEN    = (1 << 13),
+
+       /* rule specifies uidrange */
+       IPRULE_UIDRANGE         = (1 << 14),
 };
 
 struct iprule {
        struct vlist_node node;
        unsigned int order;
 
+       /* to receive interface events */
+       struct interface_user in_iface_user;
+       struct interface_user out_iface_user;
+
+       /* device name */
+       char in_dev[IFNAMSIZ];
+       char out_dev[IFNAMSIZ];
+
        /* everything below is used as avl tree key */
+       /* don't change the order                   */
+
+       /* uci interface name */
+       char *in_iface;
+       char *out_iface;
+
        enum iprule_flags flags;
 
        bool invert;
 
-       char in_dev[IFNAMSIZ + 1];
-       char out_dev[IFNAMSIZ + 1];
-
        unsigned int src_mask;
        union if_addr src_addr;
 
@@ -91,6 +105,8 @@ struct iprule {
 
        unsigned int lookup;
        unsigned int sup_prefixlen;
+       unsigned int uidrange_start;
+       unsigned int uidrange_end;
        unsigned int action;
        unsigned int gotoid;
 };