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.
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.
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.
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.
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)
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.
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.
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.