doc: sample application user guide
[dpdk.git] / doc / guides / sample_app_ug / index.rst
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
31 Sample Applications User Guide
32 ==============================
33
34 June 2014
35
36 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS.
37 NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT.
38 EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS,
39 INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY,
40 RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE,
41 MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
42
43 A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death.
44 SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES,
45 SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES,
46 AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY,
47 OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION,
48 WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN,
49 MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.
50
51 Intel may make changes to specifications and product descriptions at any time, without notice.
52 Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined".
53 Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.
54 The information here is subject to change without notice.
55 Do not finalize a design with this information.
56
57 The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications.
58 Current characterized errata are available on request.
59
60 Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
61
62 Copies 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
65 Intel 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
69 Copyright © 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
104 **Figures**
105
106 :ref:`Figure 1.Packet Flow <figure_1>`
107
108 :ref:`Figure 2.Kernel NIC Application Packet Flow <figure_2>`
109
110 :ref:`Figure 3.Performance Benchmark Setup (Basic Environment) <figure_3>`
111
112 :ref:`Figure 4.Performance Benchmark Setup (Virtualized Environment) <figure_4>`
113
114 :ref:`Figure 5.Load Balancer Application Architecture <figure_5>`
115
116 :ref:`Figure 5.Example Rules File <figure_5_1>`
117
118 :ref:`Figure 6.Example Data Flow in a Symmetric Multi-process Application <figure_6>`
119
120 :ref:`Figure 7.Example Data Flow in a Client-Server Symmetric Multi-process Application <figure_7>`
121
122 :ref:`Figure 8.Master-slave Process Workflow <figure_8>`
123
124 :ref:`Figure 9.Slave Process Recovery Process Flow <figure_9>`
125
126 :ref:`Figure 10.QoS Scheduler Application Architecture <figure_10>`
127
128 :ref:`Figure 11.Intel®QuickAssist Technology Application Block Diagram <figure_11>`
129
130 :ref:`Figure 12.Pipeline Overview <figure_12>`
131
132 :ref:`Figure 13.Ring-based Processing Pipeline Performance Setup <figure_13>`
133
134 :ref:`Figure 14.Threads and Pipelines <figure_14>`
135
136 :ref:`Figure 15.Packet Flow Through the VMDQ and DCB Sample Application <figure_15>`
137
138 :ref:`Figure 16.QEMU Virtio-net (prior to vhost-net) <figure_16>`
139
140 :ref:`Figure 17.Virtio with Linux* Kernel Vhost <figure_17>`
141
142 :ref:`Figure 18.Vhost-net Architectural Overview <figure_18>`
143
144 :ref:`Figure 19.Packet Flow Through the vhost-net Sample Application <figure_19>`
145
146 :ref:`Figure 20.Packet Flow on TX in DPDK-testpmd <figure_20>`
147
148 :ref:`Figure 21.Test Pipeline Application <figure_21>`
149
150 **Tables**
151
152 :ref:`Table 1.Output Traffic Marking <table_1>`
153
154 :ref:`Table 2.Entity Types <table_2>`
155
156 :ref:`Table 3.Table Types <table_3>`