summaryrefslogtreecommitdiff
path: root/docs/vpp/configuration/dataplane/buffers.rst
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-05-06 20:42:32 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-05-06 20:42:32 +0300
commit5d6fa52b8985f8068314aba26878a1d7d5cb84e5 (patch)
tree99359ff282846e26b5c5fa2b9b176b35b172809f /docs/vpp/configuration/dataplane/buffers.rst
parent631e454d674ad5111d2b56a6964ead461894a1f6 (diff)
downloadvyos-documentation-5d6fa52b8985f8068314aba26878a1d7d5cb84e5.tar.gz
vyos-documentation-5d6fa52b8985f8068314aba26878a1d7d5cb84e5.zip
feat: flip swap mechanism — MD as primary, RST as override (Phase 1)
This is the first of three phases inverting the per-page swap mechanism so MD becomes the canonical primary and RST becomes the rare override. Phase 1 — file renames + conf.py exclude_patterns flip only: - Rename docs/**/md-<stem>.md to docs/**/<stem>.md (drop md- prefix) for all 254 stems previously listed in docs/_swap.txt - Rename docs/**/<stem>.rst to docs/**/rst-<stem>.rst (add rst- prefix) for the same 254 stems - Repurpose docs/_swap.txt as docs/_rst_overrides.txt; initially empty comment-only since no pages need the RST fallback right now - conf.py exclude_patterns flipped: rst-*.rst is now excluded by default instead of md-*.md - conf.py runtime-artifact references updated to _rst_override_state.json and _md_exclude.txt (Phase 2 will rewrite swap_sources.py to produce these names; for now no swap script runs because overrides list is empty) Phase 2 (next commit on this branch) will rewrite scripts/swap_sources.py with inverted rename direction, delete scripts/import_myst.py + tests, and update tests/test_swap_sources.py for the new semantics. Phase 3 will be the cleanup pass and ready-for-review flip. Generated by robots https://vyos.io
Diffstat (limited to 'docs/vpp/configuration/dataplane/buffers.rst')
-rw-r--r--docs/vpp/configuration/dataplane/buffers.rst103
1 files changed, 0 insertions, 103 deletions
diff --git a/docs/vpp/configuration/dataplane/buffers.rst b/docs/vpp/configuration/dataplane/buffers.rst
deleted file mode 100644
index b08eb691..00000000
--- a/docs/vpp/configuration/dataplane/buffers.rst
+++ /dev/null
@@ -1,103 +0,0 @@
-:lastproofread: 2026-02-23
-
-.. _vpp_config_dataplane_buffers:
-
-.. include:: /_include/need_improvement.txt
-
-###################################
-VPP Dataplane Buffers Configuration
-###################################
-
-Buffers are essential for handling network packets efficiently. Proper
-configuration enhances performance and reliability, and is mandatory for
-VPP to work. Buffers temporarily store packets during processing. Therefore,
-their configuration must be in sync with NIC configuration, CPU threads, and
-overall system resources.
-
-.. 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.
-
- See :ref:`VPP Physical Memory Configuration <vpp_config_dataplane_physmem>`
- for details on configuring ``physmem``.
-
-Buffer Configuration Parameters
-===============================
-
-The following parameters can be configured for VPP buffers:
-
-buffers-per-numa
-----------------
-
-Number of buffers allocated per NUMA node. This setting optimizes
-memory access patterns for multi-CPU systems.
-
-Typically, you need to tune this value if:
-
-- The system has many interfaces
-- NICs have many queues
-- NICs have large descriptor sizes
-
-Set this value carefully to balance memory usage and performance.
-
-.. cfgcmd:: set vpp settings resource-allocation buffers buffers-per-numa
- <value>
-
-The common approach for the calculation is to use the formula:
-
-.. code-block:: none
-
- buffers-per-numa = (num-rx-queues * num-rx-desc) + (num-tx-queues * num-tx-desc)
-
-Calculate this formula for each NIC and sum the results. Multiply the
-total by 2.5 to get the minimum recommended value for
-``buffers-per-numa``.
-
-Avoid setting this value too low to prevent packet drops.
-
-data-size
----------
-
-This value sets how much payload data can be stored in a single buffer
-allocated by VPP. Larger values reduce buffer chains for large packets,
-while smaller values conserve memory for environments handling mostly
-small packets.
-
-.. cfgcmd:: set vpp settings resource-allocation buffers data-size <value>
-
-Optimal size depends on the typical packet size in your network. If
-unsure, use the largest MTU in your network plus overhead (for example,
-128 bytes).
-
-page-size
----------
-
-A memory pages type used for buffer allocation. Common values are 4K, 2M, or 1G.
-
-Use page sizes configured in your system settings.
-
-.. cfgcmd:: set vpp settings resource-allocation buffers page-size <value>
-
-Potential Issues and Troubleshooting
-====================================
-
-Improper buffer configuration can lead to issues such as:
-
-- Increased latency and packet loss
-- Inefficient CPU utilization
-- Interface initialization failures
-
-Indicators of such issues are:
-
-- Errors during interfaces initialization in VPP logs
-- Packet drops observed in VPP statistics
-
-To troubleshoot buffer-related issues, consider the following steps:
-
-- Review VPP logs for errors related to buffer allocation. Look for
- error ``-5`` messages.
-- Tune available buffers by adjusting the ``buffers-per-numa`` and
- ``data-size`` parameters.