[dpdk-dev] [PATCH 00/26] DPDK PMD for OCTEONTX NW device
Jerin Jacob
jerin.jacob at caviumnetworks.com
Thu Aug 31 16:54:10 CEST 2017
This patch set provides the initial version of DPDK PMD for the
integrated NIC device found in Cavium OCTEONTX SoC(CN83xx) family.
Introduction to OCTEONTX ARM processors can be found
here: http://www.cavium.com/OCTEON-TX_ARM_Processors.html
OCTEONTX SoC family has two types of NIC controllers,
1) nicvf HW, Which is more like traditional NIC(no NPU HW accelerators)
http://dpdk.org/doc/guides/nics/thunderx.html
2) NIC controller, based on NPU like HW accelerated coprocessors, like
HW assisted mempool manager, HW assisted packet scheduler, etc
This driver adds support for the second type device and which will be
used as HW implementation driver ethdev-eventdev Rx adapter [1]
Implemented features and PMD documentation added
in doc/guides/nics/features/octeontx.ini and doc/guides/nics/octeontx.rst
respectively in this patch set.
This driver has the dependency on:
- IOVA infrastructure [2].
- Dynamically configure mempool handle (ie.. --mbuf-pool-ops eal arg) [3].
- Infrastructure to support octeontx HW mempool manager [4].
- Cavium Octeontx external mempool driver [5]
Git source repo for all above dependency patches located at [6].
The series has three check patch issues:
1) 1 Error on Complex Macro (which I believe it cannot be fixed) # Patch 2
2) 1 Error on spacing while using gcc inline assembly(it is false positive) # patch 2
3) Added Co-authored-by: signature to reflect the patch authorship status instead
of "Signed-off-by". It can be changed or the contributing guide can be
updated based on the community feedback in v2.
[1] http://dpdk.org/dev/patchwork/patch/24176/
[2] http://dpdk.org/ml/archives/dev/2017-August/072871.html
[3] http://dpdk.org/ml/archives/dev/2017-August/072910.html
[4] http://dpdk.org/ml/archives/dev/2017-August/072892.html
[5] http://dpdk.org/ml/archives/dev/2017-August/073898.html
[6] https://github.com/sshukla82/dpdk
branch: mempool-v2
Jerin Jacob (26):
net/octeontx: add build infrastructure
net/octeontx/base: add octeontx io operations
event/octeontx: introduce specialized mbox message copy
net/octeontx/base: add base BGX operations
net/octeontx/base: add remaining BGX operations
net/octeontx/base: probe PKI and PKO PCIe VF devices
net/octeontx/base: add base PKI operations
net/octeontx/base: add remaining PKI operations
net/octeontx/base: add base PKO operations
net/octeontx/base: add remaining PKO operations
net/octeontx: add eth device probe and remove
net/octeontx: create ethdev ports
net/octeontx: add device configure
net/octeontx: add device info
net/octeontx: add link update
net/octeontx: add promiscuous mode ops
net/octeontx: add basic stats support
net/octeontx: add MAC addr set op
net/octeontx: add Rx queue setup and release ops
net/octeontx: add Tx queue start and stop
net/octeontx: add Tx queue setup and release ops
net/octeontx: add packet transmit burst function
net/octeontx: add packet receive burst function
net/octeontx: add packet type parsing support
net/octeontx: add start and stop support
doc: add octeontx ethdev driver documentation
MAINTAINERS | 7 +
config/common_base | 10 +
doc/guides/nics/features/octeontx.ini | 19 +
doc/guides/nics/index.rst | 1 +
doc/guides/nics/octeontx.rst | 251 ++++
drivers/event/octeontx/ssovf_mbox.c | 14 +-
drivers/net/Makefile | 2 +
drivers/net/octeontx/Makefile | 67 ++
drivers/net/octeontx/base/octeontx_bgx.c | 273 +++++
drivers/net/octeontx/base/octeontx_bgx.h | 150 +++
drivers/net/octeontx/base/octeontx_io.h | 156 +++
drivers/net/octeontx/base/octeontx_pki_var.h | 237 ++++
drivers/net/octeontx/base/octeontx_pkivf.c | 234 ++++
drivers/net/octeontx/base/octeontx_pkivf.h | 431 +++++++
drivers/net/octeontx/base/octeontx_pkovf.c | 616 ++++++++++
drivers/net/octeontx/base/octeontx_pkovf.h | 97 ++
drivers/net/octeontx/octeontx_ethdev.c | 1326 +++++++++++++++++++++
drivers/net/octeontx/octeontx_ethdev.h | 109 ++
drivers/net/octeontx/octeontx_logs.h | 76 ++
drivers/net/octeontx/octeontx_rxtx.c | 233 ++++
drivers/net/octeontx/octeontx_rxtx.h | 48 +
drivers/net/octeontx/rte_pmd_octeontx_version.map | 4 +
mk/rte.app.mk | 1 +
23 files changed, 4360 insertions(+), 2 deletions(-)
create mode 100644 doc/guides/nics/features/octeontx.ini
create mode 100644 doc/guides/nics/octeontx.rst
create mode 100644 drivers/net/octeontx/Makefile
create mode 100644 drivers/net/octeontx/base/octeontx_bgx.c
create mode 100644 drivers/net/octeontx/base/octeontx_bgx.h
create mode 100644 drivers/net/octeontx/base/octeontx_io.h
create mode 100644 drivers/net/octeontx/base/octeontx_pki_var.h
create mode 100644 drivers/net/octeontx/base/octeontx_pkivf.c
create mode 100644 drivers/net/octeontx/base/octeontx_pkivf.h
create mode 100644 drivers/net/octeontx/base/octeontx_pkovf.c
create mode 100644 drivers/net/octeontx/base/octeontx_pkovf.h
create mode 100644 drivers/net/octeontx/octeontx_ethdev.c
create mode 100644 drivers/net/octeontx/octeontx_ethdev.h
create mode 100644 drivers/net/octeontx/octeontx_logs.h
create mode 100644 drivers/net/octeontx/octeontx_rxtx.c
create mode 100644 drivers/net/octeontx/octeontx_rxtx.h
create mode 100644 drivers/net/octeontx/rte_pmd_octeontx_version.map
--
2.14.1
More information about the dev
mailing list