[dpdk-dev] [PATCH v6 00/27] DPDK PMD for ThunderX NIC device
Jerin Jacob
jerin.jacob at caviumnetworks.com
Fri Jun 17 15:29:27 CEST 2016
This patch set provides the initial version of DPDK PMD for the
built-in NIC device in Cavium ThunderX SoC family.
Implemented features and ThunderX nicvf PMD documentation added
in doc/guides/nics/overview.rst and doc/guides/nics/thunderx.rst
respectively in this patch set.
These patches are checked using checkpatch.sh with following
additional ignore option:
options="$options --ignore=CAMELCASE,BRACKET_SPACE"
CAMELCASE - To accommodate PRIx64
BRACKET_SPACE - To accommodate AT&T inline line assembly in two places
This patch set is based on DPDK 16.07-RC1
and tested with git HEAD change-set
ad00c7ec23e3b7723217bc29e03eb40409aaf617(in dpdk-next-net/rel_16_07)
along with following depended patch
http://dpdk.org/dev/patchwork/patch/11826/
ethdev: add tunnel and port RSS offload types
V1->V2
http://dpdk.org/dev/patchwork/patch/12609/
-- added const for the const struct tables
-- remove multiple blank lines
-- addressed style comments
http://dpdk.org/dev/patchwork/patch/12610/
-- removed DEPDIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += lib/librte_net lib/librte_malloc
-- add const for table structs
-- addressed style comments
http://dpdk.org/dev/patchwork/patch/12614/
-- s/DEFAULT_*/NICVF_DEFAULT_*/gc
http://dpdk.org/dev/patchwork/patch/12615/
-- Fix typos
-- addressed style comments
http://dpdk.org/dev/patchwork/patch/12616/
-- removed redundant txq->tail = 0 and txq->head = 0
http://dpdk.org/dev/patchwork/patch/12627/
-- fixed the documentation changes
-- fixed TAB+space occurrences in functions
-- rebased to c8c33ad7f94c59d1c0676af0cfd61207b3e808db
V2->V3
http://dpdk.org/dev/patchwork/patch/13060/
-- Changed polling infrastructure to use rte_eal_alarm* instead of timerfd_create API
-- rebased to ca173a909538a2f1082cd0dcb4d778a97dab69c3
V3->V4
addressed review comments of Ferruh's review
http://dpdk.org/dev/patchwork/patch/13314/
-- s/avilable/available
http://dpdk.org/dev/patchwork/patch/13323/
-- s/witout/without
http://dpdk.org/dev/patchwork/patch/13318/
-- s/nicvf_free_xmittted_buffers/nicvf_free_xmitted_buffers
-- fix checkpatch errors
http://dpdk.org/dev/patchwork/patch/13307/
-- addressed review comments
http://dpdk.org/dev/patchwork/patch/13308/
-- addressed review comments
http://dpdk.org/dev/patchwork/patch/13320/
-- addressed review comments
http://dpdk.org/dev/patchwork/patch/13321/
-- addressed review comments
http://dpdk.org/dev/patchwork/patch/13322/
-- addressed review comments
http://dpdk.org/dev/patchwork/patch/13324/
-- addressed review comments and created separated patch for
platform specific config change
-- update change log to net/thunderx: ........
V4->V5
-- splitting up drivers/net/thunderx/nicvf/base files to following
patches as suggested by Bruce
net/thunderx/base: add HW constants for ThunderX inbuilt NIC
net/thunderx/base: add register definition for ThunderX inbuilt NIC
net/thunderx/base: implement DPDK based platform abstraction for base code
net/thunderx/base: add mbox API for ThunderX PF/VF driver communication
net/thunderx/base: add hardware API for ThunderX nicvf inbuilt NIC
net/thunderx/base: add RSS and reta configuration HW APIs
net/thunderx/base: add statistics get HW APIs
-- Corrected wrong git commit log messages flagged by check-git-log.sh
V5->V6
-- Rebased to dpdk-next-net/rel_16_07(ad00c7ec23e3b7723217bc29e03eb40409aaf617)
-- Splitted following patches in v5 to two logical patches
[dpdk-dev,v5,16/25] net/thunderx: add MTU set and promiscuous enable support
[dpdk-dev,v5,20/25] net/thunderx: implement supported ptype get and Rx queue count
-- Fixed check-git-logs.sh for "commit messages being too long"
Jerin Jacob (27):
net/thunderx/base: add HW constants
net/thunderx/base: add HW register definitions
net/thunderx/base: implement DPDK based platform abstraction
net/thunderx/base: add mbox APIs for PF/VF communication
net/thunderx/base: add hardware API
net/thunderx/base: add RSS and reta configuration HW APIs
net/thunderx/base: add statistics get HW APIs
net/thunderx: add pmd skeleton
net/thunderx: add link status and link update support
net/thunderx: add registers dump support
net/thunderx: add ethdev configure support
net/thunderx: add get device info support
net/thunderx: add Rx queue setup and release support
net/thunderx: add Tx queue setup and release support
net/thunderx: add RSS and reta query and update support
net/thunderx: add MTU set support
net/thunderx: add promiscuous enable support
net/thunderx: add stats support
net/thunderx: add single and multi segment Tx functions
net/thunderx: add single and multi segment Rx functions
net/thunderx: add supported packet type get
net/thunderx: add Rx queue count support
net/thunderx: add Rx queue start and stop support
net/thunderx: add Tx queue start and stop support
net/thunderx: add device start,stop and close support
net/thunderx: updated driver documentation and release notes
maintainers: claim responsibility for the ThunderX nicvf PMD
MAINTAINERS | 6 +
config/common_base | 10 +
config/defconfig_arm64-thunderx-linuxapp-gcc | 10 +
doc/guides/nics/index.rst | 1 +
doc/guides/nics/overview.rst | 96 +-
doc/guides/nics/thunderx.rst | 354 ++++
doc/guides/rel_notes/release_16_07.rst | 1 +
drivers/net/Makefile | 1 +
drivers/net/thunderx/Makefile | 65 +
drivers/net/thunderx/base/nicvf_hw.c | 905 ++++++++++
drivers/net/thunderx/base/nicvf_hw.h | 240 +++
drivers/net/thunderx/base/nicvf_hw_defs.h | 1219 +++++++++++++
drivers/net/thunderx/base/nicvf_mbox.c | 418 +++++
drivers/net/thunderx/base/nicvf_mbox.h | 232 +++
drivers/net/thunderx/base/nicvf_plat.h | 132 ++
drivers/net/thunderx/nicvf_ethdev.c | 1791 ++++++++++++++++++++
drivers/net/thunderx/nicvf_ethdev.h | 106 ++
drivers/net/thunderx/nicvf_logs.h | 83 +
drivers/net/thunderx/nicvf_rxtx.c | 599 +++++++
drivers/net/thunderx/nicvf_rxtx.h | 101 ++
drivers/net/thunderx/nicvf_struct.h | 124 ++
.../thunderx/rte_pmd_thunderx_nicvf_version.map | 4 +
mk/rte.app.mk | 1 +
23 files changed, 6451 insertions(+), 48 deletions(-)
create mode 100644 doc/guides/nics/thunderx.rst
create mode 100644 drivers/net/thunderx/Makefile
create mode 100644 drivers/net/thunderx/base/nicvf_hw.c
create mode 100644 drivers/net/thunderx/base/nicvf_hw.h
create mode 100644 drivers/net/thunderx/base/nicvf_hw_defs.h
create mode 100644 drivers/net/thunderx/base/nicvf_mbox.c
create mode 100644 drivers/net/thunderx/base/nicvf_mbox.h
create mode 100644 drivers/net/thunderx/base/nicvf_plat.h
create mode 100644 drivers/net/thunderx/nicvf_ethdev.c
create mode 100644 drivers/net/thunderx/nicvf_ethdev.h
create mode 100644 drivers/net/thunderx/nicvf_logs.h
create mode 100644 drivers/net/thunderx/nicvf_rxtx.c
create mode 100644 drivers/net/thunderx/nicvf_rxtx.h
create mode 100644 drivers/net/thunderx/nicvf_struct.h
create mode 100644 drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map
--
2.5.5
More information about the dev
mailing list