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