blob: d92f6587a007e885075d7ed66ffea22ed76c1c81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
---
lastproofread: '2026-02-23'
---
(vpp-config-dataplane-cpu)=
```{include} /_include/need_improvement.txt
```
# VPP Dataplane CPU Configuration
VPP can utilize multiple CPU cores for better packet processing
performance. Proper CPU configuration is essential for optimal
throughput and low latency.
VPP CPU assignment is handled automatically. You specify how many CPU
cores VPP may use, and the system distributes them between the main
thread and worker threads.
:::{important}
Review the system configuration settings page before changing CPU
settings: {doc}`system`.
:::
If you don't configure CPU settings, VPP uses a single core for the
main thread and doesn't create worker threads.
## CPU Configuration Parameters
### `cpu-cores`
This parameter defines the total number of CPU cores allocated to VPP.
```{cfgcmd} set vpp settings resource-allocation cpu-cores \<core-number\>
```
The system automatically assigns cores using the following rules:
> - The first two CPU cores are always reserved for the operating system and
> other services.
> - The main VPP thread is assigned to the first available core after the
> reserved ones.
> - The remaining allocated cores are used for worker threads.
For example:
> - If cpu-cores is set to 1, VPP runs only a main thread.
>
> - If cpu-cores is set to 4, VPP uses:
>
> > - 1 core for the main thread
> > - 3 cores for worker threads
Choose a value based on available hardware resources and expected
traffic load. Too few cores may limit performance, while too many can
negatively impact other system services.
## Potential Issues and Troubleshooting
Improper CPU configuration can lead to issues such as:
- VPP underperformance when not enough cores are assigned, or kernel
underperformance when too many cores are assigned to VPP.
- Resource conflicts with other processes and services.
Indicators of such issues are:
- VPP or kernel forwarding performance is lower than expected
- Degraded performance of system components or services, such as DNS,
DHCP, and dynamic routing
|