Commit 66495f30 authored by Florian Westphal's avatar Florian Westphal Committed by Jakub Kicinski
Browse files

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: default avatarFlorian Westphal <fw@strlen.de>
Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 92e1bcee
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
@@ -102,26 +102,6 @@ struct fib_rule_notifier_info {
	struct fib_rule *rule;
};

#define 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_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) }


static inline void fib_rule_get(struct fib_rule *rule)
{
	refcount_inc(&rule->refcnt);
+17 −1
Original line number Diff line number Diff line
@@ -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,