xref: /dpdk/doc/guides/sample_app_ug/index.rst (revision c75f4e6a7a2b5a7b4136ddd6dcb977eb48aae1f6)
1d0dff9baSBernard Iremonger..  BSD LICENSE
2d0dff9baSBernard Iremonger    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
3d0dff9baSBernard Iremonger    All rights reserved.
4d0dff9baSBernard Iremonger
5d0dff9baSBernard Iremonger    Redistribution and use in source and binary forms, with or without
6d0dff9baSBernard Iremonger    modification, are permitted provided that the following conditions
7d0dff9baSBernard Iremonger    are met:
8d0dff9baSBernard Iremonger
9d0dff9baSBernard Iremonger    * Redistributions of source code must retain the above copyright
10d0dff9baSBernard Iremonger    notice, this list of conditions and the following disclaimer.
11d0dff9baSBernard Iremonger    * Redistributions in binary form must reproduce the above copyright
12d0dff9baSBernard Iremonger    notice, this list of conditions and the following disclaimer in
13d0dff9baSBernard Iremonger    the documentation and/or other materials provided with the
14d0dff9baSBernard Iremonger    distribution.
15d0dff9baSBernard Iremonger    * Neither the name of Intel Corporation nor the names of its
16d0dff9baSBernard Iremonger    contributors may be used to endorse or promote products derived
17d0dff9baSBernard Iremonger    from this software without specific prior written permission.
18d0dff9baSBernard Iremonger
19d0dff9baSBernard Iremonger    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20d0dff9baSBernard Iremonger    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21d0dff9baSBernard Iremonger    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22d0dff9baSBernard Iremonger    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23d0dff9baSBernard Iremonger    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24d0dff9baSBernard Iremonger    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25d0dff9baSBernard Iremonger    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26d0dff9baSBernard Iremonger    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27d0dff9baSBernard Iremonger    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28d0dff9baSBernard Iremonger    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29d0dff9baSBernard Iremonger    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30d0dff9baSBernard Iremonger
31d0dff9baSBernard IremongerSample Applications User Guide
32d0dff9baSBernard Iremonger==============================
33d0dff9baSBernard Iremonger
34a9bc351cSBruce Richardson|today|
35d0dff9baSBernard Iremonger
36d0dff9baSBernard IremongerINFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS.
37d0dff9baSBernard IremongerNO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT.
38d0dff9baSBernard IremongerEXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS,
39d0dff9baSBernard IremongerINTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY,
40d0dff9baSBernard IremongerRELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE,
41d0dff9baSBernard IremongerMERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
42d0dff9baSBernard Iremonger
43d0dff9baSBernard IremongerA "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death.
44d0dff9baSBernard IremongerSHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES,
45d0dff9baSBernard IremongerSUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES,
46d0dff9baSBernard IremongerAND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY,
47d0dff9baSBernard IremongerOR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION,
48d0dff9baSBernard IremongerWHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN,
49d0dff9baSBernard IremongerMANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.
50d0dff9baSBernard Iremonger
51d0dff9baSBernard IremongerIntel may make changes to specifications and product descriptions at any time, without notice.
52d0dff9baSBernard IremongerDesigners must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined".
53d0dff9baSBernard IremongerIntel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.
54d0dff9baSBernard IremongerThe information here is subject to change without notice.
55d0dff9baSBernard IremongerDo not finalize a design with this information.
56d0dff9baSBernard Iremonger
57d0dff9baSBernard IremongerThe products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications.
58d0dff9baSBernard IremongerCurrent characterized errata are available on request.
59d0dff9baSBernard Iremonger
60d0dff9baSBernard IremongerContact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
61d0dff9baSBernard Iremonger
62d0dff9baSBernard IremongerCopies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to:
63d0dff9baSBernard Iremonger`http://www.intel.com/design/literature.htm <http://www.intel.com/design/literature.htm>`_.
64d0dff9baSBernard Iremonger
65d0dff9baSBernard IremongerIntel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
66d0dff9baSBernard Iremonger
67d0dff9baSBernard Iremonger\*Other names and brands may be claimed as the property of others.
68d0dff9baSBernard Iremonger
69d0dff9baSBernard IremongerCopyright © 2012 - 2014, Intel Corporation. All rights reserved.
70d0dff9baSBernard Iremonger
71d0dff9baSBernard Iremonger**Contents**
72d0dff9baSBernard Iremonger
73d0dff9baSBernard Iremonger.. toctree::
74d0dff9baSBernard Iremonger    :maxdepth: 2
75d0dff9baSBernard Iremonger    :numbered:
76d0dff9baSBernard Iremonger
77d0dff9baSBernard Iremonger    intro
78d0dff9baSBernard Iremonger    cmd_line
79d0dff9baSBernard Iremonger    exception_path
80d0dff9baSBernard Iremonger    hello_world
81d0dff9baSBernard Iremonger    ip_frag
82d0dff9baSBernard Iremonger    ipv4_multicast
83d0dff9baSBernard Iremonger    ip_reassembly
84d0dff9baSBernard Iremonger    kernel_nic_interface
85d0dff9baSBernard Iremonger    l2_forward_real_virtual
86d0dff9baSBernard Iremonger    l3_forward
87d0dff9baSBernard Iremonger    l3_forward_power_man
88d0dff9baSBernard Iremonger    l3_forward_access_ctrl
89d0dff9baSBernard Iremonger    l3_forward_virtual
90d0dff9baSBernard Iremonger    link_status_intr
91d0dff9baSBernard Iremonger    load_balancer
92d0dff9baSBernard Iremonger    multi_process
93d0dff9baSBernard Iremonger    qos_metering
94d0dff9baSBernard Iremonger    qos_scheduler
95d0dff9baSBernard Iremonger    intel_quickassist
96d0dff9baSBernard Iremonger    quota_watermark
97d0dff9baSBernard Iremonger    timer
98d0dff9baSBernard Iremonger    vmdq_dcb_forwarding
99d0dff9baSBernard Iremonger    vhost
100d0dff9baSBernard Iremonger    netmap_compatibility
101d0dff9baSBernard Iremonger    internet_proto_ip_pipeline
102d0dff9baSBernard Iremonger    test_pipeline
10360643134SSiobhan Butler    dist_app
104*c75f4e6aSPablo de Lara    vm_power_management
105d0dff9baSBernard Iremonger
106d0dff9baSBernard Iremonger**Figures**
107d0dff9baSBernard Iremonger
108d0dff9baSBernard Iremonger:ref:`Figure 1.Packet Flow <figure_1>`
109d0dff9baSBernard Iremonger
110d0dff9baSBernard Iremonger:ref:`Figure 2.Kernel NIC Application Packet Flow <figure_2>`
111d0dff9baSBernard Iremonger
112d0dff9baSBernard Iremonger:ref:`Figure 3.Performance Benchmark Setup (Basic Environment) <figure_3>`
113d0dff9baSBernard Iremonger
114d0dff9baSBernard Iremonger:ref:`Figure 4.Performance Benchmark Setup (Virtualized Environment) <figure_4>`
115d0dff9baSBernard Iremonger
116d0dff9baSBernard Iremonger:ref:`Figure 5.Load Balancer Application Architecture <figure_5>`
117d0dff9baSBernard Iremonger
118d0dff9baSBernard Iremonger:ref:`Figure 5.Example Rules File <figure_5_1>`
119d0dff9baSBernard Iremonger
120d0dff9baSBernard Iremonger:ref:`Figure 6.Example Data Flow in a Symmetric Multi-process Application <figure_6>`
121d0dff9baSBernard Iremonger
122d0dff9baSBernard Iremonger:ref:`Figure 7.Example Data Flow in a Client-Server Symmetric Multi-process Application <figure_7>`
123d0dff9baSBernard Iremonger
124d0dff9baSBernard Iremonger:ref:`Figure 8.Master-slave Process Workflow <figure_8>`
125d0dff9baSBernard Iremonger
126d0dff9baSBernard Iremonger:ref:`Figure 9.Slave Process Recovery Process Flow <figure_9>`
127d0dff9baSBernard Iremonger
128d0dff9baSBernard Iremonger:ref:`Figure 10.QoS Scheduler Application Architecture <figure_10>`
129d0dff9baSBernard Iremonger
130d0dff9baSBernard Iremonger:ref:`Figure 11.Intel®QuickAssist Technology Application Block Diagram <figure_11>`
131d0dff9baSBernard Iremonger
132d0dff9baSBernard Iremonger:ref:`Figure 12.Pipeline Overview <figure_12>`
133d0dff9baSBernard Iremonger
134d0dff9baSBernard Iremonger:ref:`Figure 13.Ring-based Processing Pipeline Performance Setup <figure_13>`
135d0dff9baSBernard Iremonger
136d0dff9baSBernard Iremonger:ref:`Figure 14.Threads and Pipelines <figure_14>`
137d0dff9baSBernard Iremonger
138d0dff9baSBernard Iremonger:ref:`Figure 15.Packet Flow Through the VMDQ and DCB Sample Application <figure_15>`
139d0dff9baSBernard Iremonger
140d0dff9baSBernard Iremonger:ref:`Figure 16.QEMU Virtio-net (prior to vhost-net) <figure_16>`
141d0dff9baSBernard Iremonger
142d0dff9baSBernard Iremonger:ref:`Figure 17.Virtio with Linux* Kernel Vhost <figure_17>`
143d0dff9baSBernard Iremonger
144d0dff9baSBernard Iremonger:ref:`Figure 18.Vhost-net Architectural Overview <figure_18>`
145d0dff9baSBernard Iremonger
146d0dff9baSBernard Iremonger:ref:`Figure 19.Packet Flow Through the vhost-net Sample Application <figure_19>`
147d0dff9baSBernard Iremonger
148d0dff9baSBernard Iremonger:ref:`Figure 20.Packet Flow on TX in DPDK-testpmd <figure_20>`
149d0dff9baSBernard Iremonger
150d0dff9baSBernard Iremonger:ref:`Figure 21.Test Pipeline Application <figure_21>`
151d0dff9baSBernard Iremonger
15260643134SSiobhan Butler:ref:`Figure 22.Performance Benchmarking Setup (Basic Environment) <figure_22>`
15360643134SSiobhan Butler
15460643134SSiobhan Butler:ref:`Figure 23.Distributor Sample Application Layout <figure_23>`
15560643134SSiobhan Butler
156*c75f4e6aSPablo de Lara:ref:`Figure 24.High level Solution <figure_24>`
157*c75f4e6aSPablo de Lara
158*c75f4e6aSPablo de Lara:ref:`Figure 25.VM request to scale frequency <figure_25>`
159*c75f4e6aSPablo de Lara
160d0dff9baSBernard Iremonger**Tables**
161d0dff9baSBernard Iremonger
162d0dff9baSBernard Iremonger:ref:`Table 1.Output Traffic Marking <table_1>`
163d0dff9baSBernard Iremonger
164d0dff9baSBernard Iremonger:ref:`Table 2.Entity Types <table_2>`
165d0dff9baSBernard Iremonger
166d0dff9baSBernard Iremonger:ref:`Table 3.Table Types <table_3>`
167