DPDK patches and discussions
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Finn Christensen <fc@napatech.com>
Cc: dev@dpdk.org, thomas.monjalon@6wind.com, stephen@networkplumber.org
Subject: Re: [dpdk-dev] [PATCH v2] ntnic: add PMD driver
Date: Thu, 8 Sep 2016 09:49:42 -0400	[thread overview]
Message-ID: <20160908134942.GB16608@hmsreliant.think-freely.org> (raw)
In-Reply-To: <20160908111424.14127-1-fc@napatech.com>

On Thu, Sep 08, 2016 at 11:14:24AM +0000, Finn Christensen wrote:
> This is the Napatech NTNIC Poll Mode Driver (PMD) for DPDK.
> 
> This patch adds support for Napatech NICs to DPDK. This is the
> initial implementation.
> 
> Signed-off-by: Finn Christensen <fc@napatech.com>
> ---
> v2:
>   * Added information how to build the PMD without NIC
>     Board Support Package
>   * Fixed some formatting issues
> ---
>  MAINTAINERS                                 |   5 +
>  config/common_base                          |   6 +
>  doc/guides/nics/features/ntnic.ini          |  15 +
>  doc/guides/nics/index.rst                   |   1 +
>  doc/guides/nics/ntnic.rst                   | 145 +++++
>  drivers/net/Makefile                        |   1 +
>  drivers/net/ntnic/Makefile                  |  65 ++
>  drivers/net/ntnic/rte_eth_ntnic.c           | 975 ++++++++++++++++++++++++++++
>  drivers/net/ntnic/rte_pmd_ntnic_version.map |   4 +
>  mk/rte.app.mk                               |   7 +
>  10 files changed, 1224 insertions(+)
>  create mode 100644 doc/guides/nics/features/ntnic.ini
>  create mode 100644 doc/guides/nics/ntnic.rst
>  create mode 100644 drivers/net/ntnic/Makefile
>  create mode 100644 drivers/net/ntnic/rte_eth_ntnic.c
>  create mode 100644 drivers/net/ntnic/rte_pmd_ntnic_version.map
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index bc9aa02..d3e5f56 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -356,6 +356,11 @@ M: Sony Chacko <sony.chacko@qlogic.com>
>  F: drivers/net/qede/
>  F: doc/guides/nics/qede.rst
> 
> +Napatech ntnic
> +M: Finn Christensen <fc@napatech.com>
> +F: drivers/net/ntnic/
> +F: doc/guides/nics/ntnic.rst
> +
>  RedHat virtio
>  M: Huawei Xie <huawei.xie@intel.com>
>  M: Yuanhan Liu <yuanhan.liu@linux.intel.com>
> diff --git a/config/common_base b/config/common_base
> index 7830535..4a3b2b8 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -309,6 +309,12 @@ CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
>  CONFIG_RTE_LIBRTE_PMD_PCAP=n
> 
>  #
> +# Compile software PMD backed by NTNIC files
> +#
> +CONFIG_RTE_LIBRTE_PMD_NTNIC=n
> +
> +
> +#
>  # Compile link bonding PMD library
>  #
>  CONFIG_RTE_LIBRTE_PMD_BOND=y
> diff --git a/doc/guides/nics/features/ntnic.ini b/doc/guides/nics/features/ntnic.ini
> new file mode 100644
> index 0000000..b6cfc5a
> --- /dev/null
> +++ b/doc/guides/nics/features/ntnic.ini
> @@ -0,0 +1,15 @@
> +;
> +; Supported features of the 'ntnic' network poll mode driver.
> +;
> +; Refer to default.ini for the full list of available PMD features.
> +;
> +[Features]
> +Link status          = Y
> +Queue start/stop     = Y
> +Promiscuous mode     = Y
> +Jumbo frame          = Y
> +Basic stats          = Y
> +Multiprocess aware   = Y
> +x86-32               = Y
> +x86-64               = Y
> +Usage doc            = Y
> diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
> index 92d56a5..5c4205c 100644
> --- a/doc/guides/nics/index.rst
> +++ b/doc/guides/nics/index.rst
> @@ -52,6 +52,7 @@ Network Interface Controller Drivers
>      qede
>      szedata2
>      thunderx
> +    ntnic
>      virtio
>      vhost
>      vmxnet3
> diff --git a/doc/guides/nics/ntnic.rst b/doc/guides/nics/ntnic.rst
> new file mode 100644
> index 0000000..8512d02
> --- /dev/null
> +++ b/doc/guides/nics/ntnic.rst
> @@ -0,0 +1,145 @@
> +..  BSD LICENSE
> +    Copyright (c) 2016 Napatech A/S
> +    All rights reserved.
> +
> +    Redistribution and use in source and binary forms, with or without
> +    modification, are permitted provided that the following conditions
> +    are met:
> +
> +    * Redistributions of source code must retain the above copyright
> +    notice, this list of conditions and the following disclaimer.
> +    * Redistributions in binary form must reproduce the above copyright
> +    notice, this list of conditions and the following disclaimer in
> +    the documentation and/or other materials provided with the
> +    distribution.
> +    * Neither the name of Napatech nor the names of its
> +    contributors may be used to endorse or promote products derived
> +    from this software without specific prior written permission.
> +
> +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> +    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> +    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> +    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> +    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> +    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> +    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> +    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> +    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> +    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +NTNIC Poll Mode Driver
> +======================
> +
> +The NTNIC poll mode driver library (**librte_pmd_ntnic**) implements support
> +for **Napatech NIC** 40/50 Gbps adapters.
> +This PMD is implemented as a pure software virtual device and must be created
> +by using the EAL --vdev=parameter (parameters are explained i detail later).
> +It runs on top of the Napatech NFV NIC Board Support Package that must be
> +installed and started.
> +If no Napatech NIC is available, you can download the Napatech NTAPI library to
> +build against.
> +
> +Supported Features
> +------------------
> +
> +- RSS (Receive Side Scaling)
> +- TSS (Transmit Side Scaling)
> +- Promiscuous mode
> +- Basic statistics
> +
> +
> +Prerequisites
> +-------------
> +
> +Requires Napatech NIC and Napatech NIC Board Support Package installed and
> +running in version **0.3.0** or higher.
> +This includes external libraries and kernel driver for resources
> +allocations and initialization.
> +If build only is required, download the Napatech NTAPI to build against.
> +
> +Pre-Installation Configuration
> +------------------------------
> +
> +Environment variables
> +~~~~~~~~~~~~~~~~~~~~~
> +
> +In order to compile the Napatech NIC PMD, user must:
> +
> +* Export the environment variable NAPATECH3_PATH with the path where
> +  the Napatech Board Support Package libs was installed (default location is
> +  /opt/napatech3).
> +  Or if no Napatech NIC available:
> +  Download the Napatech NTAPI libs from Github:
> +  `Napatech NTAPI <https://github.com/napa-tech/ntapi>`_.
> +
NAK

