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