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:
Cong Wang 2019-01-17 13:18:55 -08:00 committed by David Ahern
parent dad02ef478
commit b0ca46a1f8
1 changed files with 14 additions and 0 deletions

View File

@ -114,6 +114,7 @@ static int matchall_print_opt(struct filter_util *qu, FILE *f,
struct rtattr *opt, __u32 handle)
{
struct rtattr *tb[TCA_MATCHALL_MAX+1];
struct tc_matchall_pcnt *pf = NULL;
if (opt == NULL)
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);
}
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])
tc_print_action(f, tb[TCA_MATCHALL_ACT], 0);