summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2021-12-16 13:05:07 +0100
committerJakub Kicinski <kuba@kernel.org>2021-12-16 16:18:35 +0100
commit66495f301c69288a32b9d4bdb60c20ef42d90e6e (patch)
tree7b8535c74707dab1b511dd324eda55ae04b2c634 /net/core
parentfib: rules: remove duplicated nla policies (diff)
downloadlinux-66495f301c69288a32b9d4bdb60c20ef42d90e6e.tar.xz
linux-66495f301c69288a32b9d4bdb60c20ef42d90e6e.zip
fib: expand fib_rule_policy
Now that there is only one fib nla_policy there is no need to keep the macro around. Place it where its used. Signed-off-by: Florian Westphal <fw@strlen.de> Reviewed-by: David Ahern <dsahern@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/fib_rules.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index f2ae5dcef0bc..75282222e0b4 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -751,8 +751,24 @@ static int rule_exists(struct fib_rules_ops *ops, struct fib_rule_hdr *frh,
}
static const struct nla_policy fib_rule_policy[FRA_MAX + 1] = {
- FRA_GENERIC_POLICY,
+ [FRA_UNSPEC] = { .strict_start_type = FRA_DPORT_RANGE + 1 },
+ [FRA_IIFNAME] = { .type = NLA_STRING, .len = IFNAMSIZ - 1 },
+ [FRA_OIFNAME] = { .type = NLA_STRING, .len = IFNAMSIZ - 1 },
+ [FRA_PRIORITY] = { .type = NLA_U32 },
+ [FRA_FWMARK] = { .type = NLA_U32 },
[FRA_FLOW] = { .type = NLA_U32 },
+ [FRA_TUN_ID] = { .type = NLA_U64 },
+ [FRA_FWMASK] = { .type = NLA_U32 },
+ [FRA_TABLE] = { .type = NLA_U32 },
+ [FRA_SUPPRESS_PREFIXLEN] = { .type = NLA_U32 },
+ [FRA_SUPPRESS_IFGROUP] = { .type = NLA_U32 },
+ [FRA_GOTO] = { .type = NLA_U32 },
+ [FRA_L3MDEV] = { .type = NLA_U8 },
+ [FRA_UID_RANGE] = { .len = sizeof(struct fib_rule_uid_range) },
+ [FRA_PROTOCOL] = { .type = NLA_U8 },
+ [FRA_IP_PROTO] = { .type = NLA_U8 },
+ [FRA_SPORT_RANGE] = { .len = sizeof(struct fib_rule_port_range) },
+ [FRA_DPORT_RANGE] = { .len = sizeof(struct fib_rule_port_range) }
};
int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr *nlh,