.. BSD LICENSE Copyright(c) 2010-2014 Intel Corporation. All rights reserved. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Glossary ======== =============== ========================================================================================================= Term Definition =============== ========================================================================================================= ACL Access Control List API Application Programming Interface ASLR Linux* kernel Address-Space Layout Randomization BSD Berkeley Software Distribution Clr Clear CIDR Classless Inter-Domain Routing Control Plane The control plane is concerned with the routing of packets and with providing a start or end point. Core A core may include several lcores or threads if the processor supports hyperthreading. Core Components A set of libraries provided by the DPDK, including eal, ring, mempool, mbuf, timers, and so on. CPU Central Processing Unit CRC Cyclic Redundancy Check ctrlmbuf An *mbuf* carrying control data. Data Plane In contrast to the control plane, the data plane in a network architecture are the layers involved when forwarding packets. These layers must be highly optimized to achieve good performance. DIMM Dual In-line Memory Module Doxygen A documentation generator used in the DPDK to generate the API reference. DPDK Data Plane Development Kit DRAM Dynamic Random Access Memory EAL The Environment Abstraction Layer (EAL) provides a generic interface that hides the environment specifics from the applications and libraries. The services expected from the EAL are: development kit loading and launching, core affinity/ assignment procedures, system memory allocation/description, PCI bus access, inter-partition communication. FIFO First In First Out FPGA Field Programmable Gate Array GbE Gigabit Ethernet HW Hardware HPET High Precision Event Timer; a hardware timer that provides a precise time reference on x86 platforms. ID Identifier IOCTL Input/Output Control I/O Input/Output IP Internet Protocol IPv4 Internet Protocol version 4 IPv6 Internet Protocol version 6 lcore A logical execution unit of the processor, sometimes called a *hardware thread*. KNI Kernel Network Interface L1 Layer 1 L2 Layer 2 L3 Layer 3 L4 Layer 4 LAN Local Area Network LPM Longest Prefix Match master lcore The execution unit that executes the main() function and that launches other lcores. mbuf An mbuf is a data structure used internally to carry messages (mainly network packets). The name is derived from BSD stacks. To understand the concepts of packet buffers or mbuf, refer to *TCP/IP Illustrated, Volume 2: The Implementation*. MESI Modified Exclusive Shared Invalid (CPU cache coherency protocol) MTU Maximum Transfer Unit NIC Network Interface Card OOO Out Of Order (execution of instructions within the CPU pipeline) NUMA Non-uniform Memory Access PCI Peripheral Connect Interface PHY An abbreviation for the physical layer of the OSI model. pktmbuf An *mbuf* carrying a network packet. PMD Poll Mode Driver QoS Quality of Service RCU Read-Copy-Update algorithm, an alternative to simple rwlocks. Rd Read RED Random Early Detection RSS Receive Side Scaling RTE Run Time Environment. Provides a fast and simple framework for fast packet processing, in a lightweight environment as a Linux* application and using Poll Mode Drivers (PMDs) to increase speed. Rx Reception Slave lcore Any *lcore* that is not the *master lcore*. Socket A physical CPU, that includes several *cores*. SLA Service Level Agreement srTCM Single Rate Three Color Marking SRTD Scheduler Round Trip Delay SW Software Target In the DPDK, the target is a combination of architecture, machine, executive environment and toolchain. For example: i686-native-linuxapp-gcc. TCP Transmission Control Protocol TC Traffic Class TLB Translation Lookaside Buffer TLS Thread Local Storage trTCM Two Rate Three Color Marking TSC Time Stamp Counter Tx Transmission TUN/TAP TUN and TAP are virtual network kernel devices. VLAN Virtual Local Area Network Wr Write WRED Weighted Random Early Detection WRR Weighted Round Robin =============== =========================================================================================================