diff options
author | Eelco Chaudron <echaudro@redhat.com> | 2018-09-21 07:14:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-09-24 12:18:42 -0700 |
commit | 28169abadb08333eb607621faa3a1dd7109e0d45 (patch) | |
tree | 2cdc35f1b72aee9952d534730056314c8486eb90 /net/sched/act_mirred.c | |
parent | 5e111210a44301304f9054e995bf33f69b6de76f (diff) | |
download | linux-28169abadb08333eb607621faa3a1dd7109e0d45.tar.gz linux-28169abadb08333eb607621faa3a1dd7109e0d45.tar.bz2 linux-28169abadb08333eb607621faa3a1dd7109e0d45.zip |
net/sched: Add hardware specific counters to TC actions
Add additional counters that will store the bytes/packets processed by
hardware. These will be exported through the netlink interface for
displaying by the iproute2 tc tool
Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/act_mirred.c')
-rw-r--r-- | net/sched/act_mirred.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index a9d64bfe5a2a..1dae5f2b358f 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c @@ -283,12 +283,15 @@ out: } static void tcf_stats_update(struct tc_action *a, u64 bytes, u32 packets, - u64 lastuse) + u64 lastuse, bool hw) { struct tcf_mirred *m = to_mirred(a); struct tcf_t *tm = &m->tcf_tm; _bstats_cpu_update(this_cpu_ptr(a->cpu_bstats), bytes, packets); + if (hw) + _bstats_cpu_update(this_cpu_ptr(a->cpu_bstats_hw), + bytes, packets); tm->lastuse = max_t(u64, tm->lastuse, lastuse); } |