[dpdk-dev] [PATCH 2/2] doc: added documentation for szedata2 PMD
Matej Vido
vido at cesnet.cz
Fri Jun 19 10:25:01 CEST 2015
Signed-off-by: Matej Vido <vido at cesnet.cz>
---
doc/guides/nics/index.rst | 1 +
doc/guides/nics/szedata2.rst | 105 +++++++++++++++++++++++++++++++++++
doc/guides/prog_guide/source_org.rst | 1 +
3 files changed, 107 insertions(+)
create mode 100644 doc/guides/nics/szedata2.rst
diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
index 1ee67fa..4218f90 100644
--- a/doc/guides/nics/index.rst
+++ b/doc/guides/nics/index.rst
@@ -44,6 +44,7 @@ Network Interface Controller Drivers
ixgbe
intel_vf
mlx4
+ 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..05864c5
--- /dev/null
+++ b/doc/guides/nics/szedata2.rst
@@ -0,0 +1,105 @@
+.. 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 PMD
+============
+
+SZEDATA2 PMD is virtual PMD which uses sze2 layer to communicate with COMBO
+cards (COMBO-80G, COMBO-100G) using interface provided by libsze2 library.
+
+.. 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**
+
+ This library provides API for initialization of sze2 transfers, receiving and
+ transmitting data segments.
+
+- **Kernel modules**
+
+ These kernel modules manage initialization of hardware, allocation and sharing
+ of resources for user space applications:
+
+ - combov3
+ - szedata2_cv3
+
+Using PMD
+---------
+
+SZEDATA2 PMD can be created by passing --vdev= option to EAL in the following
+format:
+
+.. code-block:: console
+
+ --vdev 'DEVICE_NAME,dev_path=PATH_TO_SZEDATA2_DEVICE,rx_ifaces=RX_MASK,tx_ifaces=TX_MASK'
+
+DEVICE_NAME and options dev_path, rx_ifaces, tx_ifaces are mandatory and must
+be separated by commas.
+
+* DEVICE_NAME: 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.
+
+ 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.
+
+ 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.
+
+ 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 4f6f489..e43d8c1 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
--
Matej Vido
Software Developer
CESNET, a. l. e.
More information about the dev
mailing list