[dpdk-dev] [PATCH 00/13] Add support for secondary queue set in nicvf thunderx driver

Kamil Rytarowski krytarowski at caviumnetworks.com
Mon Sep 19 14:23:06 CEST 2016


ping


W dniu 12.09.2016 o 12:59, Kamil Rytarowski pisze:
> ping
>
>
> W dniu 26.08.2016 o 18:53, Kamil Rytarowski pisze:
>> 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 (13):
>>    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: fix multiprocess support in stats
>>    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
>>
>>   doc/guides/nics/thunderx.rst              | 114 ++++-
>>   drivers/net/thunderx/Makefile             |   2 +
>>   drivers/net/thunderx/base/nicvf_bsvf.c    |  72 +++
>>   drivers/net/thunderx/base/nicvf_bsvf.h    |  76 +++
>>   drivers/net/thunderx/base/nicvf_hw.c      |  10 +-
>>   drivers/net/thunderx/base/nicvf_hw.h      |   6 +-
>>   drivers/net/thunderx/base/nicvf_hw_defs.h |   1 +
>>   drivers/net/thunderx/base/nicvf_mbox.c    |  34 +-
>>   drivers/net/thunderx/base/nicvf_mbox.h    |  21 +-
>>   drivers/net/thunderx/nicvf_ethdev.c       | 753 
>> +++++++++++++++++++++---------
>>   drivers/net/thunderx/nicvf_ethdev.h       |  39 ++
>>   drivers/net/thunderx/nicvf_rxtx.c         |  14 +-
>>   drivers/net/thunderx/nicvf_struct.h       |   6 +-
>>   drivers/net/thunderx/nicvf_svf.c          |  78 ++++
>>   drivers/net/thunderx/nicvf_svf.h          |  66 +++
>>   15 files changed, 1046 insertions(+), 246 deletions(-)
>>   create mode 100644 drivers/net/thunderx/base/nicvf_bsvf.c
>>   create mode 100644 drivers/net/thunderx/base/nicvf_bsvf.h
>>   create mode 100644 drivers/net/thunderx/nicvf_svf.c
>>   create mode 100644 drivers/net/thunderx/nicvf_svf.h
>>
>



More information about the dev mailing list