tc: add hit counter for matchall
Cc: Martin Olsson <martin.olsson+netdev@sentorsecurity.com> Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: Jiri Pirko <jiri@resnulli.us> Cc: David Ahern <dsahern@gmail.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
dad02ef478
commit
b0ca46a1f8
|
|
@ -114,6 +114,7 @@ static int matchall_print_opt(struct filter_util *qu, FILE *f,
|
||||||
struct rtattr *opt, __u32 handle)
|
struct rtattr *opt, __u32 handle)
|
||||||
{
|
{
|
||||||
struct rtattr *tb[TCA_MATCHALL_MAX+1];
|
struct rtattr *tb[TCA_MATCHALL_MAX+1];
|
||||||
|
struct tc_matchall_pcnt *pf = NULL;
|
||||||
|
|
||||||
if (opt == NULL)
|
if (opt == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -143,6 +144,19 @@ static int matchall_print_opt(struct filter_util *qu, FILE *f,
|
||||||
print_bool(PRINT_ANY, "not_in_hw", "\n not_in_hw", true);
|
print_bool(PRINT_ANY, "not_in_hw", "\n not_in_hw", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tb[TCA_MATCHALL_PCNT]) {
|
||||||
|
if (RTA_PAYLOAD(tb[TCA_MATCHALL_PCNT]) < sizeof(*pf)) {
|
||||||
|
print_string(PRINT_FP, NULL, "Broken perf counters\n", NULL);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
pf = RTA_DATA(tb[TCA_MATCHALL_PCNT]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (show_stats && NULL != pf)
|
||||||
|
print_u64(PRINT_ANY, "rule_hit", " (rule hit %llu)",
|
||||||
|
(unsigned long long) pf->rhit);
|
||||||
|
|
||||||
|
|
||||||
if (tb[TCA_MATCHALL_ACT])
|
if (tb[TCA_MATCHALL_ACT])
|
||||||
tc_print_action(f, tb[TCA_MATCHALL_ACT], 0);
|
tc_print_action(f, tb[TCA_MATCHALL_ACT], 0);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue