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 34June 2014 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 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>` 157