diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-06 20:42:32 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-06 20:42:32 +0300 |
| commit | 5d6fa52b8985f8068314aba26878a1d7d5cb84e5 (patch) | |
| tree | 99359ff282846e26b5c5fa2b9b176b35b172809f /docs/vpp/configuration/dataplane/buffers.rst | |
| parent | 631e454d674ad5111d2b56a6964ead461894a1f6 (diff) | |
| download | vyos-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.rst | 103 |
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. |
