mbox series

[net-next,0/2] net: sched: expose HW stats types per action used by drivers

Message ID 20200328153743.6363-1-jiri@resnulli.us
Headers show
Series net: sched: expose HW stats types per action used by drivers | expand

Message

Jiri Pirko March 28, 2020, 3:37 p.m. UTC
From: Jiri Pirko <jiri@mellanox.com>

The first patch is just adding a helper used by the second patch too.
The second patch is exposing HW stats types that are used by drivers.

Example:

$ tc filter add dev enp3s0np1 ingress proto ip handle 1 pref 1 flower dst_ip 192.168.1.1 action drop
$ tc -s filter show dev enp3s0np1 ingress
filter protocol ip pref 1 flower chain 0
filter protocol ip pref 1 flower chain 0 handle 0x1
  eth_type ipv4
  dst_ip 192.168.1.1
  in_hw in_hw_count 2
        action order 1: gact action drop
         random type none pass val 0
         index 1 ref 1 bind 1 installed 10 sec used 10 sec
        Action statistics:
        Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
        backlog 0b 0p requeues 0
        used_hw_stats immediate     <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Jiri Pirko (2):
  net: introduce nla_put_bitfield32() helper and use it
  net: sched: expose HW stats types per action used by drivers

 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c  |  2 +-
 .../ethernet/chelsio/cxgb4/cxgb4_tc_flower.c  |  3 ++-
 .../chelsio/cxgb4/cxgb4_tc_matchall.c         |  3 ++-
 .../ethernet/mellanox/mlx5/core/en/tc_ct.c    |  3 ++-
 .../net/ethernet/mellanox/mlx5/core/en_tc.c   |  6 +++--
 .../net/ethernet/mellanox/mlxsw/spectrum.h    |  3 ++-
 .../ethernet/mellanox/mlxsw/spectrum_acl.c    |  4 ++-
 .../ethernet/mellanox/mlxsw/spectrum_flower.c |  5 ++--
 drivers/net/ethernet/mscc/ocelot_flower.c     |  3 ++-
 .../ethernet/netronome/nfp/flower/offload.c   |  3 ++-
 .../ethernet/netronome/nfp/flower/qos_conf.c  |  3 ++-
 include/net/act_api.h                         |  2 ++
 include/net/flow_offload.h                    | 12 ++++++++-
 include/net/netlink.h                         | 15 +++++++++++
 include/net/pkt_cls.h                         |  5 +++-
 include/uapi/linux/pkt_cls.h                  |  1 +
 net/sched/act_api.c                           | 27 +++++++++----------
 net/sched/cls_flower.c                        |  4 ++-
 net/sched/cls_matchall.c                      |  4 ++-
 net/sched/sch_red.c                           |  7 ++---
 20 files changed, 78 insertions(+), 37 deletions(-)