From patchwork Tue Nov 10 14:18:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matej Vido X-Patchwork-Id: 8830 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 26F9F8E84; Tue, 10 Nov 2015 15:19:19 +0100 (CET) Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by dpdk.org (Postfix) with ESMTP id 452608E7A for ; Tue, 10 Nov 2015 15:19:17 +0100 (CET) Received: by wmww144 with SMTP id w144so119676580wmw.1 for ; Tue, 10 Nov 2015 06:19:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=zYeBMsKeWz01yj2JC1X7O2x8do6bH1GmgVQEGzDea58=; b=xlSkSFbX1GOuw0QO2CdR8a82w88cDUbjdfopW7l8J+2nXLNFS2UEdsIwcfMvzfm6UV b9hB8pKiSt5D00POh4qA3sP0l0sW0ymiGY5qTMoq5iOcg+PA5MMyval+hDvTF4KIVcWT CxbnnvPOIOhq4sI/VvBunc1JYgVdIMcMytIIDJBhgj5qEC2xkc2ey5oNNE1/VlhjmxKw 3ZF333KtzCPK3+vSdUbsjpgW7INEAh2VeocvUfKsqvwFOEf5u4PaxReY/4JXcfKE+01V sWizWO0uLZZT8/pGmOo6lztwbXhE27u7/Oc3jgIdQ/qo+KiOMK8a3eX/WLxGhRIspYgO I/dg== X-Received: by 10.195.12.67 with SMTP id eo3mr4865814wjd.158.1447165157134; Tue, 10 Nov 2015 06:19:17 -0800 (PST) Received: from nbmato.kn.vutbr.cz ([2001:67c:1220:c1a2:31a3:fb3a:a00:b3f8]) by smtp.gmail.com with ESMTPSA id iw8sm3779421wjb.5.2015.11.10.06.19.15 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 10 Nov 2015 06:19:16 -0800 (PST) From: Matej Vido To: dev@dpdk.org Date: Tue, 10 Nov 2015 15:18:17 +0100 Message-Id: <1447165098-6412-6-git-send-email-matejvido@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1447165098-6412-1-git-send-email-matejvido@gmail.com> References: <1442565172-5338-1-git-send-email-matejvido@gmail.com> <1447165098-6412-1-git-send-email-matejvido@gmail.com> In-Reply-To: <1442565172-5338-1-git-send-email-matejvido@gmail.com> References: <1442565172-5338-1-git-send-email-matejvido@gmail.com> Subject: [dpdk-dev] [PATCH v3 5/6] doc: add documentation for szedata2 PMD 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" v3: Edit formatting. Add links. Signed-off-by: Matej Vido Acked-by: John McNamara --- doc/guides/nics/index.rst | 1 + doc/guides/nics/szedata2.rst | 127 +++++++++++++++++++++++++++++++++++ doc/guides/prog_guide/source_org.rst | 1 + 3 files changed, 129 insertions(+) create mode 100644 doc/guides/nics/szedata2.rst diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst index 2d4936d..0a0b724 100644 --- a/doc/guides/nics/index.rst +++ b/doc/guides/nics/index.rst @@ -46,6 +46,7 @@ Network Interface Controller Drivers intel_vf mlx4 mlx5 + szedata2 virtio vmxnet3 pcap_ring diff --git a/doc/guides/nics/szedata2.rst b/doc/guides/nics/szedata2.rst new file mode 100644 index 0000000..b952b46 --- /dev/null +++ b/doc/guides/nics/szedata2.rst @@ -0,0 +1,127 @@ +.. BSD LICENSE + Copyright 2015 CESNET + 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 CESNET 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. + +SZEDATA2 poll mode driver library +================================= + +The SZEDATA2 poll mode driver library implements support for cards from COMBO +family (**COMBO-80G**, **COMBO-100G**). +The SZEDATA2 PMD is virtual PMD which uses interface provided by libsze2 +library to communicate with COMBO cards over sze2 layer. + +More information about family of +`COMBO cards `_ +and used technology +(`NetCOPE platform `_) can be +found on the `Liberouter website `_. + +.. note:: + + This driver has external dependencies. + Therefore it is disabled in default configuration files. + It can be enabled by setting ``CONFIG_RTE_LIBRTE_PMD_SZEDATA2=y`` + and recompiling. + +Prerequisities +-------------- + +This PMD requires kernel modules which are responsible for initialization and +allocation of resources needed for sze2 layer function. +Communication between PMD and kernel modules is mediated by libsze2 library. +These kernel modules and library are not part of DPDK and must be installed +separately: + +* **libsze2 library** + + The library provides API for initialization of sze2 transfers, receiving and + transmitting data segments. + +* **Kernel modules** + + * combov3 + * szedata2_cv3 + + Kernel modules manage initialization of hardware, allocation and + sharing of resources for user space applications: + +Information about getting the dependencies can be found `here +`_. + + +Using the SZEDATA2 PMD +---------------------- + +SZEDATA2 PMD can be created by passing ``--vdev=`` option to EAL in the +following format: + +.. code-block:: console + + --vdev 'DEVICE,dev_path=PATH,rx_ifaces=RX_MASK,tx_ifaces=TX_MASK' + +``DEVICE`` and options ``dev_path``, ``rx_ifaces``, ``tx_ifaces`` are mandatory +and must be separated by commas. + +* ``DEVICE``: contains prefix ``eth_szedata2`` followed by numbers or letters, + must be unique for each virtual device + +* ``dev_path``: Defines path to szedata2 device. + Value is valid path to szedata2 device. Example: + + .. code-block:: console + + dev_path=/dev/szedataII0 + +* ``rx_ifaces``: Defines which receive channels will be used. + For each channel is created one queue. Value is mask for selecting which + receive channels are required. Example: + + .. code-block:: console + + rx_ifaces=0x3 + +* ``tx_ifaces``: Defines which transmit channels will be used. + For each channel is created one queue. Value is mask for selecting which + transmit channels are required. Example: + + .. code-block:: console + + tx_ifaces=0x3 + +Example of usage +---------------- + +Read packets from 0. and 1. receive channel and write them to 0. and 1. +transmit channel: + +.. code-block:: console + + $RTE_TARGET/app/testpmd -c 0xf -n 2 \ + --vdev 'eth_szedata20,dev_path=/dev/szedataII0,rx_ifaces=0x3,tx_ifaces=0x3' \ + -- --port-topology=chained --rxq=2 --txq=2 --nb-cores=2 diff --git a/doc/guides/prog_guide/source_org.rst b/doc/guides/prog_guide/source_org.rst index ae11b3b..0c06d47 100644 --- a/doc/guides/prog_guide/source_org.rst +++ b/doc/guides/prog_guide/source_org.rst @@ -106,6 +106,7 @@ The drivers directory has a *net* subdirectory which contains:: +-- null # NULL poll mode driver for testing +-- pcap # PCAP poll mode driver +-- ring # Ring poll mode driver + +-- szedata2 # SZEDATA2 poll mode driver +-- virtio # Virtio poll mode driver +-- vmxnet3 # VMXNET3 poll mode driver +-- xenvirt # Xen virtio poll mode driver