CMake: bump the minimum required CMake version to 3.5
[project/netifd.git] / iprule.h
index f05c3c93b4a1bad1a568c479fecde31ca6cffea7..488aafc69c3a7bc305139f58035280776e7a6246 100644 (file)
--- a/iprule.h
+++ b/iprule.h
@@ -63,28 +63,33 @@ 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;
 
-       /* everything below is used as avl tree key */
-       enum iprule_flags flags;
+       /* to receive interface events */
+       struct interface_user in_iface_user;
+       struct interface_user out_iface_user;
 
-       bool invert;
+       /* 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;
 
-       /* to receive interface events */
-       struct interface_user in_iface_user;
-       struct interface_user out_iface_user;
+       enum iprule_flags flags;
 
-       /* device name */
-       char in_dev[IFNAMSIZ + 1];
-       char out_dev[IFNAMSIZ + 1];
+       bool invert;
 
        unsigned int src_mask;
        union if_addr src_addr;
@@ -100,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;
 };