Currently meter algorithms only supports rate is bytes per second(BPS). Add packet_mode flag in meter profile parameters data structure. So that it can meter traffic by packet per second.
When packet_mode is 0, the profile rates and bucket sizes are specified in bytes per second and bytes when packet_mode is not 0, the profile rates and bucket sizes are specified in packets and packets per second. Add the necessary checks to the existing drivers implementing the rte_mtr API to makes sure that profiles with packet_mode set to TRUE are rejected. RFC ("adds support PPS(packet per second) on meter") https://patchwork.dpdk.org/project/dpdk/patch/20210125012023.1769769-2-l...@nvidia.com/ Depends-on: series=16301 ("Support meter policy API ") https://patchwork.dpdk.org/project/dpdk/list/?series=16301 V2: create a unified patch that contains both the series with the API changes and the series with the necessary error checks in the drivers. V3: Fix comments about commit-log. V4: Fix comments about Depends-on and rebase. Li Zhang (4): ethdev: add packet mode in meter profile structure app/testpmd: add meter profile packet mode option net/softnic: check meter packet mode net/mvpp2: check meter packet mode app/test-pmd/cmdline_mtr.c | 40 ++++++++- doc/guides/rel_notes/release_21_05.rst | 12 +++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 31 +++---- drivers/net/mvpp2/mrvl_mtr.c | 6 ++ drivers/net/softnic/rte_eth_softnic_meter.c | 8 ++ lib/librte_ethdev/rte_mtr.h | 90 ++++++++++++++++++--- 6 files changed, 159 insertions(+), 28 deletions(-) -- 2.27.0