diff options
Diffstat (limited to 'include/net/fib_rules.h')
-rw-r--r-- | include/net/fib_rules.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/net/fib_rules.h b/include/net/fib_rules.h index 8e2f473d3e82..bc3c26494c3d 100644 --- a/include/net/fib_rules.h +++ b/include/net/fib_rules.h | |||
@@ -13,6 +13,8 @@ struct fib_rule | |||
13 | atomic_t refcnt; | 13 | atomic_t refcnt; |
14 | int ifindex; | 14 | int ifindex; |
15 | char ifname[IFNAMSIZ]; | 15 | char ifname[IFNAMSIZ]; |
16 | u32 mark; | ||
17 | u32 mark_mask; | ||
16 | u32 pref; | 18 | u32 pref; |
17 | u32 flags; | 19 | u32 flags; |
18 | u32 table; | 20 | u32 table; |
@@ -50,6 +52,7 @@ struct fib_rules_ops | |||
50 | struct nlmsghdr *, | 52 | struct nlmsghdr *, |
51 | struct fib_rule_hdr *); | 53 | struct fib_rule_hdr *); |
52 | u32 (*default_pref)(void); | 54 | u32 (*default_pref)(void); |
55 | size_t (*nlmsg_payload)(struct fib_rule *); | ||
53 | 56 | ||
54 | int nlgroup; | 57 | int nlgroup; |
55 | struct nla_policy *policy; | 58 | struct nla_policy *policy; |
@@ -57,6 +60,13 @@ struct fib_rules_ops | |||
57 | struct module *owner; | 60 | struct module *owner; |
58 | }; | 61 | }; |
59 | 62 | ||
63 | #define FRA_GENERIC_POLICY \ | ||
64 | [FRA_IFNAME] = { .type = NLA_STRING, .len = IFNAMSIZ - 1 }, \ | ||
65 | [FRA_PRIORITY] = { .type = NLA_U32 }, \ | ||
66 | [FRA_FWMARK] = { .type = NLA_U32 }, \ | ||
67 | [FRA_FWMASK] = { .type = NLA_U32 }, \ | ||
68 | [FRA_TABLE] = { .type = NLA_U32 } | ||
69 | |||
60 | static inline void fib_rule_get(struct fib_rule *rule) | 70 | static inline void fib_rule_get(struct fib_rule *rule) |
61 | { | 71 | { |
62 | atomic_inc(&rule->refcnt); | 72 | atomic_inc(&rule->refcnt); |