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