New upstream version 18.11-rc4
[deb_dpdk.git] / doc / guides / sample_app_ug / tep_termination.rst
index 2d86a03..b333297 100644 (file)
@@ -1,34 +1,5 @@
-
-..  BSD LICENSE
-    Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
-    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 Intel Corporation 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.
-
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2010-2015 Intel Corporation.
 
 TEP termination Sample Application
 ==================================
 
 TEP termination Sample Application
 ==================================
@@ -59,8 +30,8 @@ This allows network isolation, QOS, etc to be provided on a per client basis.
 In a typical setup, the network overlay tunnel is terminated at the Virtual/Tunnel End Point (VEP/TEP).
 The TEP is normally located at the physical host level ideally in the software switch.
 Due to processing constraints and the inevitable bottleneck that the switch
 In a typical setup, the network overlay tunnel is terminated at the Virtual/Tunnel End Point (VEP/TEP).
 The TEP is normally located at the physical host level ideally in the software switch.
 Due to processing constraints and the inevitable bottleneck that the switch
-becomes the ability to offload overlay support features becomes an important requirement.
-IntelĀ® XL710 10/40 G Ethernet network card provides hardware filtering
+becomes, the ability to offload overlay support features becomes an important requirement.
+IntelĀ® XL710 10/40 Gigabit Ethernet network card provides hardware filtering
 and offload capabilities to support overlay networks implementations such as MAC in UDP and MAC in GRE.
 
 Sample Code Overview
 and offload capabilities to support overlay networks implementations such as MAC in UDP and MAC in GRE.
 
 Sample Code Overview
@@ -99,7 +70,8 @@ The sample will support the followings:
 
 *   TSO offload support for tunneling packet.
 
 
 *   TSO offload support for tunneling packet.
 
-The following figure shows the framework of the TEP termination sample application based on vhost-cuse.
+The following figure shows the framework of the TEP termination sample
+application based on DPDK vhost lib.
 
 .. _figure_tep_termination_arch:
 
 
 .. _figure_tep_termination_arch:
 
@@ -118,89 +90,22 @@ The example in this section have been validated with the following distributions
 
 *   Fedora* 20
 
 
 *   Fedora* 20
 
-Prerequisites
--------------
-
-Refer to :ref:`vhost_app_prerequisites`.
-
 Compiling the Sample Code
 -------------------------
 Compiling the Sample Code
 -------------------------
-#.  Compile vhost lib:
-
-    To enable vhost, turn on vhost library in the configure file config/common_linuxapp.
-
-    .. code-block:: console
-
-        CONFIG_RTE_LIBRTE_VHOST=n
-
-    vhost user is turned on by default in the configure file config/common_linuxapp.
-    To enable vhost cuse, disable vhost user.
-
-    .. code-block:: console
-
-        CONFIG_RTE_LIBRTE_VHOST_USER=y
-
-     After vhost is enabled and the implementation is selected, build the vhost library.
-
-#.  Go to the examples directory:
-
-    .. code-block:: console
-
-        export RTE_SDK=/path/to/rte_sdk
-        cd ${RTE_SDK}/examples/tep_termination
-
-#.  Set the target (a default target is used if not specified). For example:
-
-    .. code-block:: console
 
 
-        export RTE_TARGET=x86_64-native-linuxapp-gcc
-
-    See the DPDK Getting Started Guide for possible RTE_TARGET values.
-
-#.  Build the application:
-
-    .. code-block:: console
-
-        cd ${RTE_SDK}
-        make config ${RTE_TARGET}
-        make install ${RTE_TARGET}
-        cd ${RTE_SDK}/examples/tep_termination
-        make
-
-#.  Go to the eventfd_link directory(vhost cuse required):
+To enable vhost, turn on vhost library in the configure file
+``config/common_linuxapp``.
 
     .. code-block:: console
 
 
     .. code-block:: console
 
-        cd ${RTE_SDK}/lib/librte_vhost/eventfd_link
-
-#.  Build the eventfd_link kernel module(vhost cuse required):
-
-    .. code-block:: console
+        CONFIG_RTE_LIBRTE_VHOST=y
 
 
-        make
+Then following the to compile the sample application shown in
+:doc:`compiling`.
 
 Running the Sample Code
 -----------------------
 
 
 Running the Sample Code
 -----------------------
 
