From 00faafed96d86a970bf566c79f1bfd304630ccaa Mon Sep 17 00:00:00 2001 From: zdc Date: Fri, 29 Aug 2025 19:53:13 +0300 Subject: 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". --- docs/vpp/configuration/dataplane/system.rst | 54 +++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 docs/vpp/configuration/dataplane/system.rst (limited to 'docs/vpp/configuration/dataplane/system.rst') 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 hugepage-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 + +Maximum shared memory segment size: + +.. cfgcmd:: set system option resource-limits shmmax + +Both settings are automatically calculated based on configured hugepages. + +Kernel Tuning +============= + -- cgit v1.2.3