[dpdk-dev] [PATCH 00/13] Add support for secondary queue set in nicvf thunderx driver
Kamil Rytarowski
krytarowski at caviumnetworks.com
Mon Sep 12 12:59:51 CEST 2016
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