lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20190123064145.26169-1-xiyou.wangcong@gmail.com> Date: Tue, 22 Jan 2019 22:41:45 -0800 From: Cong Wang <xiyou.wangcong@...il.com> To: netdev@...r.kernel.org Cc: Cong Wang <xiyou.wangcong@...il.com>, Jamal Hadi Salim <jhs@...atatu.com>, Jiri Pirko <jiri@...nulli.us>, David Ahern <dsahern@...il.com> Subject: [Patch iproute2] tc: add performance counters for basic filter Sample output: filter protocol arp pref 49152 basic chain 0 filter protocol arp pref 49152 basic chain 0 handle 0x1 (rule hit 3 success 3) action order 1: gact action pass random type none pass val 0 index 1 ref 1 bind 1 installed 81 sec used 4 sec Action statistics: Sent 126 bytes 3 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 Cc: Jamal Hadi Salim <jhs@...atatu.com> Cc: Jiri Pirko <jiri@...nulli.us> Cc: David Ahern <dsahern@...il.com> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com> --- tc/f_basic.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tc/f_basic.c b/tc/f_basic.c index af98c088..97d43d49 100644 --- a/tc/f_basic.c +++ b/tc/f_basic.c @@ -110,6 +110,7 @@ static int basic_print_opt(struct filter_util *qu, FILE *f, struct rtattr *opt, __u32 handle) { struct rtattr *tb[TCA_BASIC_MAX+1]; + struct tc_basic_pcnt *pf = NULL; if (opt == NULL) return 0; @@ -125,6 +126,19 @@ static int basic_print_opt(struct filter_util *qu, FILE *f, sprint_tc_classid(rta_getattr_u32(tb[TCA_BASIC_CLASSID]), b1)); } + if (tb[TCA_BASIC_PCNT]) { + if (RTA_PAYLOAD(tb[TCA_BASIC_PCNT]) < sizeof(*pf)) { + fprintf(f, "Broken perf counters\n"); + return -1; + } + pf = RTA_DATA(tb[TCA_BASIC_PCNT]); + } + + if (show_stats && NULL != pf) + fprintf(f, " (rule hit %llu success %llu)", + (unsigned long long) pf->rcnt, + (unsigned long long) pf->rhit); + if (tb[TCA_BASIC_EMATCHES]) print_ematch(f, tb[TCA_BASIC_EMATCHES]); -- 2.20.1
Powered by blists - more mailing lists