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 McNamaraL1 107bc925f83SJohn McNamara Layer 1 108fc1f2750SBernard Iremonger 109bc925f83SJohn McNamaraL2 110bc925f83SJohn McNamara Layer 2 111fc1f2750SBernard Iremonger 112bc925f83SJohn McNamaraL3 113bc925f83SJohn McNamara Layer 3 114fc1f2750SBernard Iremonger 115bc925f83SJohn McNamaraL4 116bc925f83SJohn McNamara Layer 4 117fc1f2750SBernard Iremonger 118bc925f83SJohn McNamaraLAN 119bc925f83SJohn McNamara Local Area Network 120bc925f83SJohn McNamara 121bc925f83SJohn McNamaraLPM 122bc925f83SJohn McNamara Longest Prefix Match 123fc1f2750SBernard Iremonger 124cb056611SStephen Hemmingermain lcore 125bc925f83SJohn McNamara The execution unit that executes the main() function and that launches 126bc925f83SJohn McNamara other lcores. 127fc1f2750SBernard Iremonger 128cb056611SStephen Hemmingermaster lcore 129cb056611SStephen Hemminger Deprecated name for *main lcore*. No longer used. 130cb056611SStephen Hemminger 131bc925f83SJohn McNamarambuf 132bc925f83SJohn McNamara An mbuf is a data structure used internally to carry messages (mainly 133bc925f83SJohn McNamara network packets). The name is derived from BSD stacks. To understand the 134bc925f83SJohn McNamara concepts of packet buffers or mbuf, refer to *TCP/IP Illustrated, Volume 2: 135bc925f83SJohn McNamara The Implementation*. 136fc1f2750SBernard Iremonger 137bc925f83SJohn McNamaraMESI 138bc925f83SJohn McNamara Modified Exclusive Shared Invalid (CPU cache coherency protocol) 139fc1f2750SBernard Iremonger 140bc925f83SJohn McNamaraMTU 141bc925f83SJohn McNamara Maximum Transfer Unit 142fc1f2750SBernard Iremonger 143bc925f83SJohn McNamaraNIC 144bc925f83SJohn McNamara Network Interface Card 145fc1f2750SBernard Iremonger 146bc925f83SJohn McNamaraOOO 147bc925f83SJohn McNamara Out Of Order (execution of instructions within the CPU pipeline) 148fc1f2750SBernard Iremonger 149bc925f83SJohn McNamaraNUMA 150bc925f83SJohn McNamara Non-uniform Memory Access 151fc1f2750SBernard Iremonger 152bc925f83SJohn McNamaraPCI 153bc925f83SJohn McNamara Peripheral Connect Interface 154fc1f2750SBernard Iremonger 155bc925f83SJohn McNamaraPHY 156bc925f83SJohn McNamara An abbreviation for the physical layer of the OSI model. 157fc1f2750SBernard Iremonger 158*44c730b0SWojciech LiguzinskiPIE 159*44c730b0SWojciech Liguzinski Proportional Integral Controller Enhanced (RFC8033) 160*44c730b0SWojciech Liguzinski 161bc925f83SJohn McNamarapktmbuf 162bc925f83SJohn McNamara An *mbuf* carrying a network packet. 163fc1f2750SBernard Iremonger 164bc925f83SJohn McNamaraPMD 165bc925f83SJohn McNamara Poll Mode Driver 166fc1f2750SBernard Iremonger 167bc925f83SJohn McNamaraQoS 168bc925f83SJohn McNamara Quality of Service 169fc1f2750SBernard Iremonger 170bc925f83SJohn McNamaraRCU 171bc925f83SJohn McNamara Read-Copy-Update algorithm, an alternative to simple rwlocks. 172fc1f2750SBernard Iremonger 173bc925f83SJohn McNamaraRd 174bc925f83SJohn McNamara Read 175fc1f2750SBernard Iremonger 176bc925f83SJohn McNamaraRED 177bc925f83SJohn McNamara Random Early Detection 178fc1f2750SBernard Iremonger 179bc925f83SJohn McNamaraRSS 180bc925f83SJohn McNamara Receive Side Scaling 181fc1f2750SBernard Iremonger 182bc925f83SJohn McNamaraRTE 183bc925f83SJohn McNamara Run Time Environment. Provides a fast and simple framework for fast packet 184bc925f83SJohn McNamara processing, in a lightweight environment as a Linux* application and using 185bc925f83SJohn McNamara Poll Mode Drivers (PMDs) to increase speed. 186fc1f2750SBernard Iremonger 187bc925f83SJohn McNamaraRx 188bc925f83SJohn McNamara Reception 189fc1f2750SBernard Iremonger 190bc925f83SJohn McNamaraSlave lcore 191cb056611SStephen Hemminger Deprecated name for *worker lcore*. No longer used. 192fc1f2750SBernard Iremonger 193bc925f83SJohn McNamaraSocket 194bc925f83SJohn McNamara A physical CPU, that includes several *cores*. 195fc1f2750SBernard Iremonger 196bc925f83SJohn McNamaraSLA 197bc925f83SJohn McNamara Service Level Agreement 198fc1f2750SBernard Iremonger 199bc925f83SJohn McNamarasrTCM 200bc925f83SJohn McNamara Single Rate Three Color Marking 201fc1f2750SBernard Iremonger 202bc925f83SJohn McNamaraSRTD 203bc925f83SJohn McNamara Scheduler Round Trip Delay 204fc1f2750SBernard Iremonger 205bc925f83SJohn McNamaraSW 206bc925f83SJohn McNamara Software 207fc1f2750SBernard Iremonger 208bc925f83SJohn McNamaraTarget 209bc925f83SJohn McNamara In the DPDK, the target is a combination of architecture, machine, 210bc925f83SJohn McNamara executive environment and toolchain. For example: 211218c4e68SBruce Richardson i686-native-linux-gcc. 212fc1f2750SBernard Iremonger 213bc925f83SJohn McNamaraTCP 214bc925f83SJohn McNamara Transmission Control Protocol 215fc1f2750SBernard Iremonger 216bc925f83SJohn McNamaraTC 217bc925f83SJohn McNamara Traffic Class 218fc1f2750SBernard Iremonger 219bc925f83SJohn McNamaraTLB 220bc925f83SJohn McNamara Translation Lookaside Buffer 221fc1f2750SBernard Iremonger 222bc925f83SJohn McNamaraTLS 223bc925f83SJohn McNamara Thread Local Storage 224fc1f2750SBernard Iremonger 225bc925f83SJohn McNamaratrTCM 226bc925f83SJohn McNamara Two Rate Three Color Marking 227fc1f2750SBernard Iremonger 228bc925f83SJohn McNamaraTSC 229bc925f83SJohn McNamara Time Stamp Counter 230fc1f2750SBernard Iremonger 231bc925f83SJohn McNamaraTx 232bc925f83SJohn McNamara Transmission 233fc1f2750SBernard Iremonger 234bc925f83SJohn McNamaraTUN/TAP 235bc925f83SJohn McNamara TUN and TAP are virtual network kernel devices. 236fc1f2750SBernard Iremonger 237bc925f83SJohn McNamaraVLAN 238bc925f83SJohn McNamara Virtual Local Area Network 239fc1f2750SBernard Iremonger 240bc925f83SJohn McNamaraWr 241bc925f83SJohn McNamara Write 242fc1f2750SBernard Iremonger 243cb056611SStephen HemmingerWorker lcore 244cb056611SStephen Hemminger Any *lcore* that is not the *main lcore*. 245cb056611SStephen Hemminger 246bc925f83SJohn McNamaraWRED 247bc925f83SJohn McNamara Weighted Random Early Detection 248fc1f2750SBernard Iremonger 249bc925f83SJohn McNamaraWRR 250bc925f83SJohn McNamara Weighted Round Robin 251