summaryrefslogtreecommitdiff
path: root/docs/vpp/configuration/dataplane/system.rst
diff options
context:
space:
mode:
authorzdc <taras@vyos.io>2025-08-29 19:53:13 +0300
committerzdc <taras@vyos.io>2025-09-04 19:02:26 +0300
commit00faafed96d86a970bf566c79f1bfd304630ccaa (patch)
tree71f3592ffd0c2965bbb7ddc85bc30ffb95219119 /docs/vpp/configuration/dataplane/system.rst
parentdff952a88be472d0f317873a7b5ea852c6e5f29f (diff)
downloadvyos-documentation-00faafed96d86a970bf566c79f1bfd304630ccaa.tar.gz
vyos-documentation-00faafed96d86a970bf566c79f1bfd304630ccaa.zip
VPP: Add comprehensive VPP documentation
This commit introduces extensive documentation for VyOS VPP (Vector Packet Processing) Dataplane interfaces and features, including examples. Features documented: * VPP integration description, base requirements and limitations * VPP dataplane core settings * Features enabled in the dataplane: ACL, IPsec, NAT, sFlow * VPP interface types: bonding, bridge, GRE, IPIP, kernel, loopback, VXLAN, XConnect Note: This is an initial documentation version that will require ongoing improvements based on user feedback and questions, real-world deployment testing and validation, additional use cases and configuration scenarios discovered in production. Therefore, all pages are marked as "need improvement".
Diffstat (limited to 'docs/vpp/configuration/dataplane/system.rst')
-rw-r--r--docs/vpp/configuration/dataplane/system.rst54
1 files changed, 54 insertions, 0 deletions
diff --git a/docs/vpp/configuration/dataplane/system.rst b/docs/vpp/configuration/dataplane/system.rst
new file mode 100644
index 00000000..ff8bfb61
--- /dev/null
+++ b/docs/vpp/configuration/dataplane/system.rst
@@ -0,0 +1,54 @@
+:lastproofread: 2025-09-04
+
+.. _vpp_config_system:
+
+.. include:: /_include/need_improvement.txt
+
+##########################
+VyOS Configuration for VPP
+##########################
+
+.. _vpp_config_hugepages:
+
+Hugepages
+=========
+VPP utilizes hugepages for efficient 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.
+
+Hugepages can be configured in VyOS using the following commands:
+
+.. warning::
+
+ Changes to hugepage settings require a system reboot to take effect.
+
+ Hugepages must be enabled before VPP configuration is applied.
+
+To enable hugepages:
+
+.. cfgcmd:: set system option kernel memory hugepage-size <size> hugepage-count '<count>'
+
+Enables hugepages with the specified size and count. The size can be either 2MB or 1GB, and the count specifies the number of hugepages to allocate.
+
+If your system has multiple NUMA nodes, the total amount of hugepages will be divided equally among them.
+
+Resources Limits
+================
+
+.. note::
+
+ By default, system will calculate and set the recommended values for resource limits. Avoid tuning these values if you are not sure what you are doing.
+
+During operations VPP utilizes a significant amount of system resources, especially memory. There are two main settings that may to be adjusted to ensure VPP runs smoothly:
+
+Maximum number of memory map areas a process may have:
+
+.. cfgcmd:: set system option resource-limits max-map-count <value>
+
+Maximum shared memory segment size:
+
+.. cfgcmd:: set system option resource-limits shmmax <value>
+
+Both settings are automatically calculated based on configured hugepages.
+
+Kernel Tuning
+=============
+