This series cleanups the control plane part and the way it uses the different kind of objects (DPDK queues, Verbs Queues, ...). It has three goals:
1. Reduce the memory usage by sharing all possible objects. 2. Leave the configuration to the control plane and the creation/destruction of queues to the dev_start/dev_stop() to have a better control on object and easily apply the configuration. 3. Create all flows through the generic flow API, it will also help to implement a detection collision algorithm as all flows are using the same service and thus the same kind of object. Changes in v2: * rebase on upstream rdma-core/MLNX_OFED 4.2 * split in smaller patches This series apply on top of: http://dpdk.org/ml/archives/dev/2017-September/075575.html Nelio Laranjeiro (30): net/mlx5: merge action and flow parser structure net/mlx5: remove flow director support net/mlx5: prefix Rx structures and functions net/mlx5: prefix Tx structures and functions net/mlx5: remove redundant started flag net/mlx5: verify all flows are been removed on close net/mlx5: fix reta update can segfault net/mlx5: fix rxqs vector support verification net/mlx5: add reference counter on memory region net/mlx5: separate DPDK from Verbs Rx queue objects net/mlx5: separate DPDK from Verbs Tx queue objects net/mlx5: add reference counter on DPDK Tx queues net/mlx5: add reference counter on DPDK Rx queues net/mlx5: make indirection tables shareable net/mlx5: add Hash Rx queue object net/mlx5: fix clang compilation error net/mlx5: use flow to enable promiscuous mode net/mlx5: use flow to enable all multi mode net/mlx5: use flow to enable unicast traffic net/mlx5: handle a single RSS hash key for all protocols net/mlx5: remove hash Rx queues support net/mlx5: fully convert a flow to verbs in validate net/mlx5: process flows actions before of items net/mlx5: merge internal parser and actions structures net/mlx5: use a better name for the flow parser net/mlx5: reorganise functions in the file net/mlx5: move Verbs flows and attributes net/mlx5: handle RSS hash configuration in RSS flow net/mlx5: support flow director net/mlx5: add new operations for isolated mode drivers/net/mlx5/Makefile | 1 - drivers/net/mlx5/mlx5.c | 134 +- drivers/net/mlx5/mlx5.h | 91 +- drivers/net/mlx5/mlx5_defs.h | 3 - drivers/net/mlx5/mlx5_ethdev.c | 27 +- drivers/net/mlx5/mlx5_fdir.c | 1091 --------------- drivers/net/mlx5/mlx5_flow.c | 2475 +++++++++++++++++++++++++--------- drivers/net/mlx5/mlx5_mac.c | 407 +----- drivers/net/mlx5/mlx5_mr.c | 263 ++-- drivers/net/mlx5/mlx5_rss.c | 136 +- drivers/net/mlx5/mlx5_rxmode.c | 380 +----- drivers/net/mlx5/mlx5_rxq.c | 1999 ++++++++++++++------------- drivers/net/mlx5/mlx5_rxtx.c | 39 +- drivers/net/mlx5/mlx5_rxtx.h | 284 ++-- drivers/net/mlx5/mlx5_rxtx_vec_sse.c | 42 +- drivers/net/mlx5/mlx5_stats.c | 4 +- drivers/net/mlx5/mlx5_trigger.c | 320 ++++- drivers/net/mlx5/mlx5_txq.c | 876 +++++++----- drivers/net/mlx5/mlx5_utils.h | 2 + drivers/net/mlx5/mlx5_vlan.c | 58 +- 20 files changed, 4241 insertions(+), 4391 deletions(-) delete mode 100644 drivers/net/mlx5/mlx5_fdir.c -- 2.1.4