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 31Glossary 32======== 33 34 35ACL 36 Access Control List 37 38API 39 Application Programming Interface 40 41ASLR 42 Linux* kernel Address-Space Layout Randomization 43 44BSD 45 Berkeley Software Distribution 46 47Clr 48 Clear 49 50CIDR 51 Classless Inter-Domain Routing 52 53Control Plane 54 The control plane is concerned with the routing of packets and with 55 providing a start or end point. 56 57Core 58 A core may include several lcores or threads if the processor supports 59 hyperthreading. 60 61Core Components 62 A set of libraries provided by the DPDK, including eal, ring, mempool, 63 mbuf, timers, and so on. 64 65CPU 66 Central Processing Unit 67 68CRC 69 Cyclic Redundancy Check 70 71ctrlmbuf 72 An *mbuf* carrying control data. 73 74Data Plane 75 In contrast to the control plane, the data plane in a network architecture 76 are the layers involved when forwarding packets. These layers must be 77 highly optimized to achieve good performance. 78 79DIMM 80 Dual In-line Memory Module 81 82Doxygen 83 A documentation generator used in the DPDK to generate the API reference. 84 85DPDK 86 Data Plane Development Kit 87 88DRAM 89 Dynamic Random Access Memory 90 91EAL 92 The Environment Abstraction Layer (EAL) provides a generic interface that 93 hides the environment specifics from the applications and libraries. The 94 services expected from the EAL are: development kit loading and launching, 95 core affinity/ assignment procedures, system memory allocation/description, 96 PCI bus access, inter-partition communication. 97 98FIFO 99 First In First Out 100 101FPGA 102 Field Programmable Gate Array 103 104GbE 105 Gigabit Ethernet 106 107HW 108 Hardware 109 110HPET 111 High Precision Event Timer; a hardware timer that provides a precise time 112 reference on x86 platforms. 113 114ID 115 Identifier 116 117IOCTL 118 Input/Output Control 119 120I/O 121 Input/Output 122 123IP 124 Internet Protocol 125 126IPv4 127 Internet Protocol version 4 128 129IPv6 130 Internet Protocol version 6 131 132lcore 133 A logical execution unit of the processor, sometimes called a *hardware 134 thread*. 135 136KNI 137 Kernel Network Interface 138 139L1 140 Layer 1 141 142L2 143 Layer 2 144 145L3 146 Layer 3 147 148L4 149 Layer 4 150 151LAN 152 Local Area Network 153 154LPM 155 Longest Prefix Match 156 157master lcore 158 The execution unit that executes the main() function and that launches 159 other lcores. 160 161mbuf 162 An mbuf is a data structure used internally to carry messages (mainly 163 network packets). The name is derived from BSD stacks. To understand the 164 concepts of packet buffers or mbuf, refer to *TCP/IP Illustrated, Volume 2: 165 The Implementation*. 166 167MESI 168 Modified Exclusive Shared Invalid (CPU cache coherency protocol) 169 170MTU 171 Maximum Transfer Unit 172 173NIC 174 Network Interface Card 175 176OOO 177 Out Of Order (execution of instructions within the CPU pipeline) 178 179NUMA 180 Non-uniform Memory Access 181 182PCI 183 Peripheral Connect Interface 184 185PHY 186 An abbreviation for the physical layer of the OSI model. 187 188pktmbuf 189 An *mbuf* carrying a network packet. 190 191PMD 192 Poll Mode Driver 193 194QoS 195 Quality of Service 196 197RCU 198 Read-Copy-Update algorithm, an alternative to simple rwlocks. 199 200Rd 201 Read 202 203RED 204 Random Early Detection 205 206RSS 207 Receive Side Scaling 208 209RTE 210 Run Time Environment. Provides a fast and simple framework for fast packet 211 processing, in a lightweight environment as a Linux* application and using 212 Poll Mode Drivers (PMDs) to increase speed. 213 214Rx 215 Reception 216 217Slave lcore 218 Any *lcore* that is not the *master lcore*. 219 220Socket 221 A physical CPU, that includes several *cores*. 222 223SLA 224 Service Level Agreement 225 226srTCM 227 Single Rate Three Color Marking 228 229SRTD 230 Scheduler Round Trip Delay 231 232SW 233 Software 234 235Target 236 In the DPDK, the target is a combination of architecture, machine, 237 executive environment and toolchain. For example: 238 i686-native-linuxapp-gcc. 239 240TCP 241 Transmission Control Protocol 242 243TC 244 Traffic Class 245 246TLB 247 Translation Lookaside Buffer 248 249TLS 250 Thread Local Storage 251 252trTCM 253 Two Rate Three Color Marking 254 255TSC 256 Time Stamp Counter 257 258Tx 259 Transmission 260 261TUN/TAP 262 TUN and TAP are virtual network kernel devices. 263 264VLAN 265 Virtual Local Area Network 266 267Wr 268 Write 269 270WRED 271 Weighted Random Early Detection 272 273WRR 274 Weighted Round Robin 275