From: Sunil Kumar Kori <sk...@marvell.com>

Series adds support for ingress meter for CN10K platform. Series is divided
in following two logical implementation:

 - common/cnxk: It implements RoC APIs over MBOX interfaces which are by 
network drivers.

        common/cnxk: update policer MBOX APIs and HW definitions
        common/cnxk: support RoC API to get level to index
        common/cnxk: support RoC API to get profile count
        common/cnxk: support RoC API to alloc bandwidth profiles
        common/cnxk: support RoC API to free bandwidth profiles
        common/cnxk: support RoC API to configure bandwidth profile
        common/cnxk: support RoC API to toggle profile state
        common/cnxk: support RoC API to dump bandwidth profile
        common/cnxk: support RoC API to setup precolor table
        common/cnxk: support RoC API to connect bandwidth profiles
        common/cnxk: support RoC API to get stats to index
        common/cnxk: support RoC API to read profile statistics
        common/cnxk: support RoC API to reset profile stats
        common/cnxk: support meter in action list

 - net/cnxk: It implenets ethdev ops for various metering operations.
        For cn9k platform, ops are registerded as NULL because cn9k does
        not support metering.

        net/cnxk: support meter ops get API
        net/cnxk: support ops to get meter capabilities
        net/cnxk: support ops to create meter profile
        net/cnxk: support ops to delete meter profile
        net/cnxk: support ops to validate meter policy
        net/cnxk: support ops to create meter policy
        net/cnxk: support ops to delete meter policy
        net/cnxk: support ops to create meter
        net/cnxk: support ops to delete meter
        net/cnxk: support ops to enable/disable meter
        net/cnxk: support ops to update precolor DSCP table
        net/cnxk: support ops to read/update meter stats
        net/cnxk: support meter action to flow create
        net/cnxk: support meter action to flow destroy

 doc/guides/nics/features/cnxk.ini      |    1 +
 doc/guides/nics/features/cnxk_vf.ini   |    1 +
 doc/guides/rel_notes/release_21_11.rst |    1 +
 drivers/common/cnxk/hw/nix.h           |   62 +-
 drivers/common/cnxk/meson.build        |    1 +
 drivers/common/cnxk/roc_mbox.h         |   34 +-
 drivers/common/cnxk/roc_nix.h          |  164 +++
 drivers/common/cnxk/roc_nix_bpf.c      | 1149 ++++++++++++++++++++
 drivers/common/cnxk/roc_nix_priv.h     |    1 +
 drivers/common/cnxk/roc_npc.c          |    7 +
 drivers/common/cnxk/roc_npc.h          |    8 +-
 drivers/common/cnxk/roc_platform.h     |    1 +
 drivers/common/cnxk/roc_utils.c        |    3 +
 drivers/common/cnxk/version.map        |   15 +
 drivers/net/cnxk/cn10k_rte_flow.c      |  193 +++-
 drivers/net/cnxk/cnxk_ethdev.c         |   57 +
 drivers/net/cnxk/cnxk_ethdev.h         |   92 ++
 drivers/net/cnxk/cnxk_ethdev_mtr.c     | 1341 ++++++++++++++++++++++++
 drivers/net/cnxk/cnxk_rte_flow.c       |    4 +
 drivers/net/cnxk/meson.build           |    1 +
 20 files changed, 3129 insertions(+), 7 deletions(-)
 create mode 100644 drivers/common/cnxk/roc_nix_bpf.c
 create mode 100644 drivers/net/cnxk/cnxk_ethdev_mtr.c

-- 
2.25.1

Reply via email to