iprule: Add option to suppress unspecific routing lookups
[project/netifd.git] / iprule.h
index 3381ae3..7617c76 100644 (file)
--- a/iprule.h
+++ b/iprule.h
@@ -17,9 +17,9 @@
 
 #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_SOURCE 4026531840
 #define IPRULE_PRIORITY_REJECT 4200000000
 
 enum iprule_flags {
@@ -60,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 {
@@ -87,6 +90,7 @@ struct iprule {
        unsigned int fwmask;
 
        unsigned int lookup;
+       unsigned int sup_prefixlen;
        unsigned int action;
        unsigned int gotoid;
 };