-#.  Install the cuse kernel module(vhost cuse required):
-
-    .. code-block:: console
-
-        modprobe cuse
-
-#.  Go to the eventfd_link directory(vhost cuse required):
-
-    .. code-block:: console
-
-        export RTE_SDK=/path/to/rte_sdk
-        cd ${RTE_SDK}/lib/librte_vhost/eventfd_link
-
-#.  Install the eventfd_link module(vhost cuse required):
-
-    .. code-block:: console
-
-        insmod ./eventfd_link.ko
-
 #.  Go to the examples directory:
 
     .. code-block:: console
 #.  Go to the examples directory:
 
     .. code-block:: console
@@ -212,7 +117,7 @@ Running the Sample Code
 
     .. code-block:: console
 
 
     .. code-block:: console
 
-        user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+        user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                         -p 0x1 --dev-basename tep-termination --nb-devices 4
                         --udp-port 4789 --filter-type 1
 
                         -p 0x1 --dev-basename tep-termination --nb-devices 4
                         --udp-port 4789 --filter-type 1
 
@@ -225,8 +130,7 @@ Parameters
 
 **The same parameters with the vhost sample.**
 
 
 **The same parameters with the vhost sample.**
 
-Refer to :ref:`vhost_app_parameters` for the meanings of 'Basename',
-'Stats', 'RX Retry', 'RX Retry Number' and 'RX Retry Delay Time'.
+Refer to :ref:`vhost_app_parameters` for detailed explanation.
 
 **Number of Devices.**
 
 
 **Number of Devices.**
 
@@ -235,7 +139,7 @@ The default value is 2.
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+    user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                     --nb-devices 2
 
 **Tunneling UDP port.**
                     --nb-devices 2
 
 **Tunneling UDP port.**
@@ -245,7 +149,7 @@ The default value is 4789.
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+    user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                     --nb-devices 2 --udp-port 4789
 
 **Filter Type.**
                     --nb-devices 2 --udp-port 4789
 
 **Filter Type.**
@@ -256,7 +160,7 @@ The default value is 1, which means the filter type of inner MAC and tenant ID i
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+    user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                 --nb-devices 2 --udp-port 4789 --filter-type 1
 
 **TX Checksum.**
                 --nb-devices 2 --udp-port 4789 --filter-type 1
 
 **TX Checksum.**
@@ -266,7 +170,7 @@ The default value is 0, which means the checksum offload is disabled.
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+    user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                 --nb-devices 2 --tx-checksum
 
 **TCP segment size.**
                 --nb-devices 2 --tx-checksum
 
 **TCP segment size.**
@@ -276,7 +180,7 @@ The default value is 0, which means TSO offload is disabled.
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+    user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                 --tx-checksum --tso-segsz 800
 
 **Decapsulation option.**
                 --tx-checksum --tso-segsz 800
 
 **Decapsulation option.**
@@ -286,7 +190,7 @@ The default value is 1.
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+    user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                 --nb-devices 4 --udp-port 4789 --decap 1
 
 **Encapsulation option.**
                 --nb-devices 4 --udp-port 4789 --decap 1
 
 **Encapsulation option.**
@@ -296,19 +200,19 @@ The default value is 1.
 
 .. code-block:: console
 
 
 .. code-block:: console
 
-    user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+    user@target:~$ ./build/app/tep_termination -l 0-3 -n 4 --huge-dir /mnt/huge --
                 --nb-devices 4 --udp-port 4789 --encap 1
 
 
 Running the Virtual Machine (QEMU)
 ----------------------------------
 
                 --nb-devices 4 --udp-port 4789 --encap 1
 
 
 Running the Virtual Machine (QEMU)
 ----------------------------------
 
-Refer to :ref:`vhost_app_running`.
+Refer to :ref:`vhost_app_run_vm`.
 
 Running DPDK in the Virtual Machine
 -----------------------------------
 
 
 Running DPDK in the Virtual Machine
 -----------------------------------
 
-Refer to :ref:`vhost_app_running_dpdk`.
+Refer to :ref:`vhost_app_run_dpdk_inside_guest`.
 
 Passing Traffic to the Virtual Machine Device
 ---------------------------------------------
 
 Passing Traffic to the Virtual Machine Device
 ---------------------------------------------