Mellanox mlx5 PMD supports Flow counters via Verbs library. The current implementation is based on the Mellanox proprietary Verbs library included in MLNX OFED packages. The Flow counter support is recently added into linux-rdma release (v19), so the mlx5 PMD update is needed to provide Counter feature on the base of linux-rdma.
mlx5 PMD can be compiled with MLNX OFED or linux-rdma v19+ and provide flow counters for both. Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> --- v4: - minor patcset parts reorganization - rewritten headlines to be more clear - ifdef blocks minor cleanups v3: - http://patches.dpdk.org/patch/47085/ - mlx5 glue issue resolved correctly - patch is reorganized info small isolated parts v2: - http://patches.dpdk.org/patch/46989/ - rebased on top of master-net-mlx branch - new compilation flags are introduced: - HAVE_IBV_DEVICE_COUNTERS_SET_SUPPORT_V42, kernel/verbs library provides the flow counter support in style of MLNX_OFED_4.2 to MLNX_OFED_4.4 - HAVE_IBV_DEVICE_COUNTERS_SET_SUPPORT_V45, kernel/verbs library provides the flow counter support in style of MLNX_OFED_4.5 or higher v1: - http://patches.dpdk.org/patch/45972/ Viacheslav Ovsiienko (8): net/mlx5: fix flow counters creation net/mlx5: rename flow counter configuration macro net/mlx5: introduce new flow counters configuration macro net/mlx5: simplify flow counters support check net/mlx5: relocate flow counters query function net/mlx5: add new flow counter Verbs API to glue library net/mlx5: remove unnecessary structure initializers net/mlx5: support new flow counter API drivers/net/mlx5/Makefile | 7 +- drivers/net/mlx5/meson.build | 4 +- drivers/net/mlx5/mlx5.c | 12 +- drivers/net/mlx5/mlx5.h | 1 - drivers/net/mlx5/mlx5_flow.c | 8 +- drivers/net/mlx5/mlx5_flow.h | 4 + drivers/net/mlx5/mlx5_flow_tcf.c | 5 - drivers/net/mlx5/mlx5_flow_verbs.c | 236 ++++++++++++++++++++++++------------- drivers/net/mlx5/mlx5_glue.c | 68 ++++++++++- drivers/net/mlx5/mlx5_glue.h | 19 ++- 10 files changed, 254 insertions(+), 110 deletions(-) -- 1.8.3.1