From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.napatech.com (mail02.napatech.com [91.102.88.21]) by dpdk.org (Postfix) with ESMTP id A1941CE7 for ; Thu, 8 Sep 2016 16:22:23 +0200 (CEST) IronPort-PHdr: 9a23:diGozhc2iFw11NlhyYCkbGdFlGMj4u6mDksu8pMizoh2WeGdxc6zZx7h7PlgxGXEQZ/co6odzbGH6ua+Aydfvd7B6ClEK80UEUddyI0/pE8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0IufrymUrDbg8n/7e2u4ZqbO1wO32vkJ+0oZ0rq5UWJ749N0NMkcv5wgjLy4VJwM9xMwm1pIV/B1z3d3eyXuKBZziJLpvg6/NRBW6ipN44xTLhfESh0ezttvJ6jnVD5QACO/noRVHkN2loNWlCdrUKyYpCklCb7sqJd3zOfNMu+GbY0Xi6n5qFDVAL4hD0GKTMjtmrQj5ojorhcpUePphp5i6XUeoCOKPd4Za7bNYcUTkJHV95YSyFKAsW3aI5ZXLlJBvpRs4So/whGlhC5HwT5Qbq3kjI= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2HSAgDEcdFX/1QB8ApdGgEBAQECAQEBARUBAQEBAgEBAQGDDgEBAQEBdXwHjSupAoIPgUJBIIFyVIM2AoIWFAEBAQEBAQEBAQEBAoECgjIEARUBBAQBOTsBAQEBAQEBIwINIjwBAQEBAzo/DAQCAQgOAwQBAQEeCQcyFAkIAgQOBQgTiD28ZwEBAQEBAQEBAQEBAQEBAQEBAQEBARyGMIROhBIKBwGFeAWIMIV6izSGIoMCgn2DGIF1F4RIiRCMUYN7HoUKcAGFJg9fQX8BAQE X-IPAS-Result: A2HSAgDEcdFX/1QB8ApdGgEBAQECAQEBARUBAQEBAgEBAQGDDgEBAQEBdXwHjSupAoIPgUJBIIFyVIM2AoIWFAEBAQEBAQEBAQEBAoECgjIEARUBBAQBOTsBAQEBAQEBIwINIjwBAQEBAzo/DAQCAQgOAwQBAQEeCQcyFAkIAgQOBQgTiD28ZwEBAQEBAQEBAQEBAQEBAQEBAQEBARyGMIROhBIKBwGFeAWIMIV6izSGIoMCgn2DGIF1F4RIiRCMUYN7HoUKcAGFJg9fQX8BAQE Received: from cph-gen-exch02.napatech.com (10.240.1.84) by cph-gen-exch02.napatech.com (10.240.1.84) with Microsoft SMTP Server (TLS) id 15.1.396.30; Thu, 8 Sep 2016 16:22:03 +0200 Received: from cph-gen-exch02.napatech.com ([fe80::581:51a1:ac3f:84e]) by cph-gen-exch02.napatech.com ([fe80::581:51a1:ac3f:84e%12]) with mapi id 15.01.0396.030; Thu, 8 Sep 2016 16:22:03 +0200 From: Finn Christensen To: Neil Horman CC: "dev@dpdk.org" , "thomas.monjalon@6wind.com" , "stephen@networkplumber.org" Thread-Topic: [dpdk-dev] [PATCH v2] ntnic: add PMD driver Thread-Index: AQHSCcJ37UjT832SDEKc5mH3ZM80e6BveqcAgAAkUrA= Date: Thu, 8 Sep 2016 14:22:02 +0000 Message-ID: <1b802da905834fd6b4d1424a2e5e2b57@napatech.com> References: <20160826134401.19337-1-fc@napatech.com> <20160908111424.14127-1-fc@napatech.com> <20160908134942.GB16608@hmsreliant.think-freely.org> In-Reply-To: <20160908134942.GB16608@hmsreliant.think-freely.org> Accept-Language: da-DK, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.240.10.146] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] ntnic: add PMD driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Sep 2016 14:22:24 -0000 > -----Original Message----- > From: Neil Horman [mailto:nhorman@tuxdriver.com] > Sent: 8. september 2016 15:50 > To: Finn Christensen > Cc: dev@dpdk.org; thomas.monjalon@6wind.com; > stephen@networkplumber.org > Subject: Re: [dpdk-dev] [PATCH v2] ntnic: add PMD driver > > 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 > > --- > > 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 > > F: drivers/net/qede/ > > F: doc/guides/nics/qede.rst > > > > +Napatech ntnic > > +M: Finn Christensen > > +F: drivers/net/ntnic/ > > +F: doc/guides/nics/ntnic.rst > > + > > RedHat virtio > > M: Huawei Xie > > M: Yuanhan Liu 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=3D16 > > CONFIG_RTE_LIBRTE_PMD_PCAP=3Dn > > > > # > > +# Compile software PMD backed by NTNIC files # > > +CONFIG_RTE_LIBRTE_PMD_NTNIC=3Dn > > + > > + > > +# > > # Compile link bonding PMD library > > # > > CONFIG_RTE_LIBRTE_PMD_BOND=3Dy > > 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 =3D Y > > +Queue start/stop =3D Y > > +Promiscuous mode =3D Y > > +Jumbo frame =3D Y > > +Basic stats =3D Y > > +Multiprocess aware =3D Y > > +x86-32 =3D Y > > +x86-64 =3D Y > > +Usage doc =3D 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 copyrigh= t > > + 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 > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > + > > +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=3Dparameter (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 agains= t. > > + > > +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 `_. > > + > NAK > > Most of the code you provide in this patch looks fine, but you require th= at 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 No, our NIC is not supported on anything else than x86_64 platform. It woul= d not seem to make sense to compile it against anything else than what we support. We assumed that the supported platforms was to be decribed in the doc/guides/nics/features/.ini file, and that is what we have done. Many of the other supported nics in the DPDK does also only support either x86 platform, or only a few others. Even though we do not support other platforms, do we need to be able to compile The ntnic PMD on other than x86_64 platforms? Would a dynamic linking in the PMD module be preferred or a possible solution? Thanks! Disclaimer: This email and any files transmitted with it may contain confid= ential information intended for the addressee(s) only. The information is n= ot to be surrendered or copied to unauthorized persons. If you have receive= d this communication in error, please notify the sender immediately and del= ete this e-mail from your system.