X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=iprule.h;h=7617c7600985cf2f7edb03bbd29ecd81342200c2;hb=90e2e2c404eeeb3414c794dfb45f5ee4b88cd479;hp=2ac01b93e24f7de13d8dbcf5a52598bd3307bd00;hpb=2f31bff38d4dc2f36006ded6b8a7d039cb569eaa;p=project%2Fnetifd.git diff --git a/iprule.h b/iprule.h index 2ac01b9..7617c76 100644 --- a/iprule.h +++ b/iprule.h @@ -17,8 +17,10 @@ #include "interface-ip.h" -#define IPRULE_PRIORITY_ADDR 80000 +#define IPRULE_PRIORITY_ADDR 10000 +#define IPRULE_PRIORITY_ADDR_MASK 20000 #define IPRULE_PRIORITY_NW 90000 +#define IPRULE_PRIORITY_REJECT 4200000000 enum iprule_flags { /* address family for rule */ @@ -58,6 +60,9 @@ enum iprule_flags { /* rule is a goto */ IPRULE_GOTO = (1 << 12), + + /* rule suppresses results by prefix length */ + IPRULE_SUP_PREFIXLEN = (1 << 13), }; struct iprule { @@ -85,12 +90,13 @@ struct iprule { unsigned int fwmask; unsigned int lookup; + unsigned int sup_prefixlen; unsigned int action; unsigned int gotoid; }; extern struct vlist_tree iprules; -extern const struct config_param_list rule_attr_list; +extern const struct uci_blob_param_list rule_attr_list; void iprule_add(struct blob_attr *attr, bool v6); void iprule_update_start(void);