First four patches are part of a fix for the ovs-dpdk issue with 100Gb NIC [1]. Fifth patch adds support for drop action in rte_flow.
[1] As per HW design of 100Gb mode, device internally uses 2 engines (eng0 and eng1), and both engines need to be configured symmetrically. Based on this requirement, driver design chose an approach to allow user to allocate only even number of queues and split those queues on both engines equally. This approach puts a limitation on number of queues to be allocated - i.e. user can't configure odd number of queues on 100Gb mode. OVS configures DPDK port with 1 rxq and 1 txq, which causes initialization of qede port to fail. This patch series changes the implementation of queue allocation method for 100Gb devices by removing above mentioned limitation and allowing user to configure odd number of queues. Fix is split into 4 logical patches - - First patch refactors Rx and Tx queue setup code to lay a foundation for actual fix. - Second patch actually implements a new approach to fix the issue. - Third patch fixes RSS configuration w.r.t. new approach. - Fourth patch fixes statistics code impacted due to new approach. change in v2: Fixed compilation failure from patch 2 on clang compiler. Shahed Shaikh (5): net/qede: refactor Rx and Tx queue setup net/qede: fix ovs-dpdk failure when using odd number of queues on 100Gb mode net/qede: fix RSS configuration as per new 100Gb queue allocation method net/qede: fix stats flow as per new 100Gb queue allocation method net/qede: implement rte_flow drop action doc/guides/nics/qede.rst | 39 +++ drivers/net/qede/base/ecore_dev_api.h | 1 + drivers/net/qede/base/ecore_l2.c | 50 ++-- drivers/net/qede/base/ecore_l2_api.h | 39 ++- drivers/net/qede/qede_ethdev.c | 331 +++++++++++------------ drivers/net/qede/qede_ethdev.h | 6 +- drivers/net/qede/qede_filter.c | 27 +- drivers/net/qede/qede_rxtx.c | 361 +++++++++++++++++++------- drivers/net/qede/qede_rxtx.h | 26 +- 9 files changed, 549 insertions(+), 331 deletions(-) -- 2.17.1