Skip to content

Commit 6492080

Browse files
author
Pavel Siska
committed
Ddpk: Add README
1 parent aff862f commit 6492080

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

src/plugins/input/dpdk/README.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# DPDK (input plugin)
2+
3+
DPDK (Data Plane Development Kit) is used for high-performance packet processing. It enables
4+
direct access to network interfaces, bypassing the kernel, and is suitable for use in environments
5+
requiring high throughput, low latency, and high packet processing rates.
6+
7+
## Configuration
8+
9+
```yaml
10+
input_plugin:
11+
dpdk:
12+
allowed_nics: "0000:XX:YY.Z,0000:XX:YY.X" # (Required) List of allowed NICs in PCI address format
13+
burst_size: 64 # (Optional) Number of packets processed in each cycle (default: 64)
14+
mempool_size: 8192 # (Optional) Size of the memory pool (must be a power of 2)
15+
rx_queues: 1 # (Optional) Number of RX queues (should match the NIC capability)
16+
eal_opts: null # (Optional) Extra EAL options (null = default)
17+
mtu: null # (Optional) Maximum Transmission Unit (defaults to RTE_ETHER_MAX_LEN if null)
18+
```
19+
20+
# How to use
21+
22+
To use the DPDK input plugin, you must ensure that your system is properly configured for DPDK operation. This includes the following steps:
23+
24+
## 1. Configure the DPDK Driver
25+
26+
TODO MEllanox, broadcom
27+
28+
### 2. Allocate Hugepages
29+
30+
DPDK requires hugepages for optimal performance. Instead of manually configuring hugepages, you can use the `dpdk-hugepages` tool, which simplifies the process.
31+
32+
### Install `dpdk-hugepages`
33+
34+
`dpdk-hugepages` is part of the DPDK utilities package. You can install it as follows:
35+
36+
- **On RHEL/CentOS**:
37+
```sh
38+
dnf install dpdk-tools
39+
```
40+
- **On Debian/Ubuntu**:
41+
```sh
42+
apt-get install dpdk
43+
```
44+
45+
### Allocate Hugepages with `dpdk-hugepages`
46+
47+
To allocate hugepages, run:
48+
49+
```sh
50+
dpdk-hugepages.py -p 1G --setup 2G
51+
```
52+
53+
This allocates 2GB of hugepages with a default page size of 1GB. You can adjust these values based on your memory requirements.
54+
55+
To verify the allocated hugepages:
56+
57+
```sh
58+
dpdk-hugepages -s
59+
```
60+
61+
Recommended hugepages configuration for 100G probe is:
62+
63+
```sh
64+
dpdk-hugepages.py -p 1G --setup 4G
65+
```
66+
67+
### 2. Validate with dpdk-testpmd
68+
69+
TODO
70+

0 commit comments

Comments
 (0)