/* 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;
unsigned int lookup;
unsigned int sup_prefixlen;
+ unsigned int uidrange_start;
+ unsigned int uidrange_end;
unsigned int action;
unsigned int gotoid;
};