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