[dpdk-dev] [PATCH v4 00/19] DPDK PMD for ThunderX NIC device

Jerin Jacob jerin.jacob at caviumnetworks.com
Mon Jun 13 15:55:24 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
ca173a909538a2f1082cd0dcb4d778a97dab69c3 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

ddressed 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: ........

Jerin Jacob (19):
  net/thunderx/base: add hardware API for ThunderX nicvf inbuilt NIC
  net/thunderx: add pmd skeleton
  net/thunderx: add link status and link update support
  net/thunderx: add get_reg and get_reg_length support
  net/thunderx: add dev_configure support
  net/thunderx: add dev_infos_get support
  net/thunderx: add rx_queue_setup/release support
  net/thunderx: add tx_queue_setup/release support
  net/thunderx: add rss and reta query and update support
  net/thunderx: add mtu_set and 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 dev_supported_ptypes_get and 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                | 1789 ++++++++++++++++++++
 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                                      |    2 +
 23 files changed, 6450 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