net: sched: em_ipt: add support for addrtype matching
Allow em_ipt to use addrtype for matching. Restrict the use only to revision 1 which has IPv6 support. Since it's a NFPROTO_UNSPEC xt match we use the user-specified nfproto for matching, in case it's unspecified both v4/v6 will be matched by the rule. v2: no changes, was patch 5 in v1 Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ba3d24d48f
commit
0c4231c784
@ -72,11 +72,25 @@ static int policy_validate_match_data(struct nlattr **tb, u8 mrev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int addrtype_validate_match_data(struct nlattr **tb, u8 mrev)
|
||||||
|
{
|
||||||
|
if (mrev != 1) {
|
||||||
|
pr_err("only addrtype match revision 1 supported");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct em_ipt_xt_match em_ipt_xt_matches[] = {
|
static const struct em_ipt_xt_match em_ipt_xt_matches[] = {
|
||||||
{
|
{
|
||||||
.match_name = "policy",
|
.match_name = "policy",
|
||||||
.validate_match_data = policy_validate_match_data
|
.validate_match_data = policy_validate_match_data
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.match_name = "addrtype",
|
||||||
|
.validate_match_data = addrtype_validate_match_data
|
||||||
|
},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user