summaryrefslogtreecommitdiff
path: root/docs/vpp/configuration
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-04-29 07:15:42 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-05-06 16:18:03 +0300
commit87efc8615a4a86de746942ba0bdd486fda1a9a75 (patch)
treece9d326aab2e0f4fd7fc3add0f5fca74cdc5c0dd /docs/vpp/configuration
parent5d24fbc7403c9962fa8da2caf5c245982cb2c249 (diff)
downloadvyos-documentation-87efc8615a4a86de746942ba0bdd486fda1a9a75.tar.gz
vyos-documentation-87efc8615a4a86de746942ba0bdd486fda1a9a75.zip
fix: resolve remaining xref label gaps in swap-active build
Three small additions clear the cross-reference warnings tied to underscore-vs-dash label form mismatches and the vpp-config-hugepages reference that previously needed system.md in the canary set. - system.rst: add .. _vpp-config-hugepages: alongside the existing underscore label so memory.md references resolve regardless of whether system.md is swap-active. - md-lcp.md: add (vpp_config_dataplane_lcp_ignore-kernel-routes)= alongside dash form (carries upstream from myst/current 079fa786). - md-memory.md: add (vpp_config_dataplane_memory)= alongside dash form (also from myst/current 079fa786). Local clean swap-build with 106 canaries: before: 305 warnings, 8 undefined-label entries in our scope after: 300 warnings, 0 undefined-label entries in our scope Remaining undefined-label warnings (release-notes, prepare_commit) are in documentation.rst and unrelated to the canary swap mechanism. 🤖 Generated by [robots](https://vyos.io)
Diffstat (limited to 'docs/vpp/configuration')
-rw-r--r--docs/vpp/configuration/dataplane/md-lcp.md46
-rw-r--r--docs/vpp/configuration/dataplane/md-memory.md127
-rw-r--r--docs/vpp/configuration/dataplane/system.rst1
3 files changed, 1 insertions, 173 deletions
diff --git a/docs/vpp/configuration/dataplane/md-lcp.md b/docs/vpp/configuration/dataplane/md-lcp.md
deleted file mode 100644
index 8ffdb7fb..00000000
--- a/docs/vpp/configuration/dataplane/md-lcp.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-lastproofread: '2026-02-26'
----
-
-(vpp-config-dataplane-lcp)=
-
-```{include} /_include/need_improvement.txt
-```
-
-# VPP LCP Configuration
-Linux Control Plane (LCP) is a core component of VPP that lets you
-offload various control plane functions to the Linux kernel. LCP provides
-seamless integration with other VyOS components, letting you use system
-components like DHCP clients and routing daemons together with the VPP
-dataplane.
-
-VPP integration in VyOS relies heavily on LCP. Almost all control plane
-functions are handled by other daemons and services, while VPP handles
-high-performance packet forwarding exclusively. This approach also reduces
-VPP management processing load, improving overall dataplane performance and
-stability.
-
-VyOS integrates the kernel and VPP routing tables uniquely. By default,
-all routes, even those not directly connected to VPP interfaces, are
-imported from the kernel routing table to the VPP routing table, pointing
-to the kernel. This lets you forward traffic to any destination known to
-the kernel, even if VPP doesn't have a route to that destination.
-
-However, in some scenarios this behavior may not be desired. For example,
-if you have many routes in the kernel routing table not directly connected
-to VPP interfaces, and you don't need forwarding between those
-destinations and destinations reachable via VPP, you can disable this
-behavior using the following command:
-(vpp-config-dataplane-lcp-ignore-kernel-routes)=
-```{cfgcmd} set vpp settings 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.
-
-## Potential Issues and Troubleshooting
-
-Disabling kernel route import can result in:
-
-- Loss of connectivity to certain destinations if kernel routes are ignored
-- Incomplete route synchronization between the kernel and VPP
diff --git a/docs/vpp/configuration/dataplane/md-memory.md b/docs/vpp/configuration/dataplane/md-memory.md
deleted file mode 100644
index 4e9d653d..00000000
--- a/docs/vpp/configuration/dataplane/md-memory.md
+++ /dev/null
@@ -1,127 +0,0 @@
----
-lastproofread: '2026-02-27'
----
-
-(vpp-config-dataplane-memory)=
-
-```{include} /_include/need_improvement.txt
-```
-
-# VPP Memory Configuration
-VPP heavily relies on hugepages for its memory management. Hugepages
-are larger memory pages that reduce the overhead of page management and
-improve performance for applications that require large amounts of
-memory, such as VPP.
-
-VPP supports both 2MB and 1GB hugepages, but the default and most
-commonly used size is 2MB. The choice of hugepage size can impact
-performance, with larger pages generally providing better performance
-for memory-intensive applications.
-
-Before configuring memory in VPP dataplane settings, you need to
-ensure that hugepages are enabled and properly configured on your
-system.
-
-:::{seealso}
-{ref}`Hugepages in VyOS Configuration for VPP <vpp-config-hugepages>`
-:::
-To configure memory settings for VPP, you can use the following
-commands in the VPP CLI:
-
-VPP uses a main heap as a central memory pool for FIB data structures
-entry allocations.
-
-Efficient memory management is crucial for VPP's performance, and the
-main heap plays a significant role in this.
-
-It can be configured using the following command:
-```{cfgcmd} set vpp settings resource-allocation memory main-heap-page-size \<size\>
-```
-Sets the main heap page size for VPP.
-```{cfgcmd} set vpp settings resource-allocation memory main-heap-size \<size\>
-```
-Sets the main heap size for VPP.
-(vpp-config-dataplane-physmem)=
-
-## 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 resource-allocation memory physmem-max-size \<size\>
-```
-Sets the maximum amount of physical memory VPP can use for packet
-processing and interface buffers.
-
-**Default**: 16GB (usually sufficient for most deployments)
-
-You may need to modify the value for high-throughput environments with
-many interfaces, large packet buffers, very high packet rates, or
-memory-constrained systems where you need to limit VPP's memory usage.
-
-**Physmem independent of main heap size** — physmem is for packet
-buffers, main heap is for routing tables.
-
-:::{seealso}
-- {ref}`Hugepages in VyOS Configuration for VPP <vpp-config-hugepages>`
-- {ref}`VPP Buffer Configuration <vpp-config-dataplane-buffers>` - for
- controlling buffer allocation within physmem
-:::
-
-### Common configurations
-```none
-# Reduce for memory-constrained systems
-set vpp settings physmem max-size 4G
-
-# 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.
-
-## Troubleshooting
-
-Improper configuration of main heap size can lead to performance
-degradation or even system instability. If VPP runs out of memory in the
-main heap, it may crash or exhibit erratic behavior. Symptoms you may
-observe include:
-
-- Increased latency or packet loss
-- Crashes or restarts of VPP processes, especially during routing table
- population (for example, BGP session establishment)
-- Error messages related to memory allocation failures
-
-You need to tune the main heap size based on expected FIB entries. Pay
-attention: the same amount of routes with a single next-hop and with
-multiple next-hops will consume different amounts of memory.
-
-For physmem, insufficient allocation can lead to packet drops, interface
-initialization failures, and overall degraded performance. Symptoms
-include:
-
-- Packet drops or failures to allocate buffers
-- Increased latency or jitter in packet processing
-- Crashes or restarts of VPP processes under heavy load
-
-You need to tune the physmem settings based on expected traffic patterns
-and interface usage. Monitor memory usage closely and adjust the
-configuration as needed to ensure optimal performance.
diff --git a/docs/vpp/configuration/dataplane/system.rst b/docs/vpp/configuration/dataplane/system.rst
index 608035a1..6a2756fd 100644
--- a/docs/vpp/configuration/dataplane/system.rst
+++ b/docs/vpp/configuration/dataplane/system.rst
@@ -9,6 +9,7 @@ VyOS Configuration for VPP
##########################
.. _vpp_config_hugepages:
+.. _vpp-config-hugepages:
Hugepages
=========