Most of the code you provide in this patch looks fine, but you require that it
be linked with the ntapi and ntos libraries.  You provide those above in your
external git tree...in binary only form. Thats not ok.  If you want this to be
in any way supportable, or usable on any platforms DPDK supports besides the
x86_64 build you've provided, then you need to make the libraries in that git
tree available in source form

Neil

  reply	other threads:[~2016-09-08 13:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-26 13:44 [dpdk-dev] [PATCH] " Finn Christensen
2016-08-26 14:44 ` Thomas Monjalon
2016-08-26 16:32   ` Finn Christensen
2016-08-27  9:07     ` Thomas Monjalon
2016-08-26 16:54 ` Stephen Hemminger
2016-08-29  6:22   ` Finn Christensen
2016-08-29 10:04     ` Thomas Monjalon
2016-08-29 12:00       ` Finn Christensen
2016-09-08 11:14 ` [dpdk-dev] [PATCH v2] " Finn Christensen
2016-09-08 13:49   ` Neil Horman [this message]
2016-09-08 14:22     ` Finn Christensen
2016-09-09 12:48   ` [dpdk-dev] [PATCH v3] " Finn Christensen
2016-09-09 13:51     ` Neil Horman
2016-09-10  7:58       ` Finn Christensen
2016-09-10  8:20         ` Thomas Monjalon
2016-09-10 18:31           ` Stephen Hemminger
2016-09-12  8:08             ` Finn Christensen
2016-09-12 12:33             ` Neil Horman
2016-09-12  7:34           ` Finn Christensen
2016-11-21 13:47             ` Ferruh Yigit
2016-11-21 13:55               ` Finn Christensen
2016-09-12 12:32         ` Neil Horman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160908134942.GB16608@hmsreliant.think-freely.org \
    --to=nhorman@tuxdriver.com \
    --cc=dev@dpdk.org \
    --cc=fc@napatech.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas.monjalon@6wind.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).