1fc1f2750SBernard Iremonger.. BSD LICENSE 2fc1f2750SBernard Iremonger Copyright(c) 2010-2014 Intel Corporation. All rights reserved. 3fc1f2750SBernard Iremonger All rights reserved. 4fc1f2750SBernard Iremonger 5fc1f2750SBernard Iremonger Redistribution and use in source and binary forms, with or without 6fc1f2750SBernard Iremonger modification, are permitted provided that the following conditions 7fc1f2750SBernard Iremonger are met: 8fc1f2750SBernard Iremonger 9fc1f2750SBernard Iremonger * Redistributions of source code must retain the above copyright 10fc1f2750SBernard Iremonger notice, this list of conditions and the following disclaimer. 11fc1f2750SBernard Iremonger * Redistributions in binary form must reproduce the above copyright 12fc1f2750SBernard Iremonger notice, this list of conditions and the following disclaimer in 13fc1f2750SBernard Iremonger the documentation and/or other materials provided with the 14fc1f2750SBernard Iremonger distribution. 15fc1f2750SBernard Iremonger * Neither the name of Intel Corporation nor the names of its 16fc1f2750SBernard Iremonger contributors may be used to endorse or promote products derived 17fc1f2750SBernard Iremonger from this software without specific prior written permission. 18fc1f2750SBernard Iremonger 19fc1f2750SBernard Iremonger THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20fc1f2750SBernard Iremonger "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21fc1f2750SBernard Iremonger LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22fc1f2750SBernard Iremonger A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23fc1f2750SBernard Iremonger OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24fc1f2750SBernard Iremonger SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25fc1f2750SBernard Iremonger LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26fc1f2750SBernard Iremonger DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27fc1f2750SBernard Iremonger THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28fc1f2750SBernard Iremonger (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29fc1f2750SBernard Iremonger OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30fc1f2750SBernard Iremonger 31fc1f2750SBernard IremongerIntroduction 32fc1f2750SBernard Iremonger============ 33fc1f2750SBernard Iremonger 34fc1f2750SBernard IremongerThis document provides software architecture information, 35fc1f2750SBernard Iremongerdevelopment environment information and optimization guidelines. 36fc1f2750SBernard Iremonger 37fc1f2750SBernard IremongerFor programming examples and for instructions on compiling and running each sample application, 3848624fd9SSiobhan Butlersee the *DPDK Sample Applications User Guide* for details. 39fc1f2750SBernard Iremonger 4048624fd9SSiobhan ButlerFor general information on compiling and running applications, see the *DPDK Getting Started Guide*. 41fc1f2750SBernard Iremonger 42fc1f2750SBernard IremongerDocumentation Roadmap 43fc1f2750SBernard Iremonger--------------------- 44fc1f2750SBernard Iremonger 4548624fd9SSiobhan ButlerThe following is a list of DPDK documents in the suggested reading order: 46fc1f2750SBernard Iremonger 47*707be598SBaruch Siach* **Release Notes** : Provides release-specific information, including supported features, 48fc1f2750SBernard Iremonger limitations, fixed issues, known issues and so on. 49fc1f2750SBernard Iremonger Also, provides the answers to frequently asked questions in FAQ format. 50fc1f2750SBernard Iremonger 5148624fd9SSiobhan Butler* **Getting Started Guide** : Describes how to install and configure the DPDK software; 52fc1f2750SBernard Iremonger designed to get users up and running quickly with the software. 53fc1f2750SBernard Iremonger 5448624fd9SSiobhan Butler* **FreeBSD* Getting Started Guide** : A document describing the use of the DPDK with FreeBSD* 5548624fd9SSiobhan Butler has been added in DPDK Release 1.6.0. 5648624fd9SSiobhan Butler Refer to this guide for installation and configuration instructions to get started using the DPDK with FreeBSD*. 57fc1f2750SBernard Iremonger 58fc1f2750SBernard Iremonger* **Programmer's Guide** (this document): Describes: 59fc1f2750SBernard Iremonger 60fc1f2750SBernard Iremonger * The software architecture and how to use it (through examples), 61fc1f2750SBernard Iremonger specifically in a Linux* application (linuxapp) environment 62fc1f2750SBernard Iremonger 6348624fd9SSiobhan Butler * The content of the DPDK, the build system 6448624fd9SSiobhan Butler (including the commands that can be used in the root DPDK Makefile to build the development kit and an application) 65fc1f2750SBernard Iremonger and guidelines for porting an application 66fc1f2750SBernard Iremonger 67fc1f2750SBernard Iremonger * Optimizations used in the software and those that should be considered for new development 68fc1f2750SBernard Iremonger 69fc1f2750SBernard Iremonger A glossary of terms is also provided. 70fc1f2750SBernard Iremonger 7148624fd9SSiobhan Butler* **API Reference** : Provides detailed information about DPDK functions, 72fc1f2750SBernard Iremonger data structures and other programming constructs. 73fc1f2750SBernard Iremonger 74fc1f2750SBernard Iremonger* **Sample Applications User Guide**: Describes a set of sample applications. 75fc1f2750SBernard Iremonger Each chapter describes a sample application that showcases specific functionality 76fc1f2750SBernard Iremonger and provides instructions on how to compile, run and use the sample application. 77fc1f2750SBernard Iremonger 78fc1f2750SBernard IremongerRelated Publications 79fc1f2750SBernard Iremonger-------------------- 80fc1f2750SBernard Iremonger 8148624fd9SSiobhan ButlerThe following documents provide information that is relevant to the development of applications using the DPDK: 82fc1f2750SBernard Iremonger 83fc1f2750SBernard Iremonger* Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide 84