On Fri, Sep 30, 2016 at 02:05:39PM +0200, Kamil Rytarowski wrote: > This series of patches adds support for secondary queue set in nicvf thunderx > driver > > There are two types of VFs: > - Primary VF > - Secondary VF > > Each port consist of a primary VF and n secondary VF(s). Each VF provides 8 > Tx/Rx queues to a port. In case port is configured to use more than 8 queues, > then it requires one (or more) secondary VF. Each secondary VF adds additional > 8 queues to the queue set. > > During PMD driver initialization, the primary VF's are enumerated by checking > the > specific flag (see READY message). They are at the beginning of VF list (the > remain > ones are secondary VF's). > > The primary VFs are used as master queue sets. Secondary VFs provide > additional queue sets for primary ones. If a port is configured for more then > 8 queues then it will request for additional queues from secondary VFs. > > Secondary VFs cannot be shared between primary VFs. > > Primary VFs are present on the tail of the 'Network devices using kernel > driver' list, secondary VFs are on the remaining tail of the list. > > The VNIC driver in the multiqueue setup works differently than other drivers > like `ixgbe`. We need to bind separately each specific queue set device with > the ``tools/dpdk-devbind.py`` utility. > > Depending on the hardware used, the kernel driver sets a threshold ``vf_id``. > VFs that try to attach with an id below or equal to this boundary are > considered primary VFs. VFs that try to attach with an id above this boundary > are considered secondary VFs. > > This patchset also contains other cleanups and improvements like fixing > erroneous checksum calculation and preparing the thunderx driver for the multi > queue set feature support. > > > These changes base on the following pending patches: > > [dpdk-dev,1/3] net/thunderx: remove generic passx references from the driver > http://dpdk.org/dev/patchwork/patch/14963/ > > [dpdk-dev,2/3] net/thunderx: introduce cqe_rx2 HW capability flag > http://dpdk.org/dev/patchwork/patch/14964/ > > [dpdk-dev,3/3] net/thunderx: add 81xx SoC support > http://dpdk.org/dev/patchwork/patch/14965/ > > Kamil Rytarowski (15): > net/thunderx: cleanup the driver before adding new features > net/thunderx: correct transmit checksum handling > net/thunderx/base: add family of functions to store qsets > net/thunderx/base: add secondary queue set support > net/thunderx: add family of functions to store DPDK qsets > net/thunderx: add secondary queue set in interrupt functions > net/thunderx: remove problematic private_data->eth_dev link > net/thunderx: add helper utils for secondary qset support > net/thunderx: add secondary qset support in dev stop/close > net/thunderx: add secondary qset support in device start > net/thunderx: add secondary qset support in device configure > net/thunderx: add final bits for secondary queue support > net/thunderx: document secondary queue set support > ethdev: Support VFs on the different PCI domains > net/thunderx: Bump driver version to 2.0 > Series applied to dpdk-next-net/rel_16_11, with the exception of patch 14 which has been resubmitted as a separate ethdev patch: http://dpdk.org/dev/patchwork/patch/16480/
/Bruce