doc: add distributor application
[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     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>`