aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/fib_rules.h5
-rw-r--r--include/net/fib_rules.h7
2 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/fib_rules.h b/include/linux/fib_rules.h
index 8270aac2aa5d..ec9c7b1d3e91 100644
--- a/include/linux/fib_rules.h
+++ b/include/linux/fib_rules.h
@@ -7,6 +7,7 @@
7/* rule is permanent, and cannot be deleted */ 7/* rule is permanent, and cannot be deleted */
8#define FIB_RULE_PERMANENT 1 8#define FIB_RULE_PERMANENT 1
9#define FIB_RULE_INVERT 2 9#define FIB_RULE_INVERT 2
10#define FIB_RULE_UNRESOLVED 4
10 11
11struct fib_rule_hdr 12struct fib_rule_hdr
12{ 13{
@@ -29,7 +30,7 @@ enum
29 FRA_DST, /* destination address */ 30 FRA_DST, /* destination address */
30 FRA_SRC, /* source address */ 31 FRA_SRC, /* source address */
31 FRA_IFNAME, /* interface name */ 32 FRA_IFNAME, /* interface name */
32 FRA_UNUSED1, 33 FRA_GOTO, /* target to jump to (FR_ACT_GOTO) */
33 FRA_UNUSED2, 34 FRA_UNUSED2,
34 FRA_PRIORITY, /* priority/preference */ 35 FRA_PRIORITY, /* priority/preference */
35 FRA_UNUSED3, 36 FRA_UNUSED3,
@@ -51,7 +52,7 @@ enum
51{ 52{
52 FR_ACT_UNSPEC, 53 FR_ACT_UNSPEC,
53 FR_ACT_TO_TBL, /* Pass to fixed table */ 54 FR_ACT_TO_TBL, /* Pass to fixed table */
54 FR_ACT_RES1, 55 FR_ACT_GOTO, /* Jump to another rule */
55 FR_ACT_RES2, 56 FR_ACT_RES2,
56 FR_ACT_RES3, 57 FR_ACT_RES3,
57 FR_ACT_RES4, 58 FR_ACT_RES4,
diff --git a/include/net/fib_rules.h b/include/net/fib_rules.h
index ff3029fe9656..08bab8b6e575 100644
--- a/include/net/fib_rules.h
+++ b/include/net/fib_rules.h
@@ -19,6 +19,8 @@ struct fib_rule
19 u32 flags; 19 u32 flags;
20 u32 table; 20 u32 table;
21 u8 action; 21 u8 action;
22 u32 target;
23 struct fib_rule * ctarget;
22 struct rcu_head rcu; 24 struct rcu_head rcu;
23}; 25};
24 26
@@ -35,6 +37,8 @@ struct fib_rules_ops
35 struct list_head list; 37 struct list_head list;
36 int rule_size; 38 int rule_size;
37 int addr_size; 39 int addr_size;
40 int unresolved_rules;
41 int nr_goto_rules;
38 42
39 int (*action)(struct fib_rule *, 43 int (*action)(struct fib_rule *,
40 struct flowi *, int, 44 struct flowi *, int,
@@ -66,7 +70,8 @@ struct fib_rules_ops
66 [FRA_PRIORITY] = { .type = NLA_U32 }, \ 70 [FRA_PRIORITY] = { .type = NLA_U32 }, \
67 [FRA_FWMARK] = { .type = NLA_U32 }, \ 71 [FRA_FWMARK] = { .type = NLA_U32 }, \
68 [FRA_FWMASK] = { .type = NLA_U32 }, \ 72 [FRA_FWMASK] = { .type = NLA_U32 }, \
69 [FRA_TABLE] = { .type = NLA_U32 } 73 [FRA_TABLE] = { .type = NLA_U32 }, \
74 [FRA_GOTO] = { .type = NLA_U32 }
70 75
71static inline void fib_rule_get(struct fib_rule *rule) 76static inline void fib_rule_get(struct fib_rule *rule)
72{ 77{