4. Glossary
- ACL
An Access Control List (ACL) is a set of rules that define who can access a resource and what actions they can perform.
- API
Application Programming Interface
- ASLR
Address-Space Layout Randomization (ASLR) is a security technique that protects against buffer overflow attacks by randomizing the location of executables in memory.
- BSD
Berkeley Software Distribution (BSD) is a version of Unix operating system.
- Clr
Clear
- CIDR
Classless Inter-Domain Routing (CIDR) is a method of assigning IP address that improves data routing efficiency on the internet and is used in IPv4 and IPv6.
- Control Plane
A Control Plane is a concept in networking that refers to the part of the system responsible for managing and making decisions about where and how data packets are forwarded within a network.
- Core
A core may include several lcores or threads if the processor supports Simultaneous Multi-Threading (SMT).
- Core Components
A set of libraries provided by DPDK which are used by nearly all applications and upon which other DPDK libraries and drivers depend. For example, EAL, ring, mempool and mbuf.
- CPU
Central Processing Unit
- CRC
Cyclic Redundancy Check (CRC) is an algorithm that detects errors in data transmission and storage.
- Data Plane
In contrast to the control plane, the data plane in a network architecture includes the layers involved when processing and forwarding data packets between communicating endpoints. These layers must be highly optimized to achieve good performance.
- DIMM
A Dual In-line Memory Module (DIMM) is a module containing one or several Random Access Memory (RAM) or Dynamic RAM (DRAM) chips on a printed circuit board that connects it directly to the computer motherboard.
- Doxygen
Doxygen is a documentation generator used in DPDK to generate the API reference.
- DPDK
Data Plane Development Kit
- DRAM
Dynamic Random Access Memory (DRAM) is a type of Random Access Memory (RAM) that is used in computers to temporarily store information.
- EAL
Environment Abstraction Layer (EAL) is the core DPDK library that provides a generic interface that hides the environment specifics from the applications and libraries.
- EAL Thread
An EAL thread is typically a thread that runs packet processing tasks. These threads are often pinned to logical cores (lcores), which helps to ensure that packet processing tasks are executed with minimal interruption and maximal performance by utilizing specific CPU resources dedicated to those tasks. EAL threads can also handle other tasks like managing buffers, queues, and I/O operations.
- FIFO
First In First Out (FIFO) is a method for manipulating a data structure where the oldest (first) entry, or “head” of the queue, is processed first.
- FPGA
Field Programmable Gate Array (FPGA) i an integrated circuit with a programmable hardware fabric that can be reconfigured to suit different purposes.
- FW
Firmware
- GbE
Gigabit Ethernet
- HW
Hardware
- HPET
High Precision Event Timer; a hardware timer that provides a precise time reference on x86 platforms.
- Huge Pages
Huge pages are memory page sizes, larger than the default page size, which are supported by the host CPU. These pages are generally megabytes or even gigabytes in size, depending on platform, compared to the default page size on most platforms which is measured in kilobytes, e.g. 4k. Where the operating system provides access to huge page memory, DPDK will take advantage of those huge pages for increased performance.
- ID
Identifier
- IOCTL
Input/Output Control (IOCTL) is a system call that allows applications to communicate with device drivers to perform specific input/output operations.
- 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 or EAL thread; also known as logical core.
- L1
Layer 1 - Physical Layer is responsible for sending and receiving signals to transmit bits.
- L2
Layer 2 - Datalink Layer is responsible for local delivery of frames between nodes. Example: Ethernet.
- L3
Layer 3 - Network Layer is responsible for packet routing. Example: IP.
- L4
Layer 4 - Transport Layer is responsible for datagram or segment communication. Examples include UDP and TCP.
- LAN
Local Area Network
- LPM
Longest Prefix Match is an IP routing lookup algorithm where the entry selected is that which matches the longest prefix of the lookup key.
- main lcore
The logical core or thread that executes the
main()
function and that launches tasks on other logical cores used by the application.- 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.
- MTU
Maximum Transfer Unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction. In general, it relates to Ethernet frame size.
- NIC
Network Interface Card (NIC) is a hardware component, usually a circuit board or chip, installed on a computer so it can connect to a network.
- OOO
Out Of Order (execution of instructions within the CPU pipeline)
- NUMA
Non-Uniform Memory Access (NUMA) is a memory design where locality has an impact.
- PCI
Peripheral Connect Interface
- PHY
An abbreviation for the physical layer of the OSI model.
- PIE
Proportional Integral Controller Enhanced (RFC8033)
- pktmbuf
An mbuf carrying a network packet.
- PMD
A Poll Mode Driver (PMD) is a driver in DPDK, continuously polling as default behavior instead of waiting for a HW interrupt.
- PMU
Performance Monitoring Unit
- QoS
Quality of Service
- RCU
Read-Copy-Update algorithm, an alternative to simple rwlocks. It is a synchronization mechanism that allows multiple threads to read and update shared data structures without using locks.
- 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
- Socket
For historical reasons, the term “socket” is used in the DPDK to refer to both physical sockets, as well as NUMA nodes. As a general rule, the term should be understood to mean “NUMA node” unless it is clear from context that it is referring to physical CPU sockets.
- SLA
Service Level Agreement
- srTCM
Single Rate Three Color Marking (srTCM) is a metering technique marking packets either green, yellow, or red.
- 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-linux-gcc.
- TCP
Transmission Control Protocol
- TC
Traffic Class
- TLB
Translation Lookaside Buffer (TLB) is memory cache that stores the recent translations of virtual memory to physical memory to enable faster retrieval.
- TLS
Thread Local Storage (TLS) is memory local to a thread. TLS can also relates to the cryptographic protocol.
- trTCM
Two Rate Three Color Marking (trTCM) <https://datatracker.ietf.org/doc/html/rfc2698> is a metering technique based on committed and peak rates, and marking packets either green, yellow, or red.
- TSC
Time Stamp Counter
- Tx
Transmission
- TUN/TAP
TUN and TAP are virtual network kernel devices.
- VLAN
Virtual Local Area Network
- Wr
Write
- Worker lcore
Any lcore that is not the main lcore.
- WRED
Weighted Random Early Detection (WRED) is a queueing discipline that allows the router to drop random packets to prevent tail drop. This is helpful for TCP/IP connections.
- WRR
Weighted Round Robin (WRR) is a scheduling algorithm used to distribute workloads across multiple resources based on assigned weights.