15630257fSFerruh Yigit.. SPDX-License-Identifier: BSD-3-Clause 25630257fSFerruh Yigit Copyright(c) 2010-2014 Intel Corporation. 3fc1f2750SBernard Iremonger 4fc1f2750SBernard IremongerGlossary 5fc1f2750SBernard Iremonger======== 6fc1f2750SBernard Iremonger 7fc1f2750SBernard Iremonger 8bc925f83SJohn McNamaraACL 9bc925f83SJohn McNamara Access Control List 10fc1f2750SBernard Iremonger 11bc925f83SJohn McNamaraAPI 12bc925f83SJohn McNamara Application Programming Interface 13fc1f2750SBernard Iremonger 14bc925f83SJohn McNamaraASLR 15bc925f83SJohn McNamara Linux* kernel Address-Space Layout Randomization 16fc1f2750SBernard Iremonger 17bc925f83SJohn McNamaraBSD 18bc925f83SJohn McNamara Berkeley Software Distribution 19fc1f2750SBernard Iremonger 20bc925f83SJohn McNamaraClr 21bc925f83SJohn McNamara Clear 22fc1f2750SBernard Iremonger 23bc925f83SJohn McNamaraCIDR 24bc925f83SJohn McNamara Classless Inter-Domain Routing 25fc1f2750SBernard Iremonger 26bc925f83SJohn McNamaraControl Plane 27bc925f83SJohn McNamara The control plane is concerned with the routing of packets and with 28bc925f83SJohn McNamara providing a start or end point. 29fc1f2750SBernard Iremonger 30bc925f83SJohn McNamaraCore 31bc925f83SJohn McNamara A core may include several lcores or threads if the processor supports 32bc925f83SJohn McNamara hyperthreading. 33fc1f2750SBernard Iremonger 34bc925f83SJohn McNamaraCore Components 35bc925f83SJohn McNamara A set of libraries provided by the DPDK, including eal, ring, mempool, 36bc925f83SJohn McNamara mbuf, timers, and so on. 37fc1f2750SBernard Iremonger 38bc925f83SJohn McNamaraCPU 39bc925f83SJohn McNamara Central Processing Unit 40fc1f2750SBernard Iremonger 41bc925f83SJohn McNamaraCRC 42bc925f83SJohn McNamara Cyclic Redundancy Check 43fc1f2750SBernard Iremonger 44bc925f83SJohn McNamaraData Plane 45bc925f83SJohn McNamara In contrast to the control plane, the data plane in a network architecture 46bc925f83SJohn McNamara are the layers involved when forwarding packets. These layers must be 47bc925f83SJohn McNamara highly optimized to achieve good performance. 48fc1f2750SBernard Iremonger 49bc925f83SJohn McNamaraDIMM 50bc925f83SJohn McNamara Dual In-line Memory Module 51fc1f2750SBernard Iremonger 52bc925f83SJohn McNamaraDoxygen 53bc925f83SJohn McNamara A documentation generator used in the DPDK to generate the API reference. 54fc1f2750SBernard Iremonger 55bc925f83SJohn McNamaraDPDK 56bc925f83SJohn McNamara Data Plane Development Kit 57fc1f2750SBernard Iremonger 58bc925f83SJohn McNamaraDRAM 59bc925f83SJohn McNamara Dynamic Random Access Memory 60fc1f2750SBernard Iremonger 61bc925f83SJohn McNamaraEAL 62bc925f83SJohn McNamara The Environment Abstraction Layer (EAL) provides a generic interface that 63bc925f83SJohn McNamara hides the environment specifics from the applications and libraries. The 64bc925f83SJohn McNamara services expected from the EAL are: development kit loading and launching, 65bc925f83SJohn McNamara core affinity/ assignment procedures, system memory allocation/description, 66bc925f83SJohn McNamara PCI bus access, inter-partition communication. 67fc1f2750SBernard Iremonger 68bc925f83SJohn McNamaraFIFO 69bc925f83SJohn McNamara First In First Out 70fc1f2750SBernard Iremonger 71bc925f83SJohn McNamaraFPGA 72bc925f83SJohn McNamara Field Programmable Gate Array 73fc1f2750SBernard Iremonger 74bc925f83SJohn McNamaraGbE 75bc925f83SJohn McNamara Gigabit Ethernet 76fc1f2750SBernard Iremonger 77bc925f83SJohn McNamaraHW 78bc925f83SJohn McNamara Hardware 79fc1f2750SBernard Iremonger 80bc925f83SJohn McNamaraHPET 81bc925f83SJohn McNamara High Precision Event Timer; a hardware timer that provides a precise time 82bc925f83SJohn McNamara reference on x86 platforms. 83fc1f2750SBernard Iremonger 84bc925f83SJohn McNamaraID 85bc925f83SJohn McNamara Identifier 86fc1f2750SBernard Iremonger 87bc925f83SJohn McNamaraIOCTL 88bc925f83SJohn McNamara Input/Output Control 89fc1f2750SBernard Iremonger 90bc925f83SJohn McNamaraI/O 91bc925f83SJohn McNamara Input/Output 92fc1f2750SBernard Iremonger 93bc925f83SJohn McNamaraIP 94bc925f83SJohn McNamara Internet Protocol 95fc1f2750SBernard Iremonger 96bc925f83SJohn McNamaraIPv4 97bc925f83SJohn McNamara Internet Protocol version 4 98fc1f2750SBernard Iremonger 99bc925f83SJohn McNamaraIPv6 100bc925f83SJohn McNamara Internet Protocol version 6 101fc1f2750SBernard Iremonger 102bc925f83SJohn McNamaralcore 103bc925f83SJohn McNamara A logical execution unit of the processor, sometimes called a *hardware 104bc925f83SJohn McNamara thread*. 105fc1f2750SBernard Iremonger 106bc925f83SJohn McNamaraKNI 107bc925f83SJohn McNamara Kernel Network Interface 108fc1f2750SBernard Iremonger 109bc925f83SJohn McNamaraL1 110bc925f83SJohn McNamara Layer 1 111fc1f2750SBernard Iremonger 112bc925f83SJohn McNamaraL2 113bc925f83SJohn McNamara Layer 2 114fc1f2750SBernard Iremonger 115bc925f83SJohn McNamaraL3 116bc925f83SJohn McNamara Layer 3 117fc1f2750SBernard Iremonger 118bc925f83SJohn McNamaraL4 119bc925f83SJohn McNamara Layer 4 120fc1f2750SBernard Iremonger 121bc925f83SJohn McNamaraLAN 122bc925f83SJohn McNamara Local Area Network 123bc925f83SJohn McNamara 124bc925f83SJohn McNamaraLPM 125bc925f83SJohn McNamara Longest Prefix Match 126fc1f2750SBernard Iremonger 127cb056611SStephen Hemmingermain lcore 128bc925f83SJohn McNamara The execution unit that executes the main() function and that launches 129bc925f83SJohn McNamara other lcores. 130fc1f2750SBernard Iremonger 131cb056611SStephen Hemmingermaster lcore 132cb056611SStephen Hemminger Deprecated name for *main lcore*. No longer used. 133cb056611SStephen Hemminger 134bc925f83SJohn McNamarambuf 135bc925f83SJohn McNamara An mbuf is a data structure used internally to carry messages (mainly 136bc925f83SJohn McNamara network packets). The name is derived from BSD stacks. To understand the 137bc925f83SJohn McNamara concepts of packet buffers or mbuf, refer to *TCP/IP Illustrated, Volume 2: 138bc925f83SJohn McNamara The Implementation*. 139fc1f2750SBernard Iremonger 140bc925f83SJohn McNamaraMESI 141bc925f83SJohn McNamara Modified Exclusive Shared Invalid (CPU cache coherency protocol) 142fc1f2750SBernard Iremonger 143bc925f83SJohn McNamaraMTU 144bc925f83SJohn McNamara Maximum Transfer Unit 145fc1f2750SBernard Iremonger 146bc925f83SJohn McNamaraNIC 147bc925f83SJohn McNamara Network Interface Card 148fc1f2750SBernard Iremonger 149bc925f83SJohn McNamaraOOO 150bc925f83SJohn McNamara Out Of Order (execution of instructions within the CPU pipeline) 151fc1f2750SBernard Iremonger 152bc925f83SJohn McNamaraNUMA 153bc925f83SJohn McNamara Non-uniform Memory Access 154fc1f2750SBernard Iremonger 155bc925f83SJohn McNamaraPCI 156bc925f83SJohn McNamara Peripheral Connect Interface 157fc1f2750SBernard Iremonger 158bc925f83SJohn McNamaraPHY 159bc925f83SJohn McNamara An abbreviation for the physical layer of the OSI model. 160fc1f2750SBernard Iremonger 161*44c730b0SWojciech LiguzinskiPIE 162*44c730b0SWojciech Liguzinski Proportional Integral Controller Enhanced (RFC8033) 163*44c730b0SWojciech Liguzinski 164bc925f83SJohn McNamarapktmbuf 165bc925f83SJohn McNamara An *mbuf* carrying a network packet. 166fc1f2750SBernard Iremonger 167bc925f83SJohn McNamaraPMD 168bc925f83SJohn McNamara Poll Mode Driver 169fc1f2750SBernard Iremonger 170bc925f83SJohn McNamaraQoS 171bc925f83SJohn McNamara Quality of Service 172fc1f2750SBernard Iremonger 173bc925f83SJohn McNamaraRCU 174bc925f83SJohn McNamara Read-Copy-Update algorithm, an alternative to simple rwlocks. 175fc1f2750SBernard Iremonger 176bc925f83SJohn McNamaraRd 177bc925f83SJohn McNamara Read 178fc1f2750SBernard Iremonger 179bc925f83SJohn McNamaraRED 180bc925f83SJohn McNamara Random Early Detection 181fc1f2750SBernard Iremonger 182bc925f83SJohn McNamaraRSS 183bc925f83SJohn McNamara Receive Side Scaling 184fc1f2750SBernard Iremonger 185bc925f83SJohn McNamaraRTE 186bc925f83SJohn McNamara Run Time Environment. Provides a fast and simple framework for fast packet 187bc925f83SJohn McNamara processing, in a lightweight environment as a Linux* application and using 188bc925f83SJohn McNamara Poll Mode Drivers (PMDs) to increase speed. 189fc1f2750SBernard Iremonger 190bc925f83SJohn McNamaraRx 191bc925f83SJohn McNamara Reception 192fc1f2750SBernard Iremonger 193bc925f83SJohn McNamaraSlave lcore 194cb056611SStephen Hemminger Deprecated name for *worker lcore*. No longer used. 195fc1f2750SBernard Iremonger 196bc925f83SJohn McNamaraSocket 197bc925f83SJohn McNamara A physical CPU, that includes several *cores*. 198fc1f2750SBernard Iremonger 199bc925f83SJohn McNamaraSLA 200bc925f83SJohn McNamara Service Level Agreement 201fc1f2750SBernard Iremonger 202bc925f83SJohn McNamarasrTCM 203bc925f83SJohn McNamara Single Rate Three Color Marking 204fc1f2750SBernard Iremonger 205bc925f83SJohn McNamaraSRTD 206bc925f83SJohn McNamara Scheduler Round Trip Delay 207fc1f2750SBernard Iremonger 208bc925f83SJohn McNamaraSW 209bc925f83SJohn McNamara Software 210fc1f2750SBernard Iremonger 211bc925f83SJohn McNamaraTarget 212bc925f83SJohn McNamara In the DPDK, the target is a combination of architecture, machine, 213bc925f83SJohn McNamara executive environment and toolchain. For example: 214218c4e68SBruce Richardson i686-native-linux-gcc. 215fc1f2750SBernard Iremonger 216bc925f83SJohn McNamaraTCP 217bc925f83SJohn McNamara Transmission Control Protocol 218fc1f2750SBernard Iremonger 219bc925f83SJohn McNamaraTC 220bc925f83SJohn McNamara Traffic Class 221fc1f2750SBernard Iremonger 222bc925f83SJohn McNamaraTLB 223bc925f83SJohn McNamara Translation Lookaside Buffer 224fc1f2750SBernard Iremonger 225bc925f83SJohn McNamaraTLS 226bc925f83SJohn McNamara Thread Local Storage 227fc1f2750SBernard Iremonger 228bc925f83SJohn McNamaratrTCM 229bc925f83SJohn McNamara Two Rate Three Color Marking 230fc1f2750SBernard Iremonger 231bc925f83SJohn McNamaraTSC 232bc925f83SJohn McNamara Time Stamp Counter 233fc1f2750SBernard Iremonger 234bc925f83SJohn McNamaraTx 235bc925f83SJohn McNamara Transmission 236fc1f2750SBernard Iremonger 237bc925f83SJohn McNamaraTUN/TAP 238bc925f83SJohn McNamara TUN and TAP are virtual network kernel devices. 239fc1f2750SBernard Iremonger 240bc925f83SJohn McNamaraVLAN 241bc925f83SJohn McNamara Virtual Local Area Network 242fc1f2750SBernard Iremonger 243bc925f83SJohn McNamaraWr 244bc925f83SJohn McNamara Write 245fc1f2750SBernard Iremonger 246cb056611SStephen HemmingerWorker lcore 247cb056611SStephen Hemminger Any *lcore* that is not the *main lcore*. 248cb056611SStephen Hemminger 249bc925f83SJohn McNamaraWRED 250bc925f83SJohn McNamara Weighted Random Early Detection 251fc1f2750SBernard Iremonger 252bc925f83SJohn McNamaraWRR 253bc925f83SJohn McNamara Weighted Round Robin 254