summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNataliia S. <81954790+natali-rs1985@users.noreply.github.com>2026-02-23 12:55:15 +0200
committerGitHub <noreply@github.com>2026-02-23 10:55:15 +0000
commitd6f9f5361a9e0e888da1428921d88da96c2f76af (patch)
treebdeb900ee642df0ec65d67f087bafd4ee740abb3
parent0079443bf6094f007e9d2a12a5a03f119af811f0 (diff)
downloadvyos-documentation-d6f9f5361a9e0e888da1428921d88da96c2f76af.tar.gz
vyos-documentation-d6f9f5361a9e0e888da1428921d88da96c2f76af.zip
vpp: T8261: Refactor resource settings into 'resource-allocation' section (#1775)
-rw-r--r--docs/vpp/configuration/dataplane/buffers.rst8
-rw-r--r--docs/vpp/configuration/dataplane/ipv6.rst4
-rw-r--r--docs/vpp/configuration/dataplane/l2learn.rst2
-rw-r--r--docs/vpp/configuration/dataplane/lcp.rst25
-rw-r--r--docs/vpp/configuration/dataplane/memory.rst26
5 files changed, 33 insertions, 32 deletions
diff --git a/docs/vpp/configuration/dataplane/buffers.rst b/docs/vpp/configuration/dataplane/buffers.rst
index 6a08f8b0..76f8e849 100644
--- a/docs/vpp/configuration/dataplane/buffers.rst
+++ b/docs/vpp/configuration/dataplane/buffers.rst
@@ -14,7 +14,7 @@ Buffers are used to temporarily store packets during processing, therefore their
.. important::
- VPP buffers are allocated from the physical memory pool (physmem). The total amount of memory available for buffer allocation is controlled by the ``physmem max-size`` setting, while the buffer configuration parameters below control how that memory is used for buffer allocation.
+ VPP buffers are allocated from the physical memory pool (physmem). The total amount of memory available for buffer allocation is controlled by the ``physmem-max-size`` setting, while the buffer configuration parameters below control how that memory is used for buffer allocation.
See :ref:`VPP Physical Memory Configuration <vpp_config_dataplane_physmem>` for details on configuring physmem.
@@ -36,7 +36,7 @@ Usually it needs to be tuned if:
The value should be set responsibly.
-.. cfgcmd:: set vpp settings buffers buffers-per-numa <value>
+.. cfgcmd:: set vpp settings resource-allocation buffers buffers-per-numa <value>
The common approach for the calculation is to use the formula:
@@ -54,7 +54,7 @@ data-size
This value sets how much payload data can be stored in a single buffer allocated by VPP.
Making it larger can reduce buffer chains for big packets, while a smaller value can save memory for environments handling mostly small packets.
-.. cfgcmd:: set vpp settings buffers data-size <value>
+.. cfgcmd:: set vpp settings resource-allocation buffers data-size <value>
Optimal size depends on the typical packet size in your network. If you are not sure, use the value of biggest MTU in your network plus some overhead (e.g., 128 bytes).
@@ -65,7 +65,7 @@ A memory pages type used for buffer allocation. Common values are 4K, 2M, or 1G.
Use pages that are configured in system settings.
-.. cfgcmd:: set vpp settings buffers page-size <value>
+.. cfgcmd:: set vpp settings resource-allocation buffers page-size <value>
Potential Issues and Troubleshooting
====================================
diff --git a/docs/vpp/configuration/dataplane/ipv6.rst b/docs/vpp/configuration/dataplane/ipv6.rst
index eb8cfcd8..46ef4126 100644
--- a/docs/vpp/configuration/dataplane/ipv6.rst
+++ b/docs/vpp/configuration/dataplane/ipv6.rst
@@ -12,11 +12,11 @@ VPP allows to configure resources allocated for IPv6 traffic processing independ
There are two main resources that can be configured for IPv6 traffic processing:
-.. cfgcmd:: set vpp settings ipv6 hash-buckets <value>
+.. cfgcmd:: set vpp settings resource-allocation ipv6 hash-buckets <value>
This parameter configures the number of hash buckets used for IPv6 routing table. If you have a big IPv6 routing table, you may need to increase this value to ensure that the routing table is efficient and lookups are fast.
-.. cfgcmd:: set vpp settings ipv6 heap-size <value>
+.. cfgcmd:: set vpp settings resource-allocation ipv6 heap-size <value>
This parameter configures the size of the heap used for IPv6 forwarding table. If you have a big IPv6 routing table, you may need to increase this value to ensure that the routing table can accommodate all routes.
diff --git a/docs/vpp/configuration/dataplane/l2learn.rst b/docs/vpp/configuration/dataplane/l2learn.rst
index 9812edc4..06b58e39 100644
--- a/docs/vpp/configuration/dataplane/l2learn.rst
+++ b/docs/vpp/configuration/dataplane/l2learn.rst
@@ -12,7 +12,7 @@ When VPP dataplane is connected to a L2 domain, it needs to learn MAC addresses
The limit can be configured using the following command:
-.. cfgcmd:: set vpp settings l2learn limit <value>
+.. cfgcmd:: set vpp settings resource-allocation mac-limit <value>
This parameter configures the maximum number of MAC addresses that can be learned in the L2 domain. If you have a large number of devices, you may need to increase this limit to ensure all MAC addresses can be learned.
diff --git a/docs/vpp/configuration/dataplane/lcp.rst b/docs/vpp/configuration/dataplane/lcp.rst
index bc3c0d62..785512c1 100644
--- a/docs/vpp/configuration/dataplane/lcp.rst
+++ b/docs/vpp/configuration/dataplane/lcp.rst
@@ -12,39 +12,20 @@ Linux Control Plane (LCP) is one of core components of VPP that allows to offloa
VPP integration in VyOS relies heavily on LCP, building the relationship where almost all control plane functions are handled by other daemons and services and VPP is used exclusively for high-performance packet forwarding. This also reduces VPP management processing load, improving overall performance and stability of the dataplane.
-LCP can be configured using the following command:
-
VyOS contains unique integration between kernel and VPP routing tables. By default, all the routes, even if they are not directly connected to VPP interfaces, are imported from kernel routing table to VPP routing table, pointing to the kernel. This allows to forward traffic to any destination known to the kernel, even if VPP itself does not have a route to that destination.
However, in some scenarios, this behavior may not be desired. For example, if you have a large number of routes in the kernel routing table that are not directly connected to VPP interfaces, and you do not need forwarding between such destinations and destinations reachable via VPP, you can disable this behavior. This can be done using the following command:
.. _vpp_config_dataplane_lcp_ignore-kernel-routes:
-.. cfgcmd:: set vpp settings lcp ignore-kernel-routes
+.. cfgcmd:: set vpp settings resource-allocation ignore-kernel-routes
Pay attention that disabling this option leads to loss of connectivity to destinations if there are no direct routes in VPP routing table.
-Other configuration section crucial for integration between VPP and Kernel is netlink settings. It allows to configure how VPP management listen to netlink events and how it processes them.
-
-.. cfgcmd:: set vpp settings lcp netlink batch-delay-ms <value>
-
-This parameter specifies the delay in milliseconds between processing batch netlink messages. If you expect to get frequent and intensive netlink events, you may need to decrease this value to ensure that VPP processes netlink events in a timely manner.
-
-.. cfgcmd:: set vpp settings lcp netlink batch-size <value>
-
-This parameter specifies the maximum number of netlink messages to process in a single batch. If you have a high volume of netlink events, increasing this value can improve throughput by allowing more messages to be processed at once. However, setting it too high may increase latency for individual messages.
-
-.. cfgcmd:: set vpp settings lcp netlink rx-buffer-size <value>
-
-This parameter specifies the size of the receive buffer for netlink messages. Increasing this value can help accommodate bursts of netlink messages, but setting it too high may lead to increased memory usage.
-
Potential Issues and Troubleshooting
====================================
-Improper LCP configuration can lead to various issues, including:
+Disabling kernel route import can result in:
- Loss of connectivity to certain destinations if kernel routes are ignored
-- Delays in synchronization between kernel and VPP routing tables
-- Desynchronization between kernel and VPP routing tables if netlink settings are not optimal
-
-Consider adjusting LCP settings if you experience issues with routing or connectivity, especially in scenarios involving dynamic route changes or a large number of routes.
+- Incomplete route synchronization between the kernel and VPP
diff --git a/docs/vpp/configuration/dataplane/memory.rst b/docs/vpp/configuration/dataplane/memory.rst
index 7b100c92..8e4749ed 100644
--- a/docs/vpp/configuration/dataplane/memory.rst
+++ b/docs/vpp/configuration/dataplane/memory.rst
@@ -24,11 +24,11 @@ Efficient memory management is crucial for VPP's performance, and the main heap
It can be configured using the following command:
-.. cfgcmd:: set vpp settings memory main-heap-page-size <size>
+.. cfgcmd:: set vpp settings resource-allocation memory main-heap-page-size <size>
Sets the main heap page size for VPP.
-.. cfgcmd:: set vpp settings memory main-heap-size <size>
+.. cfgcmd:: set vpp settings resource-allocation memory main-heap-size <size>
Sets the main heap size for VPP.
@@ -39,7 +39,7 @@ Physical Memory Configuration
VPP uses physical memory for packet buffers and interface operations. The ``physmem`` setting controls how much memory VPP can allocate for these operations.
-.. cfgcmd:: set vpp settings physmem max-size <size>
+.. cfgcmd:: set vpp settings resource-allocation memory physmem-max-size <size>
Sets the maximum amount of physical memory VPP can use for packet processing and interface buffers.
@@ -65,6 +65,26 @@ Common configurations
# Increase for high-throughput environments
set vpp settings physmem max-size 32G
+Stats Memory Configuration
+==========================
+
+VPP uses a dedicated statistics memory segment to store runtime counters and telemetry data. This segment is used by the VPP CLI and monitoring tools to access performance and status information.
+
+The statistics segment is allocated from hugepage memory and can be configured independently from the main heap and physmem settings.
+
+You can configure statistics memory using the following commands:
+
+.. cfgcmd:: set vpp settings resource-allocation memory stats page-size <size>
+
+Sets the hugepage page size used for the statistics memory segment.
+
+.. cfgcmd:: set vpp settings resource-allocation memory stats size <size>
+
+Sets the total size of the statistics memory segment.
+
+Increasing this value may be required in large deployments with many interfaces or enabled features that generate a high number of counters.
+
+Statistics memory is used only for telemetry and monitoring. It does not affect packet buffer allocation or routing table memory.
Potential Issues and Troubleshooting
====================================