* [PATCH v3 1/8] doc: adjust heading underline lengths
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 2/8] doc: remove unused labels from guides Thomas Monjalon
` (8 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: Nicolas Chautru, Sunila Sahu, Gagandeep Singh, Hemant Agrawal,
Kai Ji, Vamsi Attunuru, Chengwen Feng, Bruce Richardson,
Kevin Laatz, Conor Walsh, Sachin Saxena, Liang Ma, Peter Mccarthy,
Konstantin Ananyev, Wathsala Vithanage, Ciara Loftus,
Maryam Tahhan, Steven Webster, Matt Peters, Xingui Yang,
Anatoly Burakov, Jakub Grajciar, Devendra Singh Rawat,
Alok Prasad, Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori,
Satha Rao, Harman Kalra, Fan Zhang, Ashish Gupta, Akhil Goyal,
Yipeng Wang, Ori Kam, Cristian Dumitrescu, Naga Harish K S V,
Sameh Gobriel, Vladimir Medvedkin, Chas Williams, Min Hu (Connor),
Andrew Rybchenko, Morten Brørup, Volodymyr Fialko,
Anoob Joseph, Rosen Xu, Liron Himi, Rajesh Kumar, Maxime Coquelin,
Chenbo Xia, Aman Singh, Jerin Jacob
Reduce underlines to match the length of the headings.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/bbdevs/acc100.rst | 2 +-
doc/guides/bbdevs/fpga_lte_fec.rst | 4 ++--
doc/guides/bbdevs/null.rst | 2 +-
doc/guides/compressdevs/zlib.rst | 2 +-
doc/guides/contributing/abi_policy.rst | 2 +-
doc/guides/contributing/coding_style.rst | 2 +-
doc/guides/cryptodevs/caam_jr.rst | 2 +-
doc/guides/cryptodevs/dpaa_sec.rst | 2 +-
doc/guides/cryptodevs/overview.rst | 2 +-
doc/guides/cryptodevs/qat.rst | 2 +-
doc/guides/dmadevs/cnxk.rst | 2 +-
doc/guides/dmadevs/hisi_acc.rst | 4 ++--
doc/guides/dmadevs/idxd.rst | 18 +++++++++---------
doc/guides/dmadevs/ioat.rst | 16 ++++++++--------
doc/guides/eventdevs/dpaa.rst | 4 ++--
doc/guides/eventdevs/opdl.rst | 2 +-
doc/guides/faq/faq.rst | 2 +-
doc/guides/howto/af_xdp_dp.rst | 2 +-
doc/guides/howto/avx512.rst | 2 +-
doc/guides/howto/rte_flow.rst | 2 +-
.../howto/virtio_user_as_exception_path.rst | 2 +-
.../linux_gsg/cross_build_dpdk_for_arm64.rst | 2 +-
doc/guides/linux_gsg/linux_drivers.rst | 4 ++--
doc/guides/nics/af_xdp.rst | 2 +-
doc/guides/nics/avp.rst | 2 +-
doc/guides/nics/hns3.rst | 2 +-
doc/guides/nics/i40e.rst | 8 ++++----
doc/guides/nics/ice.rst | 4 ++--
doc/guides/nics/igc.rst | 2 +-
doc/guides/nics/memif.rst | 2 +-
doc/guides/nics/pfe.rst | 2 +-
doc/guides/nics/qede.rst | 2 +-
doc/guides/platform/cnxk.rst | 2 +-
doc/guides/platform/dpaa.rst | 2 +-
doc/guides/prog_guide/bbdev.rst | 4 ++--
doc/guides/prog_guide/build-sdk-meson.rst | 12 ++++++------
doc/guides/prog_guide/compressdev.rst | 6 +++---
doc/guides/prog_guide/cryptodev_lib.rst | 2 +-
doc/guides/prog_guide/devargs.rst | 2 +-
doc/guides/prog_guide/efd_lib.rst | 2 +-
.../prog_guide/env_abstraction_layer.rst | 2 +-
doc/guides/prog_guide/ethdev/flow_offload.rst | 14 +++++++-------
doc/guides/prog_guide/ethdev/qos_framework.rst | 2 +-
.../eventdev/event_ethernet_rx_adapter.rst | 2 +-
.../eventdev/event_ethernet_tx_adapter.rst | 2 +-
doc/guides/prog_guide/hash_lib.rst | 6 +++---
doc/guides/prog_guide/index.rst | 2 +-
doc/guides/prog_guide/ipsec_lib.rst | 4 ++--
.../link_bonding_poll_mode_drv_lib.rst | 2 +-
doc/guides/prog_guide/member_lib.rst | 2 +-
doc/guides/prog_guide/mempool_lib.rst | 2 +-
doc/guides/prog_guide/multi_proc_support.rst | 2 +-
.../prog_guide/packet_classif_access_ctrl.rst | 2 +-
doc/guides/prog_guide/regexdev.rst | 2 +-
doc/guides/prog_guide/reorder_lib.rst | 8 ++++----
doc/guides/prog_guide/rte_security.rst | 2 +-
doc/guides/prog_guide/stack_lib.rst | 2 +-
doc/guides/prog_guide/toeplitz_hash_lib.rst | 2 +-
doc/guides/rawdevs/ifpga.rst | 4 ++--
doc/guides/regexdevs/cn9k.rst | 2 +-
doc/guides/sample_app_ug/dma.rst | 2 +-
doc/guides/sample_app_ug/flow_filtering.rst | 2 +-
doc/guides/sample_app_ug/ip_reassembly.rst | 2 +-
doc/guides/sample_app_ug/packet_ordering.rst | 2 +-
doc/guides/sample_app_ug/ptp_tap_relay_sw.rst | 2 +-
doc/guides/sample_app_ug/vhost_blk.rst | 4 ++--
doc/guides/sample_app_ug/vmdq_forwarding.rst | 2 +-
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 12 ++++++------
doc/guides/tools/testbbdev.rst | 4 ++--
doc/guides/tools/testeventdev.rst | 4 ++--
70 files changed, 122 insertions(+), 122 deletions(-)
diff --git a/doc/guides/bbdevs/acc100.rst b/doc/guides/bbdevs/acc100.rst
index 1621cc782f..253ed3e81f 100644
--- a/doc/guides/bbdevs/acc100.rst
+++ b/doc/guides/bbdevs/acc100.rst
@@ -2,7 +2,7 @@
Copyright(c) 2020 Intel Corporation
Intel(R) ACC100 5G/4G FEC Poll Mode Drivers
-======================================================
+===========================================
The BBDEV ACC100 5G/4G FEC poll mode driver (PMD) supports an
implementation of a VRAN FEC wireless acceleration function.
diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst
index 990eeb087b..b85112dae4 100644
--- a/doc/guides/bbdevs/fpga_lte_fec.rst
+++ b/doc/guides/bbdevs/fpga_lte_fec.rst
@@ -49,7 +49,7 @@ FPGA LTE FEC does not support the following:
Installation
---------------
+------------
Section 3 of the DPDK manual provides instructions on installing and compiling DPDK.
@@ -80,7 +80,7 @@ For more details on how to bind the PF device and create VF devices, see
Configure the VFs through PF
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The PCI virtual functions must be configured before working or getting assigned
to VMs/Containers. The configuration involves allocating the number of hardware
diff --git a/doc/guides/bbdevs/null.rst b/doc/guides/bbdevs/null.rst
index 0b885d17fc..4c3391af6a 100644
--- a/doc/guides/bbdevs/null.rst
+++ b/doc/guides/bbdevs/null.rst
@@ -2,7 +2,7 @@
Copyright(c) 2017 Intel Corporation
BBDEV null Poll Mode Driver
-============================
+===========================
The (**baseband_null**) is a bbdev poll mode driver which provides a minimal
implementation of a software bbdev device. As a null device it does not modify
diff --git a/doc/guides/compressdevs/zlib.rst b/doc/guides/compressdevs/zlib.rst
index 8afa7dfbbb..3f452c6e04 100644
--- a/doc/guides/compressdevs/zlib.rst
+++ b/doc/guides/compressdevs/zlib.rst
@@ -2,7 +2,7 @@
Copyright(c) 2018 Cavium Networks.
ZLIB Compression Poll Mode Driver
-==================================
+=================================
The ZLIB PMD (**librte_compress_zlib**) provides poll mode compression &
decompression driver based on SW zlib library,
diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
index f03a7467ac..9e9994c362 100644
--- a/doc/guides/contributing/abi_policy.rst
+++ b/doc/guides/contributing/abi_policy.rst
@@ -288,7 +288,7 @@ added to the Release Notes:
.. _new_abi_version:
New ABI versions
-------------------
+----------------
A new ABI version may be declared aligned with a given release.
The requirement to preserve compatibility with the previous major ABI version
diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index 5c50ccfcb1..d6219cb6af 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -579,7 +579,7 @@ Casts and sizeof
The redundant parenthesis rules do not apply to sizeof(var) instances.
C Function Definition, Declaration and Use
--------------------------------------------
+------------------------------------------
Prototypes
~~~~~~~~~~
diff --git a/doc/guides/cryptodevs/caam_jr.rst b/doc/guides/cryptodevs/caam_jr.rst
index d7b0f14234..ac1a26c5e6 100644
--- a/doc/guides/cryptodevs/caam_jr.rst
+++ b/doc/guides/cryptodevs/caam_jr.rst
@@ -73,7 +73,7 @@ AEAD algorithms:
* ``RTE_CRYPTO_AEAD_AES_GCM``
Supported DPAA SoCs
---------------------
+-------------------
* LS1046A/LS1026A
* LS1043A/LS1023A
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index 0c8d6cf3da..9980c07e86 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -77,7 +77,7 @@ AEAD algorithms:
* ``RTE_CRYPTO_AEAD_AES_GCM``
Supported DPAA SoCs
---------------------
+-------------------
* LS1046A/LS1026A
* LS1043A/LS1023A
diff --git a/doc/guides/cryptodevs/overview.rst b/doc/guides/cryptodevs/overview.rst
index b068d0d19c..4f963ed24e 100644
--- a/doc/guides/cryptodevs/overview.rst
+++ b/doc/guides/cryptodevs/overview.rst
@@ -82,7 +82,7 @@ Supported Asymmetric Algorithms
.. include:: overview_asym_table.txt
Supported Operating Systems
--------------------------------
+---------------------------
.. _table_crypto_pmd_os:
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index cb53772f5b..7a056ce902 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -353,7 +353,7 @@ To use this feature the user must set the devarg on process start as a device ad
Running QAT PMD with Intel IPsec MB library
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The QAT PMD requires IPsec MB library
for HMAC partial hash calculation in symmetric precomputes function.
diff --git a/doc/guides/dmadevs/cnxk.rst b/doc/guides/dmadevs/cnxk.rst
index 797301f226..b671c65644 100644
--- a/doc/guides/dmadevs/cnxk.rst
+++ b/doc/guides/dmadevs/cnxk.rst
@@ -22,7 +22,7 @@ Prerequisites and Compilation procedure
See :doc:`../platform/cnxk` for setup information.
Device Setup
--------------
+------------
The ``dpdk-devbind.py`` script, included with DPDK,
can be used to show the presence of supported hardware.
diff --git a/doc/guides/dmadevs/hisi_acc.rst b/doc/guides/dmadevs/hisi_acc.rst
index bd08e7a4da..2b2b765793 100644
--- a/doc/guides/dmadevs/hisi_acc.rst
+++ b/doc/guides/dmadevs/hisi_acc.rst
@@ -16,7 +16,7 @@ Supported Kunpeng SoCs
Device Setup
--------------
+------------
In order to use the device in DPDK, user should
insmod `uacce.ko`, `hisi_qm.ko`
@@ -45,7 +45,7 @@ named ``hisi_zip-0-dma0`` and ``hisi_zip-0-dma1``.
and algorithms contain ``udma``.
Device Configuration
-~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~
Configuration requirements:
diff --git a/doc/guides/dmadevs/idxd.rst b/doc/guides/dmadevs/idxd.rst
index 6c2a12b4ba..1b33e23d30 100644
--- a/doc/guides/dmadevs/idxd.rst
+++ b/doc/guides/dmadevs/idxd.rst
@@ -14,7 +14,7 @@ data operations, such as data copies, to hardware, freeing up CPU cycles for
other tasks.
Hardware Requirements
-----------------------
+---------------------
The ``dpdk-devbind.py`` script, included with DPDK, can be used to show the
presence of supported hardware. Running ``dpdk-devbind.py --status-dev dma``
@@ -24,13 +24,13 @@ as devices with type “0b25”, due to the absence of pci-id database entries f
them at this point.
Compilation
-------------
+-----------
For builds using ``meson`` and ``ninja``, the driver will be built when the
target platform is x86-based. No additional compilation steps are necessary.
Device Setup
--------------
+------------
Intel\ |reg| DSA devices can use the IDXD kernel driver or DPDK-supported drivers,
such as ``vfio-pci``. Both are supported by the IDXD PMD.
@@ -42,7 +42,7 @@ such as ``vfio-pci``. Both are supported by the IDXD PMD.
Multi-process is not supported when using the kernel IDXD driver.
Intel\ |reg| DSA devices using IDXD kernel driver
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To use an Intel\ |reg| DSA device bound to the IDXD kernel driver, the device must first be configured.
The `accel-config <https://github.com/intel/idxd-config>`_ utility library can be used for configuration.
@@ -121,7 +121,7 @@ giving each an equal share of resources::
Devices using VFIO/UIO drivers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The HW devices to be used will need to be bound to a user-space IO driver for use.
The ``dpdk-devbind.py`` script can be used to view the state of the devices
@@ -138,7 +138,7 @@ For example::
``0000:6a:01.0-q0``, ``00006a:01.0-q1``, etc.
Device Probing and Initialization
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For devices bound to a suitable DPDK-supported VFIO/UIO driver, the HW devices will
be found as part of the device scan done at application initialization time without
@@ -177,12 +177,12 @@ that is a "DMA device type" inside DPDK, and can be accessed using APIs from the
``rte_dmadev`` library.
Using IDXD DMAdev Devices
---------------------------
+-------------------------
To use the devices from an application, the dmadev API can be used.
Device Configuration
-~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~
IDXD configuration requirements:
@@ -195,7 +195,7 @@ Once configured, the device can then be made ready for use by calling the
``rte_dma_start()`` API.
Performing Data Copies
-~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~
Refer to the :ref:`Enqueue / Dequeue APIs <dmadev_enqueue_dequeue>` section of the dmadev library
documentation for details on operation enqueue, submission and completion API usage.
diff --git a/doc/guides/dmadevs/ioat.rst b/doc/guides/dmadevs/ioat.rst
index 9ac90e3108..9ee7852dde 100644
--- a/doc/guides/dmadevs/ioat.rst
+++ b/doc/guides/dmadevs/ioat.rst
@@ -4,7 +4,7 @@
.. include:: <isonum.txt>
IOAT DMA Device Driver
-=======================
+======================
The ``ioat`` dmadev driver provides a poll-mode driver (PMD) for Intel\
|reg| QuickData Technology which is part of part of Intel\ |reg| I/O
@@ -15,7 +15,7 @@ cloning packet data, to be accelerated by IOAT hardware rather than having to
be done by software, freeing up CPU cycles for other tasks.
Hardware Requirements
-----------------------
+---------------------
The ``dpdk-devbind.py`` script, included with DPDK, can be used to show the
presence of supported hardware. Running ``dpdk-devbind.py --status-dev dma``
@@ -30,13 +30,13 @@ absence of pci-id database entries for them at this point.
Cascade Lake.
Compilation
-------------
+-----------
For builds using ``meson`` and ``ninja``, the driver will be built when the
target platform is x86-based. No additional compilation steps are necessary.
Device Setup
--------------
+------------
Intel\ |reg| IOAT devices will need to be bound to a suitable DPDK-supported
user-space IO driver such as ``vfio-pci`` in order to be used by DPDK.
@@ -51,7 +51,7 @@ For example::
$ dpdk-devbind.py -b vfio-pci 00:01.0 00:01.1
Device Probing and Initialization
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For devices bound to a suitable DPDK-supported driver (``vfio-pci``), the HW
devices will be found as part of the device scan done at application
@@ -69,12 +69,12 @@ Once probed successfully, the device will appear as a ``dmadev``, that is a
``rte_dmadev`` library.
Using IOAT DMAdev Devices
---------------------------
+-------------------------
To use IOAT devices from an application, the ``dmadev`` API can be used.
Device Configuration
-~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~
IOAT configuration requirements:
@@ -87,7 +87,7 @@ Once configured, the device can then be made ready for use by calling the
``rte_dma_start()`` API.
Performing Data Copies
-~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~
Refer to the :ref:`Enqueue / Dequeue APIs <dmadev_enqueue_dequeue>` section of the dmadev library
documentation for details on operation enqueue, submission and completion API usage.
diff --git a/doc/guides/eventdevs/dpaa.rst b/doc/guides/eventdevs/dpaa.rst
index 8fb1d469dd..fed66b79a1 100644
--- a/doc/guides/eventdevs/dpaa.rst
+++ b/doc/guides/eventdevs/dpaa.rst
@@ -2,7 +2,7 @@
Copyright 2017 NXP
NXP DPAA Eventdev Driver
-=========================
+========================
The dpaa eventdev is an implementation of the eventdev API, that provides a
wide range of the eventdev features. The eventdev relies on a dpaa based
@@ -23,7 +23,7 @@ The DPAA EVENTDEV implements many features in the eventdev API;
- Atomic flows
Supported DPAA SoCs
---------------------
+-------------------
- LS1046A/LS1026A
- LS1043A/LS1023A
diff --git a/doc/guides/eventdevs/opdl.rst b/doc/guides/eventdevs/opdl.rst
index f220959249..42c015c8ca 100644
--- a/doc/guides/eventdevs/opdl.rst
+++ b/doc/guides/eventdevs/opdl.rst
@@ -2,7 +2,7 @@
Copyright(c) 2017 Intel Corporation.
OPDL Eventdev Poll Mode Driver
-==================================
+==============================
The OPDL (Ordered Packet Distribution Library) eventdev is a specific\
implementation of the eventdev API. It is particularly suited to packet\
diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst
index d675c870ff..d42c4314e2 100644
--- a/doc/guides/faq/faq.rst
+++ b/doc/guides/faq/faq.rst
@@ -141,7 +141,7 @@ and <MAC address> being the desired MAC address.
Is it safe to add an entry to the hash table while running?
-------------------------------------------------------------
+-----------------------------------------------------------
Currently the table implementation is not a thread safe implementation and assumes that locking between threads and processes is handled by the user's application.
This is likely to be supported in future releases.
diff --git a/doc/guides/howto/af_xdp_dp.rst b/doc/guides/howto/af_xdp_dp.rst
index b3681af2f7..68e524305e 100644
--- a/doc/guides/howto/af_xdp_dp.rst
+++ b/doc/guides/howto/af_xdp_dp.rst
@@ -137,7 +137,7 @@ Example
-------
Build a DPDK container image (using Docker)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Create a Dockerfile (should be placed in top level DPDK directory):
diff --git a/doc/guides/howto/avx512.rst b/doc/guides/howto/avx512.rst
index 6c034b617d..a9ff770740 100644
--- a/doc/guides/howto/avx512.rst
+++ b/doc/guides/howto/avx512.rst
@@ -26,7 +26,7 @@ For more information on the possible enum values to use as a parameter, go to :r
Using the command-line argument
----------------------------------------------
+-------------------------------
The user can select to use AVX-512 at runtime, using the following argument to set the max bitwidth::
diff --git a/doc/guides/howto/rte_flow.rst b/doc/guides/howto/rte_flow.rst
index 7852b6e509..428ec3f411 100644
--- a/doc/guides/howto/rte_flow.rst
+++ b/doc/guides/howto/rte_flow.rst
@@ -106,7 +106,7 @@ Terminal 1: output log::
received packet with src ip = 176.80.50.4
Range IPv4 drop
-----------------
+---------------
Description
~~~~~~~~~~~
diff --git a/doc/guides/howto/virtio_user_as_exception_path.rst b/doc/guides/howto/virtio_user_as_exception_path.rst
index 212abc8e54..0d4c8aeb94 100644
--- a/doc/guides/howto/virtio_user_as_exception_path.rst
+++ b/doc/guides/howto/virtio_user_as_exception_path.rst
@@ -51,7 +51,7 @@ in :numref:`figure_virtio_user_as_exception_path`.
Example Usage With Testpmd
----------------------------
+--------------------------
.. note::
diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index 82dde17c35..6485943da0 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -186,7 +186,7 @@ LLVM/Clang toolchain
--------------------
Obtain the cross toolchain
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~
The latest LLVM/Clang cross compiler toolchain can be downloaded from:
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/llvm-toolchain.
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 8b117f92c2..8ffd281330 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -168,7 +168,7 @@ After that, VFIO can be used with hardware devices as usual.
in situations where IOMMU is not available.
VFIO Memory Mapping Limits
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~
For DMA mapping of either external memory or hugepages, VFIO interface is used.
VFIO does not support partial unmap of once mapped memory. Hence DPDK's memory is
@@ -198,7 +198,7 @@ Alternatively, one can also change this value in an already loaded kernel module
echo 512000 > /sys/module/vfio_iommu_type1/parameters/dma_entry_limit
Creating Virtual Functions using vfio-pci
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since Linux version 5.7,
the ``vfio-pci`` module supports the creation of virtual functions.
diff --git a/doc/guides/nics/af_xdp.rst b/doc/guides/nics/af_xdp.rst
index 8bd17f04ae..c455b4c066 100644
--- a/doc/guides/nics/af_xdp.rst
+++ b/doc/guides/nics/af_xdp.rst
@@ -2,7 +2,7 @@
Copyright(c) 2019-2020 Intel Corporation.
AF_XDP Poll Mode Driver
-==========================
+=======================
AF_XDP is an address family that is optimized for high performance
packet processing. AF_XDP sockets enable the possibility for an XDP program to
diff --git a/doc/guides/nics/avp.rst b/doc/guides/nics/avp.rst
index a749f2a0f6..6d319b0fc6 100644
--- a/doc/guides/nics/avp.rst
+++ b/doc/guides/nics/avp.rst
@@ -3,7 +3,7 @@
All rights reserved.
AVP Poll Mode Driver
-=================================================================
+====================
The Accelerated Virtual Port (AVP) device is a shared memory based device
only available on `virtualization platforms <http://www.windriver.com/products/titanium-cloud/>`_
diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 5e0fdd5bbb..0d36f135f5 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -2,7 +2,7 @@
Copyright(c) 2018-2019 HiSilicon Limited.
HNS3 Poll Mode Driver
-===============================
+=====================
The hns3 PMD (**librte_net_hns3**) provides poll mode driver support
for the inbuilt HiSilicon Network Subsystem(HNS) network engine
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index e67498aef4..fdfe257ba4 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -2,7 +2,7 @@
Copyright(c) 2016 Intel Corporation.
I40E Poll Mode Driver
-======================
+=====================
The i40e PMD (**librte_net_i40e**) provides poll mode driver support for
10/25/40 Gbps Intel® Ethernet 700 Series Network Adapters based on
@@ -447,7 +447,7 @@ Check the flow director status:
Floating VEB
-~~~~~~~~~~~~~
+~~~~~~~~~~~~
The Intel® Ethernet 700 Series support a feature called
"Floating VEB".
@@ -550,7 +550,7 @@ For example, to use only 48bit prefix for IPv6 src address for IPv6 TCP RSS:
testpmd> port config 0 pctype 43 hash_inset set field 15
Queue region configuration
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~
The Intel® Ethernet 700 Series supports a feature of queue regions
configuration for RSS in the PF, so that different traffic classes or
different packet classification types can be separated to different
@@ -572,7 +572,7 @@ APIs are used.
testpmd> show port (port_id) queue-region
Generic flow API
-~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~
- ``RSS Flow``
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 5589ce934f..413478b727 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -2,7 +2,7 @@
Copyright(c) 2018 Intel Corporation.
ICE Poll Mode Driver
-======================
+====================
The ice PMD (**librte_net_ice**) provides poll mode driver support for
10/25/50/100/200 Gbps Intel® Ethernet 800 Series Network Adapters based on
@@ -399,7 +399,7 @@ report a MDD event and drop the packets.
The APPs based on DPDK should avoid providing such packets.
Device Config Function (DCF)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section demonstrates ICE DCF PMD, which shares the core module with ICE
PMD and iAVF PMD.
diff --git a/doc/guides/nics/igc.rst b/doc/guides/nics/igc.rst
index d19a572b83..3de4d6d2fc 100644
--- a/doc/guides/nics/igc.rst
+++ b/doc/guides/nics/igc.rst
@@ -2,7 +2,7 @@
Copyright(c) 2020 Intel Corporation.
IGC Poll Mode Driver
-======================
+====================
The IGC PMD (**librte_net_e1000**) provides poll mode driver support for Foxville
I225 and I226 Series Network Adapters.
diff --git a/doc/guides/nics/memif.rst b/doc/guides/nics/memif.rst
index 2867b2f66d..79b048865f 100644
--- a/doc/guides/nics/memif.rst
+++ b/doc/guides/nics/memif.rst
@@ -211,7 +211,7 @@ Only single file segments mode (EAL option --single-file-segments) is supported,
offset from multiple segments is too expensive.
Example: testpmd
-----------------------------
+----------------
In this example we run two instances of testpmd application and transmit packets over memif.
First create ``server`` interface::
diff --git a/doc/guides/nics/pfe.rst b/doc/guides/nics/pfe.rst
index 172ae80984..df33a50237 100644
--- a/doc/guides/nics/pfe.rst
+++ b/doc/guides/nics/pfe.rst
@@ -2,7 +2,7 @@
Copyright 2019 NXP
PFE Poll Mode Driver
-======================
+====================
The PFE NIC PMD (**librte_net_pfe**) provides poll mode driver
support for the inbuilt NIC found in the **NXP LS1012** SoC.
diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index c067a4c796..c99606877b 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -3,7 +3,7 @@
Copyright(c) 2017 Cavium, Inc
QEDE Poll Mode Driver
-======================
+=====================
The QEDE poll mode driver library (**librte_net_qede**) implements support
for **QLogic FastLinQ QL4xxxx 10G/25G/40G/50G/100G Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA)** family of adapters as well as SR-IOV virtual functions (VF). It is supported on
diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst
index 4aa900dd63..c0e92dabbf 100644
--- a/doc/guides/platform/cnxk.rst
+++ b/doc/guides/platform/cnxk.rst
@@ -143,7 +143,7 @@ The primary use case for SDP is to enable the smart NIC use case. Typical usage
vice-versa.
cnxk packet flow
-----------------------
+----------------
The :numref:`figure_cnxk_packet_flow_hw_accelerators` diagram depicts
the packet flow on cnxk SoC in conjunction with use of various HW accelerators.
diff --git a/doc/guides/platform/dpaa.rst b/doc/guides/platform/dpaa.rst
index 282a2f45ee..68ef4a8d7b 100644
--- a/doc/guides/platform/dpaa.rst
+++ b/doc/guides/platform/dpaa.rst
@@ -9,7 +9,7 @@ based layerscape platform and information about common offload
hw block drivers of **NXP QorIQ DPAA** SoC family.
Supported DPAA SoCs
---------------------
+-------------------
* LS1046A/LS1026A
* LS1043A/LS1023A
diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
index bdd2d87471..6fd849436d 100644
--- a/doc/guides/prog_guide/bbdev.rst
+++ b/doc/guides/prog_guide/bbdev.rst
@@ -740,7 +740,7 @@ TB-mode. CB-mode is a reduced version, where only one CB exists:
Turbo decoding of Code Blocks in mbuf structure
BBDEV LDPC Encode Operation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
The operation flags that can be set for each LDPC encode operation are
given below.
@@ -883,7 +883,7 @@ showing the Turbo encoding of CBs using BBDEV interface in TB-mode
is also valid for LDPC encode.
BBDEV LDPC Decode Operation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
The operation flags that can be set for each LDPC decode operation are
given below.
diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst
index fdb5d484fa..74465d52c3 100644
--- a/doc/guides/prog_guide/build-sdk-meson.rst
+++ b/doc/guides/prog_guide/build-sdk-meson.rst
@@ -5,7 +5,7 @@ Installing DPDK Using the meson build system
============================================
Summary
---------
+-------
For many platforms, compiling and installing DPDK should work using the
following set of commands::
@@ -29,7 +29,7 @@ More detail on each of these steps can be got from the following sections.
Getting the Tools
-------------------
+-----------------
The ``meson`` tool is used to configure a DPDK build. On most Linux
distributions this can be got using the local package management system,
@@ -54,7 +54,7 @@ It is best advised to go over the following links for the complete dependencies:
Configuring the Build
-----------------------
+---------------------
To configure a build, run the meson tool, passing the path to the directory
to be used for the build e.g. ``meson setup build``, as shown above. If calling
@@ -150,7 +150,7 @@ example::
Performing the Build
----------------------
+--------------------
Use ``ninja`` to perform the actual build inside the build folder
previously configured. In most cases no arguments are necessary.
@@ -163,7 +163,7 @@ printing each command on a new line as it runs.
Installing the Compiled Files
-------------------------------
+-----------------------------
Use ``meson install`` to install the required DPDK files onto the system.
The install prefix defaults to ``/usr/local`` but can be used as with other
@@ -205,7 +205,7 @@ and other build tools to be used, as well as characteristics of the target
machine.
Using the DPDK within an Application
--------------------------------------
+------------------------------------
To compile and link against DPDK within an application, pkg-config should
be used to query the correct parameters. Examples of this are given in the
diff --git a/doc/guides/prog_guide/compressdev.rst b/doc/guides/prog_guide/compressdev.rst
index 2a59c434c1..a4df01f89f 100644
--- a/doc/guides/prog_guide/compressdev.rst
+++ b/doc/guides/prog_guide/compressdev.rst
@@ -291,7 +291,7 @@ enough to store digest, which is 20 bytes for SHA-1 and
32 bytes for SHA2-256.
Compression API Stateless operation
-------------------------------------
+-----------------------------------
An op is processed stateless if it has
- op_type set to RTE_COMP_OP_STATELESS
@@ -305,7 +305,7 @@ complete. The application can enqueue multiple stateless ops in a single burst
and must attach priv_xform handle to such ops.
priv_xform in Stateless operation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A priv_xform is private data managed internally by the PMD to do stateless processing.
A priv_xform is initialized by an application providing a generic xform structure
@@ -427,7 +427,7 @@ processed i.e. dequeued with status = RTE_COMP_OP_STATUS_SUCCESS.
.. _compressdev_stateful_op:
Compression API Stateful operation
------------------------------------
+----------------------------------
The compression API provides RTE_COMP_FF_STATEFUL_COMPRESSION and
RTE_COMP_FF_STATEFUL_DECOMPRESSION feature flag for the PMD to reflect
diff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst
index f0ee44eb54..817d39dd62 100644
--- a/doc/guides/prog_guide/cryptodev_lib.rst
+++ b/doc/guides/prog_guide/cryptodev_lib.rst
@@ -158,7 +158,7 @@ packet processing pipeline.
Device Features and Capabilities
----------------------------------
+--------------------------------
Crypto devices define their functionality through two mechanisms, global device
features and algorithm capabilities. Global devices features identify device
diff --git a/doc/guides/prog_guide/devargs.rst b/doc/guides/prog_guide/devargs.rst
index 19e1e9e050..e4076e0e33 100644
--- a/doc/guides/prog_guide/devargs.rst
+++ b/doc/guides/prog_guide/devargs.rst
@@ -217,7 +217,7 @@ See :doc:`device_hotplug` for detailed information on runtime device management.
Parsing Devargs in Drivers
----------------------------
+--------------------------
PMD drivers can parse devargs using the kvargs library:
diff --git a/doc/guides/prog_guide/efd_lib.rst b/doc/guides/prog_guide/efd_lib.rst
index 68404d5f33..7941c83821 100644
--- a/doc/guides/prog_guide/efd_lib.rst
+++ b/doc/guides/prog_guide/efd_lib.rst
@@ -417,7 +417,7 @@ is stored in these two bits.
.. _Efd_references:
References
------------
+----------
1- EFD is based on collaborative research work between Intel and
Carnegie Mellon University (CMU), interested readers can refer to the paper
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index 62e6a793d2..29af5dc9be 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -212,7 +212,7 @@ variables:
Normally, these options do not need to be changed.
Runtime Override of Per-Page-Size Memory Limits
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, DPDK uses compile-time configured limits
for memory allocation per page size (as set by ``RTE_MAX_MEM_MB_PER_TYPE``).
diff --git a/doc/guides/prog_guide/ethdev/flow_offload.rst b/doc/guides/prog_guide/ethdev/flow_offload.rst
index 08cbb05bb7..bb2986b67c 100644
--- a/doc/guides/prog_guide/ethdev/flow_offload.rst
+++ b/doc/guides/prog_guide/ethdev/flow_offload.rst
@@ -619,7 +619,7 @@ Matches tag item set by other flows. Multiple tags are supported by specifying
+----------+-----------+---------------------------------------+
Item: ``META``
-^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^
Matches 32 bit metadata item set.
@@ -1314,7 +1314,7 @@ Matches a IP Authentication Header (RFC 4302).
- Default ``mask`` matches spi.
Item: ``HIGIG2``
-^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^
Matches a HIGIG2 header field. It is layer 2.5 protocol and used in
Broadcom switches.
@@ -2464,7 +2464,7 @@ the original packet the resulting packet must be a valid packet.
+----------------+----------------------------------------+
Action: ``RAW_DECAP``
-^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^
Remove outer header whose template is provided in its data buffer,
as defined in the ``rte_flow_action_raw_decap``
@@ -2587,7 +2587,7 @@ This action modifies the payload of matched flow
and the packet should be valid after removing.
Action: ``SET_TP_SRC``
-^^^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^
This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative.
Set a new source port number in the outermost TCP/UDP header.
@@ -2606,7 +2606,7 @@ flow pattern item. Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
+---------------+--------------------+
Action: ``SET_TP_DST``
-^^^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^
This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative.
Set a new destination port number in the outermost TCP/UDP header.
@@ -2625,7 +2625,7 @@ flow pattern item. Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
+---------------+-------------------------+
Action: ``MAC_SWAP``
-^^^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^
Swap the source and destination MAC addresses in the outermost Ethernet
header.
@@ -2779,7 +2779,7 @@ application. Multiple tags are supported by specifying index.
+-----------+----------------------------+
Action: ``SET_META``
-^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^
This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative.
Set metadata. Item ``META`` matches metadata.
diff --git a/doc/guides/prog_guide/ethdev/qos_framework.rst b/doc/guides/prog_guide/ethdev/qos_framework.rst
index 0f61264ccc..03191d6602 100644
--- a/doc/guides/prog_guide/ethdev/qos_framework.rst
+++ b/doc/guides/prog_guide/ethdev/qos_framework.rst
@@ -1567,7 +1567,7 @@ The source files for the DPDK dropper are located at:
* DPDK/lib/sched/rte_red.c
Integration with the DPDK QoS Scheduler
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RED functionality in the DPDK QoS scheduler is disabled by default.
The parameter is found in the build configuration files in the DPDK/config directory.
diff --git a/doc/guides/prog_guide/eventdev/event_ethernet_rx_adapter.rst b/doc/guides/prog_guide/eventdev/event_ethernet_rx_adapter.rst
index c7fb15d10d..3e3b3dd04e 100644
--- a/doc/guides/prog_guide/eventdev/event_ethernet_rx_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_ethernet_rx_adapter.rst
@@ -258,7 +258,7 @@ The ``rte_event_eth_rx_adapter_instance_get()`` function reports
Rx adapter instance ID for a specified ethernet device ID and Rx queue index.
Interrupt Based Rx Queues
-~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~
The service core function is typically set up to poll ethernet Rx queues for
packets. Certain queues may have low packet rates and it would be more
diff --git a/doc/guides/prog_guide/eventdev/event_ethernet_tx_adapter.rst b/doc/guides/prog_guide/eventdev/event_ethernet_tx_adapter.rst
index 79727c0e8a..e6a2bf937d 100644
--- a/doc/guides/prog_guide/eventdev/event_ethernet_tx_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_ethernet_tx_adapter.rst
@@ -134,7 +134,7 @@ This function calls the start callback of the eventdev PMD if supported,
and the ``rte_service_run_state_set()`` to enable the service function if one exists.
Enqueuing Packets to the Adapter
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The application needs to notify the adapter about the transmit port and queue used
to send the packet. The transmit port is set in the ``struct rte_mbuf::port`` field
diff --git a/doc/guides/prog_guide/hash_lib.rst b/doc/guides/prog_guide/hash_lib.rst
index fdbb99fd5e..0c2276c88b 100644
--- a/doc/guides/prog_guide/hash_lib.rst
+++ b/doc/guides/prog_guide/hash_lib.rst
@@ -73,7 +73,7 @@ multi-process mode).
Multi-thread support
----------------------
+--------------------
The hash library supports multithreading, and the user specifies the needed mode of operation at the creation time of the hash table
by appropriately setting the flag. In all modes of operation lookups are thread-safe meaning lookups can be called from multiple
@@ -106,7 +106,7 @@ For concurrent writes, and concurrent reads and writes the following flag values
Extendable Bucket Functionality support
-----------------------------------------
+---------------------------------------
An extra flag is used to enable this functionality (flag is not set by default). When the (RTE_HASH_EXTRA_FLAGS_EXT_TABLE) is set and
in the very unlikely case due to excessive hash collisions that a key has failed to be inserted, the hash table bucket is extended with a linked
list to insert these failed keys. This feature is important for the workloads (e.g. telco workloads) that need to insert up to 100% of the
@@ -178,7 +178,7 @@ readers are not referencing the position anymore. User can configure integrated
Implementation Details (with Extendable Bucket)
--------------------------------------------------
+-----------------------------------------------
When the RTE_HASH_EXTRA_FLAGS_EXT_TABLE flag is set, the hash table implementation still uses the same Cuckoo Hash algorithm to store the keys into
the first and second tables. However, in the very unlikely event that a key can't be inserted after certain number of the Cuckoo displacements is
reached, the secondary bucket of this key is extended
diff --git a/doc/guides/prog_guide/index.rst b/doc/guides/prog_guide/index.rst
index e6f24945b0..b9c0d59728 100644
--- a/doc/guides/prog_guide/index.rst
+++ b/doc/guides/prog_guide/index.rst
@@ -136,7 +136,7 @@ Utility Libraries
Howto Guides
--------------
+------------
.. toctree::
:maxdepth: 1
diff --git a/doc/guides/prog_guide/ipsec_lib.rst b/doc/guides/prog_guide/ipsec_lib.rst
index 458a82828c..56aa88ef23 100644
--- a/doc/guides/prog_guide/ipsec_lib.rst
+++ b/doc/guides/prog_guide/ipsec_lib.rst
@@ -152,7 +152,7 @@ To accommodate future custom implementations function pointers
model is used for both *crypto_prepare* and *process* implementations.
SA database API
-----------------
+---------------
SA database(SAD) is a table with <key, value> pairs.
@@ -322,7 +322,7 @@ Supported features
Telemetry support
-------------------
+-----------------
Telemetry support implements SA details and IPsec packet add data counters
statistics. Per SA telemetry statistics can be enabled using
diff --git a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
index 4c1d69175e..e7edf5b7d1 100644
--- a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
+++ b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
@@ -210,7 +210,7 @@ All settings are managed through the bonding port API and always are propagated
in one direction (from bonding to members).
Link Status Change Interrupts / Polling
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Link bonding devices support the registration of a link status change callback,
using the ``rte_eth_dev_callback_register`` API, this will be called when the
diff --git a/doc/guides/prog_guide/member_lib.rst b/doc/guides/prog_guide/member_lib.rst
index d2f76de35c..61700a51ad 100644
--- a/doc/guides/prog_guide/member_lib.rst
+++ b/doc/guides/prog_guide/member_lib.rst
@@ -379,7 +379,7 @@ implementation of vBF does not support deletion [1]_. An error code ``-EINVAL``
.. [1] Traditional bloom filter does not support proactive deletion. Supporting proactive deletion require additional implementation and performance overhead.
References
------------
+----------
[Member-bloom] B H Bloom, "Space/Time Trade-offs in Hash Coding with Allowable Errors," Communications of the ACM, 1970.
diff --git a/doc/guides/prog_guide/mempool_lib.rst b/doc/guides/prog_guide/mempool_lib.rst
index 8b4793afff..09c70af811 100644
--- a/doc/guides/prog_guide/mempool_lib.rst
+++ b/doc/guides/prog_guide/mempool_lib.rst
@@ -117,7 +117,7 @@ In contrast to the default caches, user-owned caches can be used by unregistered
.. _Mempool_Handlers:
Mempool Handlers
-------------------------
+----------------
This allows external memory subsystems, such as external hardware memory
management systems and software based memory allocators, to be used with DPDK.
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index 8f9d42f959..edc5524e87 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -324,7 +324,7 @@ pointer. The resulting response will then be delivered to the correct requestor.
to do so will cause the requestor to time out while waiting on a response.
Misc considerations
-~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~
Due to the underlying IPC implementation being single-threaded, recursive
requests (i.e. sending a request while responding to another request) is not
diff --git a/doc/guides/prog_guide/packet_classif_access_ctrl.rst b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
index 13337dd27f..ea446ed2ab 100644
--- a/doc/guides/prog_guide/packet_classif_access_ctrl.rst
+++ b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
@@ -360,7 +360,7 @@ For example:
}
Custom Memory Hooks
-~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~
The ACL library supports custom memory allocation for runtime structures.
diff --git a/doc/guides/prog_guide/regexdev.rst b/doc/guides/prog_guide/regexdev.rst
index 3bf3b154b4..80c34f1714 100644
--- a/doc/guides/prog_guide/regexdev.rst
+++ b/doc/guides/prog_guide/regexdev.rst
@@ -147,7 +147,7 @@ require global locks and hinder performance.
Device Features and Capabilities
----------------------------------
+--------------------------------
RegEx devices may support different feature set.
In order to get the supported PMD feature ``rte_regexdev_info_get``
diff --git a/doc/guides/prog_guide/reorder_lib.rst b/doc/guides/prog_guide/reorder_lib.rst
index 3fb5df5570..d7bf736d42 100644
--- a/doc/guides/prog_guide/reorder_lib.rst
+++ b/doc/guides/prog_guide/reorder_lib.rst
@@ -2,13 +2,13 @@
Copyright(c) 2015 Intel Corporation.
Reorder Library
-=================
+===============
The Reorder Library provides a mechanism for reordering mbufs based on their
sequence number.
Operation
-----------
+---------
The reorder library is essentially a buffer that reorders mbufs.
The user inserts out of order mbufs into the reorder buffer and pulls in-order
@@ -34,7 +34,7 @@ mbufs.
Implementation Details
--------------------------
+----------------------
The reorder library is implemented as a pair of buffers, which referred to as
the *Order* buffer and the *Ready* buffer.
@@ -67,7 +67,7 @@ buffer first and then from the Order buffer until a gap is found (mbufs that
have not arrived yet).
Use Case: Packet Distributor
--------------------------------
+----------------------------
An application using the DPDK packet distributor could make use of the reorder
library to transmit packets in the same order they were received.
diff --git a/doc/guides/prog_guide/rte_security.rst b/doc/guides/prog_guide/rte_security.rst
index 5cfa39a71d..7bd9691080 100644
--- a/doc/guides/prog_guide/rte_security.rst
+++ b/doc/guides/prog_guide/rte_security.rst
@@ -475,7 +475,7 @@ Supported Versions
* DTLS 1.2
Device Features and Capabilities
----------------------------------
+--------------------------------
Device Capabilities For Security Operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/stack_lib.rst b/doc/guides/prog_guide/stack_lib.rst
index 975d3ad796..45e0b29e3a 100644
--- a/doc/guides/prog_guide/stack_lib.rst
+++ b/doc/guides/prog_guide/stack_lib.rst
@@ -40,7 +40,7 @@ spinlock.
.. _Stack_Library_LF_Stack:
Lock-free Stack
-------------------
+---------------
The lock-free stack consists of a linked list of elements, each containing a
data pointer and a next pointer, and an atomic stack depth counter. The
diff --git a/doc/guides/prog_guide/toeplitz_hash_lib.rst b/doc/guides/prog_guide/toeplitz_hash_lib.rst
index 61eaafd169..5ebe958f2f 100644
--- a/doc/guides/prog_guide/toeplitz_hash_lib.rst
+++ b/doc/guides/prog_guide/toeplitz_hash_lib.rst
@@ -186,7 +186,7 @@ same as in ``desired_hash``.
Adjust tuple API
-~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~
The ``rte_thash_get_complement()`` function is a user-friendly wrapper around
a number of other functions. It alters a passed tuple to meet the above
diff --git a/doc/guides/rawdevs/ifpga.rst b/doc/guides/rawdevs/ifpga.rst
index c0901ddeae..f26f447999 100644
--- a/doc/guides/rawdevs/ifpga.rst
+++ b/doc/guides/rawdevs/ifpga.rst
@@ -2,7 +2,7 @@
Copyright(c) 2018-2022 Intel Corporation.
IFPGA Rawdev Driver
-======================
+===================
FPGA is used more and more widely in Cloud and NFV, one primary reason is
that FPGA not only provides ASIC performance but also it's more flexible
@@ -203,7 +203,7 @@ Each AFU device has specific configuration data, they are defined in ``rte_pmd_a
Open FPGA Stack
-=====================
+===============
Open FPGA Stack (OFS) is a collection of RTL and open source software providing
interfaces to access the instantiated RTL easily in an FPGA. OFS leverages the
diff --git a/doc/guides/regexdevs/cn9k.rst b/doc/guides/regexdevs/cn9k.rst
index c23c295b93..0c58c095f4 100644
--- a/doc/guides/regexdevs/cn9k.rst
+++ b/doc/guides/regexdevs/cn9k.rst
@@ -2,7 +2,7 @@
Copyright(c) 2020 Marvell International Ltd.
CN9K REE Regexdev Driver
-==============================
+========================
The CN9K REE PMD (**librte_regex_cn9k**) provides poll mode
regexdev driver support for the inbuilt regex device found in the **Marvell CN9K**
diff --git a/doc/guides/sample_app_ug/dma.rst b/doc/guides/sample_app_ug/dma.rst
index 9605996c6c..7d177fd44d 100644
--- a/doc/guides/sample_app_ug/dma.rst
+++ b/doc/guides/sample_app_ug/dma.rst
@@ -304,7 +304,7 @@ if it was enabled. After that, copies are sent in burst mode using ``rte_eth_tx_
:dedent: 0
The Packet Copying Functions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to perform SW packet copy, there are user-defined functions to the first copy
the packet metadata (``pktmbuf_metadata_copy()``) and then the packet data
diff --git a/doc/guides/sample_app_ug/flow_filtering.rst b/doc/guides/sample_app_ug/flow_filtering.rst
index 179e978942..b3a23c0c33 100644
--- a/doc/guides/sample_app_ug/flow_filtering.rst
+++ b/doc/guides/sample_app_ug/flow_filtering.rst
@@ -172,7 +172,7 @@ This action closes the port and device using ``rte_eth_dev_stop`` and ``rte_eth_
Flow API Snippets
-------------------
+-----------------
The ``snippets`` directory offers additional customization options through code snippets.
These snippets cover various aspects of flow configuration, allowing developers to reuse them.
diff --git a/doc/guides/sample_app_ug/ip_reassembly.rst b/doc/guides/sample_app_ug/ip_reassembly.rst
index 04b581a489..5a71644e38 100644
--- a/doc/guides/sample_app_ug/ip_reassembly.rst
+++ b/doc/guides/sample_app_ug/ip_reassembly.rst
@@ -156,7 +156,7 @@ each Rx queue uses its own mempool.
:dedent: 1
Packet Reassembly and Forwarding
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For each input packet, the packet forwarding operation is done by the l3fwd_simple_forward() function.
If the packet is an IPv4 or IPv6 fragment, then it calls ``rte_ipv4_reassemble_packet()`` for IPv4 packets,
diff --git a/doc/guides/sample_app_ug/packet_ordering.rst b/doc/guides/sample_app_ug/packet_ordering.rst
index f96c0ad697..8b6f6be940 100644
--- a/doc/guides/sample_app_ug/packet_ordering.rst
+++ b/doc/guides/sample_app_ug/packet_ordering.rst
@@ -2,7 +2,7 @@
Copyright(c) 2015 Intel Corporation.
Packet Ordering Application
-============================
+===========================
The Packet Ordering sample app simply shows the impact of reordering a stream.
It's meant to stress the library with different configurations for performance.
diff --git a/doc/guides/sample_app_ug/ptp_tap_relay_sw.rst b/doc/guides/sample_app_ug/ptp_tap_relay_sw.rst
index 466879cd46..e4c0aa04ed 100644
--- a/doc/guides/sample_app_ug/ptp_tap_relay_sw.rst
+++ b/doc/guides/sample_app_ug/ptp_tap_relay_sw.rst
@@ -96,7 +96,7 @@ Prerequisites
* A PTP time transmitter reachable on the same L2 network.
Start the relay
-~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~
.. code-block:: console
diff --git a/doc/guides/sample_app_ug/vhost_blk.rst b/doc/guides/sample_app_ug/vhost_blk.rst
index 788eef0d5f..f33b3b6eaf 100644
--- a/doc/guides/sample_app_ug/vhost_blk.rst
+++ b/doc/guides/sample_app_ug/vhost_blk.rst
@@ -2,7 +2,7 @@
Copyright(c) 2010-2017 Intel Corporation.
Vhost_blk Sample Application
-=============================
+============================
The vhost_blk sample application implemented a simple block device,
which used as the backend of Qemu vhost-user-blk device. Users can extend
@@ -32,7 +32,7 @@ The application is located in the ``examples`` sub-directory.
You will also need to build DPDK both on the host and inside the guest
Start the vhost_blk example
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: console
diff --git a/doc/guides/sample_app_ug/vmdq_forwarding.rst b/doc/guides/sample_app_ug/vmdq_forwarding.rst
index c998a5a223..30a3ad42ce 100644
--- a/doc/guides/sample_app_ug/vmdq_forwarding.rst
+++ b/doc/guides/sample_app_ug/vmdq_forwarding.rst
@@ -2,7 +2,7 @@
Copyright(c) 2020 Intel Corporation.
VMDq Forwarding Sample Application
-==========================================
+==================================
The VMDq Forwarding sample application is a simple example of packet processing using the DPDK.
The application performs L2 forwarding using VMDq to divide the incoming traffic into queues.
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 364d348372..cbaa616a52 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1866,7 +1866,7 @@ To have a different decapsulation header, one of those commands must be called
before the flow rule creation.
Config Raw Encapsulation
-~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~
Configure the raw data to be used when encapsulating a packet by
rte_flow_action_raw_encap::
@@ -2158,7 +2158,7 @@ Switch on/off deferred start of a specific port queue::
testpmd> port (port_id) (rxq|txq) (queue_id) deferred_start (on|off)
port setup queue
-~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~
Setup a rx/tx queue on a specific port::
@@ -2952,7 +2952,7 @@ Suspend port traffic management hierarchy node
testpmd> suspend port tm node (port_id) (node_id)
Resume port traffic management hierarchy node
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
testpmd> resume port tm node (port_id) (node_id)
@@ -4961,7 +4961,7 @@ Query indirect action having id 100::
testpmd> flow indirect_action 0 query 100
Enqueueing query of indirect actions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``flow queue indirect_action query`` adds query operation for an indirect
action to a queue. It is bound to ``rte_flow_async_action_handle_query()``::
@@ -5359,7 +5359,7 @@ ESP rules can be created by the following commands::
actions queue index 3 / end
Sample AH rules
-~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~
AH rules can be created by the following commands::
@@ -5567,7 +5567,7 @@ Match with comparison rule can be created as following using ``compare``.
actions count / drop / end
BPF Functions
---------------
+-------------
The following sections show functions to load/unload eBPF based filters.
diff --git a/doc/guides/tools/testbbdev.rst b/doc/guides/tools/testbbdev.rst
index 8677cd2c43..58de4a2fbe 100644
--- a/doc/guides/tools/testbbdev.rst
+++ b/doc/guides/tools/testbbdev.rst
@@ -571,7 +571,7 @@ Following statuses can be used:
OK
LDPC decoder test vectors template
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For LDPC decoder it has to be always set to ``RTE_BBDEV_OP_LDPC_DEC``
@@ -695,7 +695,7 @@ Following statuses can be used:
LDPC encoder test vectors template
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For turbo encoder it has to be always set to ``RTE_BBDEV_OP_LDPC_ENC``
diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst
index cd367eb2a2..f4687ecf6b 100644
--- a/doc/guides/tools/testeventdev.rst
+++ b/doc/guides/tools/testeventdev.rst
@@ -691,7 +691,7 @@ Example command to run perf queue test with event DMA adapter:
--prod_type_dmadev --dma_adptr_mode=1
PERF_ATQ Test
-~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~
This is a performance test case that aims at testing the following with
``all types queue`` eventdev scheme.
@@ -922,7 +922,7 @@ Example command to run pipeline atq test with vector events:
--enable_vector --vector_size 512
PIPELINE_ATQ Test
-~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~
This is a pipeline test case that aims at testing the following with
``all types queue`` eventdev scheme.
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 2/8] doc: remove unused labels from guides
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 1/8] doc: adjust heading underline lengths Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 3/8] doc: replace vague references with precise links Thomas Monjalon
` (7 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: David Marchand, Nicolas Chautru, Pablo de Lara, Zongyu Wu, Kai Ji,
Ankur Dwivedi, Anoob Joseph, Tejasree Kondoj, Pavan Nikhilesh,
Shijith Thotton, Ashwin Sekhar T K, Srikanth Yalavarthi,
Julien Aube, Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori,
Satha Rao, Harman Kalra, John Daley, Hyong Youb Kim,
Bruce Richardson, Anatoly Burakov, Liron Himi,
Devendra Singh Rawat, Alok Prasad, Wenbo Cao, Maxime Coquelin,
Chenbo Xia, Jochen Behrens, Chengwen Feng, Kevin Laatz,
Yipeng Wang, Ori Kam, Cristian Dumitrescu, Abhinandan Gujjar,
Amit Prakash Shukla, Jerin Jacob, Zhirun Yan, Sameh Gobriel,
Vladimir Medvedkin, Andrew Rybchenko, Morten Brørup,
Volodymyr Fialko, Reshma Pattan, Stephen Hemminger,
Konstantin Ananyev, Wathsala Vithanage, Sivaprasad Tummala,
Luca Vizzarro, Patrick Robb, Rakesh Kudurumalla, Dmitry Kozlyuk
From: David Marchand <david.marchand@redhat.com>
The documentation has unused anchors that were either left behind after
a documentation refactoring, or just unused since day 1.
The guidelines no longer mandate labels for all figures and tables.
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/bbdevs/overview.rst | 2 -
doc/guides/bbdevs/turbo_sw.rst | 2 -
doc/guides/compressdevs/isal.rst | 2 -
doc/guides/compressdevs/overview.rst | 2 -
doc/guides/compressdevs/uadk.rst | 2 -
doc/guides/contributing/abi_policy.rst | 4 -
doc/guides/contributing/cheatsheet.rst | 2 -
doc/guides/contributing/documentation.rst | 30 +--
doc/guides/contributing/patches.rst | 2 -
doc/guides/cryptodevs/aesni_gcm.rst | 2 -
doc/guides/cryptodevs/aesni_mb.rst | 2 -
doc/guides/cryptodevs/cnxk.rst | 2 -
doc/guides/cryptodevs/overview.rst | 12 --
doc/guides/cryptodevs/qat.rst | 5 -
doc/guides/cryptodevs/snow3g.rst | 2 -
doc/guides/cryptodevs/uadk.rst | 2 -
doc/guides/cryptodevs/zuc.rst | 2 -
doc/guides/eventdevs/cnxk.rst | 2 -
doc/guides/eventdevs/overview.rst | 14 --
doc/guides/howto/flow_bifurcation.rst | 2 -
doc/guides/howto/lm_bond_virtio_sriov.rst | 2 -
doc/guides/howto/lm_virtio_vhost_user.rst | 2 -
doc/guides/howto/pvp_reference_benchmark.rst | 2 -
doc/guides/howto/vfd.rst | 2 -
.../howto/virtio_user_as_exception_path.rst | 2 -
.../virtio_user_for_container_networking.rst | 2 -
doc/guides/linux_gsg/build_dpdk.rst | 2 -
doc/guides/mempool/cnxk.rst | 2 -
doc/guides/mldevs/cnxk.rst | 6 -
doc/guides/nics/bnx2x.rst | 2 -
doc/guides/nics/cnxk.rst | 2 -
doc/guides/nics/enic.rst | 6 -
doc/guides/nics/ice.rst | 2 -
doc/guides/nics/mvpp2.rst | 2 -
doc/guides/nics/overview.rst | 2 -
doc/guides/nics/qede.rst | 4 -
doc/guides/nics/rnp.rst | 2 -
doc/guides/nics/virtio.rst | 2 -
doc/guides/nics/vmxnet3.rst | 6 -
doc/guides/platform/cnxk.rst | 2 -
doc/guides/platform/dpaa2.rst | 2 -
doc/guides/prog_guide/dmadev.rst | 2 -
doc/guides/prog_guide/efd_lib.rst | 5 -
.../prog_guide/env_abstraction_layer.rst | 4 -
doc/guides/prog_guide/ethdev/flow_offload.rst | 190 ------------------
.../prog_guide/ethdev/qos_framework.rst | 21 --
.../eventdev/event_crypto_adapter.rst | 4 -
.../prog_guide/eventdev/event_dma_adapter.rst | 4 -
doc/guides/prog_guide/eventdev/eventdev.rst | 2 -
doc/guides/prog_guide/graph_lib.rst | 6 -
doc/guides/prog_guide/hash_lib.rst | 4 -
doc/guides/prog_guide/member_lib.rst | 8 -
doc/guides/prog_guide/mempool_lib.rst | 3 -
doc/guides/prog_guide/mldev.rst | 2 -
doc/guides/prog_guide/multi_proc_support.rst | 2 -
doc/guides/prog_guide/overview.rst | 2 -
doc/guides/prog_guide/packet_framework.rst | 11 -
doc/guides/prog_guide/pdcp_lib.rst | 2 -
doc/guides/prog_guide/pdump_lib.rst | 2 -
doc/guides/prog_guide/ring_lib.rst | 43 ----
doc/guides/prog_guide/trace_lib.rst | 8 -
doc/guides/regexdevs/cn9k.rst | 2 -
doc/guides/regexdevs/features_overview.rst | 2 -
doc/guides/rel_notes/release_20_02.rst | 2 -
doc/guides/sample_app_ug/dist_app.rst | 2 -
doc/guides/sample_app_ug/ip_pipeline.rst | 4 -
.../sample_app_ug/l2_forward_crypto.rst | 2 -
doc/guides/sample_app_ug/l2_forward_event.rst | 10 -
.../sample_app_ug/l2_forward_real_virtual.rst | 2 -
doc/guides/sample_app_ug/l3_forward.rst | 4 -
doc/guides/sample_app_ug/l3_forward_graph.rst | 2 -
doc/guides/sample_app_ug/multi_process.rst | 4 -
doc/guides/sample_app_ug/ptpclient.rst | 2 -
doc/guides/sample_app_ug/qos_metering.rst | 2 -
doc/guides/sample_app_ug/qos_scheduler.rst | 4 -
doc/guides/sample_app_ug/test_pipeline.rst | 2 -
doc/guides/sample_app_ug/vdpa.rst | 2 -
doc/guides/sample_app_ug/vhost.rst | 5 -
doc/guides/sample_app_ug/vhost_blk.rst | 2 -
doc/guides/sample_app_ug/vhost_crypto.rst | 2 -
.../sample_app_ug/vm_power_management.rst | 5 -
doc/guides/tools/dts.rst | 4 -
doc/guides/tools/graph.rst | 4 -
doc/guides/tools/pdump.rst | 2 -
doc/guides/tools/testeventdev.rst | 28 ---
doc/guides/tools/testmldev.rst | 12 --
doc/guides/vdpadevs/features_overview.rst | 2 -
doc/guides/windows_gsg/index.rst | 2 -
88 files changed, 2 insertions(+), 590 deletions(-)
diff --git a/doc/guides/bbdevs/overview.rst b/doc/guides/bbdevs/overview.rst
index 8dc35a3c1b..92dc290ca6 100644
--- a/doc/guides/bbdevs/overview.rst
+++ b/doc/guides/bbdevs/overview.rst
@@ -7,6 +7,4 @@ Baseband Device Supported Functionality Matrices
Supported Feature Flags
-----------------------
-.. _table_bbdev_pmd_features:
-
.. include:: overview_feature_table.txt
diff --git a/doc/guides/bbdevs/turbo_sw.rst b/doc/guides/bbdevs/turbo_sw.rst
index 396531669e..9064f1cc52 100644
--- a/doc/guides/bbdevs/turbo_sw.rst
+++ b/doc/guides/bbdevs/turbo_sw.rst
@@ -78,8 +78,6 @@ To get the FlexRAN FEC SDK user manual, extract this `doxygen
The following table maps DPDK versions with past FlexRAN SDK releases:
-.. _table_flexran_releases:
-
.. table:: DPDK and FlexRAN FEC SDK releases compliance
===================== ============================
diff --git a/doc/guides/compressdevs/isal.rst b/doc/guides/compressdevs/isal.rst
index 029f8e23d2..1692897eb6 100644
--- a/doc/guides/compressdevs/isal.rst
+++ b/doc/guides/compressdevs/isal.rst
@@ -65,8 +65,6 @@ The ISA-L library does not support this, therefore compressdev level 0 is not su
The compressdev API has 10 levels, 0-9. ISA-L has 4 levels of compression, 0-3.
As a result the level mappings from the API to the PMD are shown below.
-.. _table_ISA-L_compression_levels:
-
.. table:: Level mapping from Compressdev to ISA-L PMD.
+-------------+----------------------------------------------+-----------------------------------------------+
diff --git a/doc/guides/compressdevs/overview.rst b/doc/guides/compressdevs/overview.rst
index 809e4e6e76..6f2acd25bc 100644
--- a/doc/guides/compressdevs/overview.rst
+++ b/doc/guides/compressdevs/overview.rst
@@ -7,8 +7,6 @@ Compression Device Supported Functionality Matrices
Supported Feature Flags
-----------------------
-.. _table_compression_pmd_features:
-
.. include:: overview_feature_table.txt
.. Note::
diff --git a/doc/guides/compressdevs/uadk.rst b/doc/guides/compressdevs/uadk.rst
index b7207478dc..27245da892 100644
--- a/doc/guides/compressdevs/uadk.rst
+++ b/doc/guides/compressdevs/uadk.rst
@@ -100,8 +100,6 @@ Test steps
As a reference, the following table shows a mapping between the past DPDK versions
and the UADK library version supported by them:
-.. _table_uadk_compress_pmd_versions:
-
.. table:: DPDK and external UADK library version compatibility
============== ============================
diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
index 9e9994c362..1b871dc05d 100644
--- a/doc/guides/contributing/abi_policy.rst
+++ b/doc/guides/contributing/abi_policy.rst
@@ -53,8 +53,6 @@ Therefore, in the case of dynamic linking, it is critical that an ABI is
preserved, or (when modified), done in such a way that the application is unable
to behave improperly or in an unexpected fashion.
-.. _figure_what_is_an_abi:
-
.. figure:: img/what_is_an_abi.*
Illustration of DPDK API and ABI.
@@ -104,8 +102,6 @@ An ABI version is supported in all new releases until the next major ABI version
is declared. When changing the major ABI version, the release notes will detail
all ABI changes.
-.. _figure_abi_stability_policy:
-
.. figure:: img/abi_stability_policy.*
Mapping of new ABI versions and ABI version compatibility to DPDK
diff --git a/doc/guides/contributing/cheatsheet.rst b/doc/guides/contributing/cheatsheet.rst
index 0debd118d7..a37628b4d7 100644
--- a/doc/guides/contributing/cheatsheet.rst
+++ b/doc/guides/contributing/cheatsheet.rst
@@ -4,8 +4,6 @@
Patch Cheatsheet
================
-.. _figure_patch_cheatsheet:
-
.. figure:: img/patch_cheatsheet.*
Cheat sheet for submitting patches to dev@dpdk.org
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index df1a31da17..b8ef8131b5 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -133,8 +133,6 @@ added to by the developer.
Building the Documentation
--------------------------
-.. _doc_dependencies:
-
Dependencies
~~~~~~~~~~~~
@@ -524,6 +522,7 @@ Images
This would be rendered as: *A mempool in memory with its associated ring.*
+
Tables
~~~~~~
@@ -531,32 +530,7 @@ Tables
They are hard to format and to edit, and the same information
can usually be shown just as clearly with a definition or bullet list.
-* Tables in the documentation should be formatted as follows:
-
- * The table should be preceded by a label in the format ``.. _table_XXXX:`` with a leading underscore and where
- ``XXXX`` is a unique descriptive name.
-
- * Tables should be included using the ``.. table::`` directive and must have a caption.
-
-* Here is an example of the previous two guidelines::
-
- .. _table_qos_pipes:
-
- .. table:: Sample configuration for QOS pipes.
-
- +----------+----------+----------+
- | Header 1 | Header 2 | Header 3 |
- | | | |
- +==========+==========+==========+
- | Text | Text | Text |
- +----------+----------+----------+
- | ... | ... | ... |
- +----------+----------+----------+
-
-* Tables can be linked to using the ``:numref:`` and ``:ref:`` directives, as shown in the previous section for images.
- For example::
-
- The QOS configuration is shown in :numref:`table_qos_pipes`.
+* Tables should be included using the ``.. table::`` directive and must have a caption.
.. _links:
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 7a6c3961ba..682f4fda28 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -452,8 +452,6 @@ For example::
since 802.1AS can be supported through the same interfaces.
-.. _contrib_checkpatch:
-
Checking the Patches
--------------------
diff --git a/doc/guides/cryptodevs/aesni_gcm.rst b/doc/guides/cryptodevs/aesni_gcm.rst
index e18276b6c8..4683e9dd86 100644
--- a/doc/guides/cryptodevs/aesni_gcm.rst
+++ b/doc/guides/cryptodevs/aesni_gcm.rst
@@ -70,8 +70,6 @@ Once it is downloaded, extract it and follow these steps:
As a reference, the following table shows a mapping between the past DPDK versions
and the external crypto libraries supported by them:
-.. _table_aesni_gcm_versions:
-
.. table:: DPDK and external crypto library version compatibility
============= ================================
diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst
index c3e3b29af4..ab7a6138a8 100644
--- a/doc/guides/cryptodevs/aesni_mb.rst
+++ b/doc/guides/cryptodevs/aesni_mb.rst
@@ -125,8 +125,6 @@ Once it is downloaded, extract it and follow these steps:
As a reference, the following table shows a mapping between the past DPDK versions
and the Multi-Buffer library version supported by them:
-.. _table_aesni_mb_versions:
-
.. table:: DPDK and Multi-Buffer library version compatibility
============== ============================
diff --git a/doc/guides/cryptodevs/cnxk.rst b/doc/guides/cryptodevs/cnxk.rst
index e6184956a2..42564872a6 100644
--- a/doc/guides/cryptodevs/cnxk.rst
+++ b/doc/guides/cryptodevs/cnxk.rst
@@ -214,8 +214,6 @@ Runtime Config Options
Debugging Options
-----------------
-.. _table_octeon_cnxk_crypto_debug_options:
-
.. table:: OCTEON cnxk crypto PMD debug options
+---+------------+-------------------------------------------------------+
diff --git a/doc/guides/cryptodevs/overview.rst b/doc/guides/cryptodevs/overview.rst
index 4f963ed24e..62632bdfd7 100644
--- a/doc/guides/cryptodevs/overview.rst
+++ b/doc/guides/cryptodevs/overview.rst
@@ -7,8 +7,6 @@ Crypto Device Supported Functionality Matrices
Supported Feature Flags
-----------------------
-.. _table_crypto_pmd_features:
-
.. include:: overview_feature_table.txt
.. Note::
@@ -56,34 +54,24 @@ Supported Feature Flags
Supported Cipher Algorithms
---------------------------
-.. _table_crypto_pmd_cipher_algos:
-
.. include:: overview_cipher_table.txt
Supported Authentication Algorithms
-----------------------------------
-.. _table_crypto_pmd_auth_algos:
-
.. include:: overview_auth_table.txt
Supported AEAD Algorithms
-------------------------
-.. _table_crypto_pmd_aead_algos:
-
.. include:: overview_aead_table.txt
Supported Asymmetric Algorithms
-------------------------------
-.. _table_crypto_pmd_asym_algos:
-
.. include:: overview_asym_table.txt
Supported Operating Systems
---------------------------
-.. _table_crypto_pmd_os:
-
.. include:: overview_os_table.txt
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index 7a056ce902..e72bdc4736 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -227,8 +227,6 @@ Configuring and Building the DPDK QAT PMDs
Further information on configuring, building and installing DPDK is described
:doc:`here <../linux_gsg/build_dpdk>`.
-.. _building_qat_config:
-
Build Configuration
~~~~~~~~~~~~~~~~~~~
@@ -444,9 +442,6 @@ Available kernel drivers
Kernel drivers for each device for each service are listed in the following table. (Scroll right
to see the full table)
-
-.. _table_qat_pmds_drivers:
-
.. table:: QAT device generations, devices and drivers
+-----+-----+-----+-----+----------+---------------+---------------+------------+--------+------+--------+--------+
diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3g.rst
index a11dda1744..e1db5d39ad 100644
--- a/doc/guides/cryptodevs/snow3g.rst
+++ b/doc/guides/cryptodevs/snow3g.rst
@@ -75,8 +75,6 @@ Once it is downloaded, extract it and follow these steps:
As a reference, the following table shows a mapping between the past DPDK versions
and the external crypto libraries supported by them:
-.. _table_snow3g_versions:
-
.. table:: DPDK and external crypto library version compatibility
============= ================================
diff --git a/doc/guides/cryptodevs/uadk.rst b/doc/guides/cryptodevs/uadk.rst
index e017ce34ba..ae55e8ba64 100644
--- a/doc/guides/cryptodevs/uadk.rst
+++ b/doc/guides/cryptodevs/uadk.rst
@@ -114,8 +114,6 @@ Test steps
As a reference, the following table shows a mapping between the past DPDK versions
and the UADK library version supported by them:
-.. _table_uadk_crypto_pmd_versions:
-
.. table:: DPDK and external UADK library version compatibility
============== ============================
diff --git a/doc/guides/cryptodevs/zuc.rst b/doc/guides/cryptodevs/zuc.rst
index 61512d9d90..91b7267362 100644
--- a/doc/guides/cryptodevs/zuc.rst
+++ b/doc/guides/cryptodevs/zuc.rst
@@ -74,8 +74,6 @@ Once it is downloaded, extract it and follow these steps:
As a reference, the following table shows a mapping between the past DPDK versions
and the external crypto libraries supported by them:
-.. _table_zuc_versions:
-
.. table:: DPDK and external crypto library version compatibility
============= ================================
diff --git a/doc/guides/eventdevs/cnxk.rst b/doc/guides/eventdevs/cnxk.rst
index 0bfa3d6f0a..163acbf609 100644
--- a/doc/guides/eventdevs/cnxk.rst
+++ b/doc/guides/eventdevs/cnxk.rst
@@ -202,8 +202,6 @@ This feature can be selected by configuring meson with ``RTE_ARM_USE_WFE`` enabl
Debugging Options
-----------------
-.. _table_octeon_cnxk_event_debug_options:
-
.. table:: OCTEON cnxk event device debug options
+---+------------+-------------------------------------------------------+
diff --git a/doc/guides/eventdevs/overview.rst b/doc/guides/eventdevs/overview.rst
index decae3bd4e..94c03013db 100644
--- a/doc/guides/eventdevs/overview.rst
+++ b/doc/guides/eventdevs/overview.rst
@@ -7,49 +7,35 @@ Event Device Supported Functionality Matrices
Event device supported features
-------------------------------
-.. _table_eventdev_pmd_features:
-
.. include:: overview_feature_table.txt
Ethernet Rx adapter supported features
--------------------------------------
-.. _table_eventdev_rx_adapter_features:
-
.. include:: overview_rx_adptr_feature_table.txt
Ethernet Tx adapter supported features
--------------------------------------
-.. _table_eventdev_tx_adapter_features:
-
.. include:: overview_tx_adptr_feature_table.txt
Crypto device adapter supported features
----------------------------------------
-.. _table_cryptodev_adapter_features:
-
.. include:: overview_crypto_adptr_feature_table.txt
DMA adapter supported features
------------------------------
-.. _table_dma_adapter_features:
-
.. include:: overview_dma_adptr_feature_table.txt
Timer adapter supported features
--------------------------------
-.. _table_timer_adapter_features:
-
.. include:: overview_timer_adptr_feature_table.txt
Event vector adapter supported features
---------------------------------------
-.. _table_vector_adapter_features:
-
.. include:: overview_vector_adptr_feature_table.txt
diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst
index 5d2127bc31..69885e6eb6 100644
--- a/doc/guides/howto/flow_bifurcation.rst
+++ b/doc/guides/howto/flow_bifurcation.rst
@@ -36,8 +36,6 @@ the kernel driver while a DPDK application can receive specific traffic
bypassing the Linux kernel by using drivers like VFIO or the DPDK ``igb_uio``
module.
-.. _figure_flow_bifurcation_overview:
-
.. figure:: img/flow_bifurcation_overview.*
Flow Bifurcation Overview
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 1d46ebb27f..c98cbc9023 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -40,8 +40,6 @@ The ip address of host_server_1 is 10.237.212.46
The ip address of host_server_2 is 10.237.212.131
-.. _figure_lm_bond_virtio_sriov:
-
.. figure:: img/lm_bond_virtio_sriov.*
Live Migration steps
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index 94ab71d653..cef6aa87f2 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -32,8 +32,6 @@ The ip address of host_server_1 is 10.237.212.46
The ip address of host_server_2 is 10.237.212.131
-.. _figure_lm_vhost_user:
-
.. figure:: img/lm_vhost_user.*
Live Migration steps
diff --git a/doc/guides/howto/pvp_reference_benchmark.rst b/doc/guides/howto/pvp_reference_benchmark.rst
index bec97b8675..c2de0bbc74 100644
--- a/doc/guides/howto/pvp_reference_benchmark.rst
+++ b/doc/guides/howto/pvp_reference_benchmark.rst
@@ -20,8 +20,6 @@ v16.11 using RHEL7 for both host and guest.
Setup overview
--------------
-.. _figure_pvp_2nics:
-
.. figure:: img/pvp_2nics.*
PVP setup using 2 NICs
diff --git a/doc/guides/howto/vfd.rst b/doc/guides/howto/vfd.rst
index 62bcdfe15a..61fb5d3205 100644
--- a/doc/guides/howto/vfd.rst
+++ b/doc/guides/howto/vfd.rst
@@ -33,8 +33,6 @@ application will configure the feature for the VF. Obviously, the PF
application can also configure the VF features without a request from the VF
application.
-.. _VF_daemon_overview:
-
.. figure:: img/vf_daemon_overview.*
VF daemon (VFd) Overview
diff --git a/doc/guides/howto/virtio_user_as_exception_path.rst b/doc/guides/howto/virtio_user_as_exception_path.rst
index 0d4c8aeb94..bb4b6e6fa2 100644
--- a/doc/guides/howto/virtio_user_as_exception_path.rst
+++ b/doc/guides/howto/virtio_user_as_exception_path.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2016 Intel Corporation.
-.. _virtio_user_as_exception_path:
-
Virtio_user as Exception Path
=============================
diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst b/doc/guides/howto/virtio_user_for_container_networking.rst
index 23f53199da..1798cdf327 100644
--- a/doc/guides/howto/virtio_user_for_container_networking.rst
+++ b/doc/guides/howto/virtio_user_for_container_networking.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2016 Intel Corporation.
-.. _virtio_user_for_container_networking:
-
Virtio_user for Container Networking
====================================
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index ed30e4a5f1..242c07718d 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -82,8 +82,6 @@ and the last step causing the dynamic loader `ld.so` to update its cache to take
distributions, `/usr/local/lib` and `/usr/local/lib64` should be added
to a file in `/etc/ld.so.conf.d/` before running `ldconfig`.
-.. _adjusting_build_options:
-
Adjusting Build Options
~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/mempool/cnxk.rst b/doc/guides/mempool/cnxk.rst
index 323acc3f0e..7b27ef7aab 100644
--- a/doc/guides/mempool/cnxk.rst
+++ b/doc/guides/mempool/cnxk.rst
@@ -84,8 +84,6 @@ Runtime Config Options
Debugging Options
~~~~~~~~~~~~~~~~~
-.. _table_cnxk_mempool_debug_options:
-
.. table:: cnxk mempool debug options
+---+------------+-------------------------------------------------------+
diff --git a/doc/guides/mldevs/cnxk.rst b/doc/guides/mldevs/cnxk.rst
index 17e58d81c0..afd0224fe2 100644
--- a/doc/guides/mldevs/cnxk.rst
+++ b/doc/guides/mldevs/cnxk.rst
@@ -345,8 +345,6 @@ Runtime Config Options
Debugging Options
-----------------
-.. _table_octeon_cnxk_ml_debug_options:
-
.. table:: OCTEON cnxk ML PMD debug options
+---+------------+-------------------------------------------------------+
@@ -363,8 +361,6 @@ Marvell cnxk ML PMD supports reporting the device and model extended statistics.
PMD supports the below list of 4 device extended stats.
-.. _table_octeon_cnxk_ml_device_xstats_names:
-
.. table:: OCTEON cnxk ML PMD device xstats names
+---+---------------------+----------------------------------------------+
@@ -382,8 +378,6 @@ PMD supports the below list of 4 device extended stats.
PMD supports the below list of 6 extended stats types per each model.
-.. _table_octeon_cnxk_ml_model_xstats_names:
-
.. table:: OCTEON cnxk ML PMD model xstats names
+---+---------------------+----------------------------------------------+
diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst
index c24d32b9ab..c39fa7bfb0 100644
--- a/doc/guides/nics/bnx2x.rst
+++ b/doc/guides/nics/bnx2x.rst
@@ -99,8 +99,6 @@ enabling debugging options may affect system performance.
Toggle display of register reads and writes.
-.. _bnx2x_driver-compilation:
-
Driver compilation and testing
------------------------------
diff --git a/doc/guides/nics/cnxk.rst b/doc/guides/nics/cnxk.rst
index ccd5236bff..30b2747787 100644
--- a/doc/guides/nics/cnxk.rst
+++ b/doc/guides/nics/cnxk.rst
@@ -815,8 +815,6 @@ Port representor PMD supports following operations:
Debugging Options
-----------------
-.. _table_cnxk_ethdev_debug_options:
-
.. table:: cnxk ethdev debug options
+---+------------+-------------------------------------------------------+
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index a400bbc4f7..6c468ea3af 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -219,8 +219,6 @@ There are two known limitations of the current SR-IOV implementation.
and assign them to VMs as passthrough devices.
-.. _enic-generic-flow-api:
-
Generic Flow API support
------------------------
@@ -279,8 +277,6 @@ the (stripped) VLAN header whether stripping is enabled or disabled.
More features may be added in future firmware and new versions of the VIC.
Please refer to the release notes.
-.. _overlay_offload:
-
Overlay Offload
---------------
@@ -429,8 +425,6 @@ To verify the selected entry size, enable debug logging
PMD: rte_enic_pmd: Supported CQ entry sizes: 16 32
PMD: rte_enic_pmd: Using 16B CQ entry size
-.. _enic_limitations:
-
Limitations
-----------
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 413478b727..7e23a3cad3 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -892,8 +892,6 @@ Additional Options
-a 18:01.0,cap=dcf,acl=off
-.. _figure_ice_dcf:
-
.. figure:: img/ice_dcf.*
DCF Communication flow.
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 07be97dfb8..3ecb253ae6 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -2,8 +2,6 @@
Copyright(c) 2017 Marvell International Ltd.
Copyright(c) 2017 Semihalf.
-.. _mvpp2_poll_mode_driver:
-
MVPP2 Poll Mode Driver
======================
diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst
index 4553076481..3179629fa6 100644
--- a/doc/guides/nics/overview.rst
+++ b/doc/guides/nics/overview.rst
@@ -26,8 +26,6 @@ More details about features can be found in :doc:`features`.
.. rst-class:: widepage
-.. _table_net_pmd_features:
-
.. include:: overview_table.txt
.. Note::
diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index c99606877b..ddca443f36 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -155,8 +155,6 @@ actions.
Patterns:
-.. _table_qede_supported_flow_item_types:
-
.. table:: Item types
+----+--------------------------------+
@@ -173,8 +171,6 @@ Patterns:
Actions:
-.. _table_qede_supported_ingress_action_types:
-
.. table:: Ingress action types
+----+--------------------------------+
diff --git a/doc/guides/nics/rnp.rst b/doc/guides/nics/rnp.rst
index 706cd04fa7..8729cdd061 100644
--- a/doc/guides/nics/rnp.rst
+++ b/doc/guides/nics/rnp.rst
@@ -32,8 +32,6 @@ Chip Basic Overview
N10 has two functions, each function support multiple ports (1 to 8),
which is different of normal PCIe network card (one PF for each port).
-.. _figure_mucse_nic:
-
.. figure:: img/mucse_nic_port.*
rnp Mucse NIC port.
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index a7642d96ce..e8a6dd02fe 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -93,8 +93,6 @@ The following prerequisites apply:
Virtio with qemu virtio Back End
--------------------------------
-.. _figure_host_vm_comms_qemu:
-
.. figure:: img/host_vm_comms_qemu.*
Host2VM Communication Example Using qemu vhost Back End
diff --git a/doc/guides/nics/vmxnet3.rst b/doc/guides/nics/vmxnet3.rst
index 3f498b905d..743369995a 100644
--- a/doc/guides/nics/vmxnet3.rst
+++ b/doc/guides/nics/vmxnet3.rst
@@ -110,8 +110,6 @@ The following prerequisites apply:
* Before starting a VM, a VMXNET3 interface to a VM through VMware vSphere Client must be assigned.
This is shown in the figure below.
-.. _figure_vmxnet3_int:
-
.. figure:: img/vmxnet3_int.*
Assigning a VMXNET3 interface to a VM using VMware vSphere Client
@@ -135,8 +133,6 @@ VMXNET3 with a Native NIC Connected to a vSwitch
This section describes an example setup for Phy-vSwitch-VM-Phy communication.
-.. _figure_vswitch_vm:
-
.. figure:: img/vswitch_vm.*
VMXNET3 with a Native NIC Connected to a vSwitch
@@ -162,8 +158,6 @@ VMXNET3 Chaining VMs Connected to a vSwitch
The following figure shows an example VM-to-VM communication over a Phy-VM-vSwitch-VM-Phy communication channel.
-.. _figure_vm_vm_comms:
-
.. figure:: img/vm_vm_comms.*
VMXNET3 Chaining VMs Connected to a vSwitch
diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst
index c0e92dabbf..f5248dae54 100644
--- a/doc/guides/platform/cnxk.rst
+++ b/doc/guides/platform/cnxk.rst
@@ -248,8 +248,6 @@ compatible board:
Debugging Options
-----------------
-.. _table_cnxk_common_debug_options:
-
.. table:: cnxk common debug options
+---+------------+-------------------------------------------------------+
diff --git a/doc/guides/platform/dpaa2.rst b/doc/guides/platform/dpaa2.rst
index c9ec21334f..fe627bc0c1 100644
--- a/doc/guides/platform/dpaa2.rst
+++ b/doc/guides/platform/dpaa2.rst
@@ -94,8 +94,6 @@ separately:
SDK and related information can be obtained from: `NXP QorIQ SDK <http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX>`_.
-.. _extra_scripts:
-
- **DPDK Extra Scripts**
DPAA2 based resources can be configured easily with the help of ready scripts
diff --git a/doc/guides/prog_guide/dmadev.rst b/doc/guides/prog_guide/dmadev.rst
index df25b52461..98f88ad8eb 100644
--- a/doc/guides/prog_guide/dmadev.rst
+++ b/doc/guides/prog_guide/dmadev.rst
@@ -17,8 +17,6 @@ physical (hardware) and virtual (software) DMA devices, as well as a generic DMA
API which allows DMA devices to be managed and configured, and supports DMA
operations to be provisioned on DMA poll mode driver.
-.. _figure_dmadev:
-
.. figure:: img/dmadev.*
The above figure shows the model on which the DMA framework is built on:
diff --git a/doc/guides/prog_guide/efd_lib.rst b/doc/guides/prog_guide/efd_lib.rst
index 7941c83821..b6296961db 100644
--- a/doc/guides/prog_guide/efd_lib.rst
+++ b/doc/guides/prog_guide/efd_lib.rst
@@ -155,7 +155,6 @@ In summary, EFD is a set separation data structure that supports millions of
keys. It is used to distribute a given key to an intended target. By itself
EFD is not a FIB data structure with an exact match the input flow key.
-.. _Efd_example:
Example of EFD Library Usage
----------------------------
@@ -199,7 +198,6 @@ the flows served at each node is used and is
exact matched with the input key to rule out new never seen before
flows.
-.. _Efd_api:
Library API Overview
--------------------
@@ -281,7 +279,6 @@ in the prev_value argument.
This function is not multi-thread safe and should only be called
from one thread.
-.. _Efd_internals:
Library Internals
-----------------
@@ -414,8 +411,6 @@ balanced key distribution across these four is selected the mapping result
is stored in these two bits.
-.. _Efd_references:
-
References
----------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index 29af5dc9be..f63325bd24 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -52,8 +52,6 @@ A check is also performed at initialization time to ensure that the micro archit
Then, the main() function is called. The core initialization and launch is done in rte_eal_init() (see the API documentation).
It consist of calls to the pthread library (more specifically, pthread_self(), pthread_create(), and pthread_setaffinity_np()).
-.. _figure_linux_launch:
-
.. figure:: img/linuxapp_launch.*
EAL Initialization in a Linux Application Environment
@@ -1058,8 +1056,6 @@ The key fields of the heap structure and their function are described below
* last - this points to the last element in the heap.
-.. _figure_malloc_heap:
-
.. figure:: img/malloc_heap.*
Example of a malloc heap and malloc elements within the malloc library
diff --git a/doc/guides/prog_guide/ethdev/flow_offload.rst b/doc/guides/prog_guide/ethdev/flow_offload.rst
index bb2986b67c..60b26d868b 100644
--- a/doc/guides/prog_guide/ethdev/flow_offload.rst
+++ b/doc/guides/prog_guide/ethdev/flow_offload.rst
@@ -259,8 +259,6 @@ Usage restrictions and expected behavior:
Example of an item specification matching an Ethernet header:
-.. _table_rte_flow_pattern_item_example:
-
.. table:: Ethernet item
+----------+----------+-----------------------+
@@ -300,8 +298,6 @@ Patterns are terminated by END items.
Examples:
-.. _table_rte_flow_tcpv4_as_l4:
-
.. table:: TCPv4 as L4
+-------+----------+
@@ -318,8 +314,6 @@ Examples:
|
-.. _table_rte_flow_tcpv6_in_vxlan:
-
.. table:: TCPv6 in VXLAN
+-------+------------+
@@ -344,8 +338,6 @@ Examples:
|
-.. _table_rte_flow_tcpv4_as_l4_meta:
-
.. table:: TCPv4 as L4 with meta items
+-------+----------+
@@ -372,8 +364,6 @@ The above example shows how meta items do not affect packet data matching
items, as long as those remain stacked properly. The resulting matching
pattern is identical to "TCPv4 as L4".
-.. _table_rte_flow_udpv6_anywhere:
-
.. table:: UDPv6 anywhere
+-------+------+
@@ -394,8 +384,6 @@ It is unspecified whether the payload of supported encapsulations
(e.g. VXLAN payload) is matched by such a pattern, which may apply to inner,
outer or both packets.
-.. _table_rte_flow_invalid_l3:
-
.. table:: Invalid, missing L3
+-------+----------+
@@ -430,8 +418,6 @@ ending the pattern.
- PMD support is mandatory.
- ``spec``, ``last`` and ``mask`` are ignored.
-.. _table_rte_flow_item_end:
-
.. table:: END
+----------+---------+
@@ -453,8 +439,6 @@ PMDs.
- PMD support is mandatory.
- ``spec``, ``last`` and ``mask`` are ignored.
-.. _table_rte_flow_item_void:
-
.. table:: VOID
+----------+---------+
@@ -470,8 +454,6 @@ PMDs.
One usage example for this type is generating rules that share a common
prefix quickly without reallocating memory, only by updating item types:
-.. _table_rte_flow_item_void_example:
-
.. table:: TCP, UDP or ICMP as L4
+-------+--------------------+
@@ -497,8 +479,6 @@ Inverted matching, i.e. process packets that do not match the pattern.
- ``spec``, ``last`` and ``mask`` are ignored.
-.. _table_rte_flow_item_invert:
-
.. table:: INVERT
+----------+---------+
@@ -513,8 +493,6 @@ Inverted matching, i.e. process packets that do not match the pattern.
Usage example, matching non-TCPv4 packets only:
-.. _table_rte_flow_item_invert_example:
-
.. table:: Anything but TCPv4
+-------+----------+
@@ -546,8 +524,6 @@ underlying PMD and related to the device the flow rule is created against.
- Default ``mask`` matches the specified DPDK port ID.
-.. _table_rte_flow_item_port_id:
-
.. table:: PORT_ID
+----------+----------+-----------------------------+
@@ -576,8 +552,6 @@ the physical device, with virtual groups in the PMD or not at all.
- Default ``mask`` matches any integer value.
-.. _table_rte_flow_item_mark:
-
.. table:: MARK
+----------+----------+---------------------------+
@@ -598,8 +572,6 @@ Matches tag item set by other flows. Multiple tags are supported by specifying
- Default ``mask`` matches the specified tag value and index.
-.. _table_rte_flow_item_tag:
-
.. table:: TAG
+----------+----------+----------------------------------------+
@@ -630,8 +602,6 @@ action sets metadata for a packet and the metadata will be reported via
- Default ``mask`` matches the specified Rx metadata value.
-.. _table_rte_flow_item_meta:
-
.. table:: META
+----------+----------+---------------------------------------+
@@ -662,8 +632,6 @@ protocol anywhere in a packet.
- Default ``mask`` stands for any number of layers.
-.. _table_rte_flow_item_any:
-
.. table:: ANY
+----------+----------+--------------------------------------+
@@ -680,8 +648,6 @@ Example for VXLAN TCP payload matching regardless of outer L3 (IPv4 or IPv6)
and L4 (UDP) both matched by the first ANY specification, and inner L3 (IPv4
or IPv6) matched by the second ANY specification:
-.. _table_rte_flow_item_any_example:
-
.. table:: TCP in VXLAN with wildcards
+-------+------+----------+----------+-------+
@@ -721,8 +687,6 @@ offset for subsequent items.
- This type does not support ranges (``last`` field).
- Default ``mask`` matches all fields exactly.
-.. _table_rte_flow_item_raw:
-
.. table:: RAW
+----------+--------------+-------------------------------------------------+
@@ -750,8 +714,6 @@ offset for subsequent items.
Example pattern looking for several strings at various offsets of a UDP
payload, using combined RAW items:
-.. _table_rte_flow_item_raw_example:
-
.. table:: UDP payload matching
+-------+------+----------+--------------+-------+
@@ -1026,8 +988,6 @@ range of threshold and map to different accuracy levels that device support.
Threshold 0 means perfect match (no fuzziness), while threshold 0xffffffff
means fuzziest match.
-.. _table_rte_flow_item_fuzzy:
-
.. table:: FUZZY
+----------+---------------+--------------------------------------------------+
@@ -1042,8 +1002,6 @@ means fuzziest match.
Usage example, fuzzy match a TCPv4 packets:
-.. _table_rte_flow_item_fuzzy_example:
-
.. table:: Fuzzy matching
+-------+----------+
@@ -1421,8 +1379,6 @@ at the opposite end of the "wire" leading to the ethdev.
- Incompatible with `Attribute: Traffic direction`_.
- Requires `Attribute: Transfer`_.
-.. _table_rte_flow_item_ethdev:
-
.. table:: ``struct rte_flow_item_ethdev``
+----------+-------------+---------------------------+
@@ -1623,8 +1579,6 @@ Like matching patterns, action lists are terminated by END items.
Example of action that redirects packets to queue index 10:
-.. _table_rte_flow_action_example:
-
.. table:: Queue action
+-----------+-------+
@@ -1635,8 +1589,6 @@ Example of action that redirects packets to queue index 10:
Actions are performed in list order:
-.. _table_rte_flow_count_then_drop:
-
.. table:: Count then drop
+-------+--------+
@@ -1651,8 +1603,6 @@ Actions are performed in list order:
|
-.. _table_rte_flow_mark_count_redirect:
-
.. table:: Mark, count then redirect
+-------+--------+------------+-------+
@@ -1669,8 +1619,6 @@ Actions are performed in list order:
|
-.. _table_rte_flow_redirect_queue_5:
-
.. table:: Redirect to queue 5
+-------+--------+-----------+-------+
@@ -1689,8 +1637,6 @@ have to happen before reaching END. Only QUEUE has a visible effect.
Note that such a list may be thought as ambiguous and rejected on that
basis.
-.. _table_rte_flow_redirect_queue_5_3:
-
.. table:: Redirect to queues 5 and 3
+-------+--------+-----------+-------+
@@ -1724,8 +1670,6 @@ ending the list.
- PMD support is mandatory.
- No configurable properties.
-.. _table_rte_flow_action_end:
-
.. table:: END
+---------------+
@@ -1743,8 +1687,6 @@ PMDs.
- PMD support is mandatory.
- No configurable properties.
-.. _table_rte_flow_action_void:
-
.. table:: VOID
+---------------+
@@ -1761,8 +1703,6 @@ a flow rule non-terminating.
- No configurable properties.
-.. _table_rte_flow_action_passthru:
-
.. table:: PASSTHRU
+---------------+
@@ -1774,8 +1714,6 @@ a flow rule non-terminating.
Example to copy a packet to a queue and continue processing by subsequent
flow rules:
-.. _table_rte_flow_action_passthru_example:
-
.. table:: Copy to queue 8
+-------+--------+-----------+-------+
@@ -1810,8 +1748,6 @@ definitions of jump actions, applications should be aware that it may be
possible to define flow rules which trigger an undefined behavior causing
flows to loop between groups.
-.. _table_rte_flow_action_jump:
-
.. table:: JUMP
+-----------+------------------------------+
@@ -1833,8 +1769,6 @@ If a matched flow is redirected to a non-existing template table
or the table which doesn't contain a rule at the specified index,
then the behavior is undefined and the resulting behavior is up to driver.
-.. _table_rte_flow_action_jump_to_table_index:
-
.. table:: JUMP_TO_TABLE_INDEX
+-----------+-------------------------------------------+
@@ -1855,8 +1789,6 @@ This value is arbitrary and application-defined. Maximum allowed value
depends on the underlying implementation. It is returned in the
``hash.fdir.hi`` mbuf field.
-.. _table_rte_flow_action_mark:
-
.. table:: MARK
+--------+--------------------------------------+
@@ -1873,8 +1805,6 @@ sets the ``RTE_MBUF_F_RX_FDIR`` mbuf flag.
- No configurable properties.
-.. _table_rte_flow_action_flag:
-
.. table:: FLAG
+---------------+
@@ -1888,8 +1818,6 @@ Action: ``QUEUE``
Assigns packets to a given queue index.
-.. _table_rte_flow_action_queue:
-
.. table:: QUEUE
+-----------+--------------------+
@@ -1905,8 +1833,6 @@ Drop packets.
- No configurable properties.
-.. _table_rte_flow_action_drop:
-
.. table:: DROP
+---------------+
@@ -1926,8 +1852,6 @@ Skip congestion management on received packets.
Once applied, packets congestion configuration is bypassed
on that particular ethdev Rx queue for all packets directed to that queue.
-.. _table_rte_flow_action_skip_cman:
-
.. table:: SKIP_CMAN
+---------------+
@@ -1951,8 +1875,6 @@ Counters can be retrieved and reset through ``rte_flow_query()``, see
For ports within the same switch domain then the counter id namespace extends
to all ports within that switch domain.
-.. _table_rte_flow_action_count:
-
.. table:: COUNT
+------------+---------------------------------+
@@ -1963,8 +1885,6 @@ to all ports within that switch domain.
Query structure to retrieve and reset flow rule counters:
-.. _table_rte_flow_query_count:
-
.. table:: COUNT query
+---------------+-----+-----------------------------------+
@@ -2032,8 +1952,6 @@ behavior. For predictable results, it is recommended to make the flow rule
pattern match packet headers up to the requested encapsulation level so that
only matching traffic goes through.
-.. _table_rte_flow_action_rss:
-
.. table:: RSS
+---------------+-------------------------------------------------+
@@ -2066,8 +1984,6 @@ Directs matching traffic to the physical function (PF) of the current device.
- No configurable properties.
-.. _table_rte_flow_action_pf:
-
.. table:: PF
+---------------+
@@ -2091,8 +2007,6 @@ instead of the specified one. This parameter may not be available and is
not guaranteed to work properly if the VF part is matched by a prior flow
rule or if packets are not addressed to a VF in the first place.
-.. _table_rte_flow_action_vf:
-
.. table:: VF
+--------------+--------------------------------+
@@ -2114,8 +2028,6 @@ Directs matching traffic to a given DPDK port ID.
See `Item: PORT_ID`_.
-.. _table_rte_flow_action_port_id:
-
.. table:: PORT_ID
+--------------+---------------------------------------+
@@ -2137,8 +2049,6 @@ action parameter. More than one flow can use the same MTR object through
the meter action. The MTR object can be further updated or queried using
the rte_mtr* API.
-.. _table_rte_flow_action_meter:
-
.. table:: METER
+--------------+---------------+
@@ -2172,8 +2082,6 @@ direction.
Multiple flows can be configured to use the same security session.
-.. _table_rte_flow_action_security:
-
.. table:: SECURITY
+----------------------+--------------------------------------+
@@ -2189,8 +2097,6 @@ The encryption algorithm, keys and salt are part of the opaque
``rte_security_session``. The SA is identified according to the IP and ESP
fields in the pattern items.
-.. _table_rte_flow_item_esp_inline_example:
-
.. table:: IPsec inline crypto flow pattern items.
+-------+----------+
@@ -2205,8 +2111,6 @@ fields in the pattern items.
| 3 | END |
+-------+----------+
-.. _table_rte_flow_action_esp_inline_example:
-
.. table:: IPsec inline flow actions.
+-------+----------+
@@ -2224,8 +2128,6 @@ This is a legacy action. Consider `Action: MODIFY_FIELD`_ as alternative.
Implements ``OFPAT_DEC_NW_TTL`` ("decrement IP TTL") as defined by the
`OpenFlow Switch Specification`_.
-.. _table_rte_flow_action_of_dec_nw_ttl:
-
.. table:: OF_DEC_NW_TTL
+---------------+
@@ -2240,8 +2142,6 @@ Action: ``OF_POP_VLAN``
Implements ``OFPAT_POP_VLAN`` ("pop the outer VLAN tag") as defined
by the `OpenFlow Switch Specification`_.
-.. _table_rte_flow_action_of_pop_vlan:
-
.. table:: OF_POP_VLAN
+---------------+
@@ -2256,8 +2156,6 @@ Action: ``OF_PUSH_VLAN``
Implements ``OFPAT_PUSH_VLAN`` ("push a new VLAN tag") as defined by the
`OpenFlow Switch Specification`_.
-.. _table_rte_flow_action_of_push_vlan:
-
.. table:: OF_PUSH_VLAN
+---------------+-----------+
@@ -2272,8 +2170,6 @@ Action: ``OF_SET_VLAN_VID``
Implements ``OFPAT_SET_VLAN_VID`` ("set the 802.1q VLAN id") as defined by
the `OpenFlow Switch Specification`_.
-.. _table_rte_flow_action_of_set_vlan_vid:
-
.. table:: OF_SET_VLAN_VID
+--------------+---------+
@@ -2288,8 +2184,6 @@ Action: ``OF_SET_VLAN_PCP``
Implements ``OFPAT_SET_LAN_PCP`` ("set the 802.1q priority") as defined by
the `OpenFlow Switch Specification`_.
-.. _table_rte_flow_action_of_set_vlan_pcp:
-
.. table:: OF_SET_VLAN_PCP
+--------------+---------------+
@@ -2304,8 +2198,6 @@ Action: ``OF_POP_MPLS``
Implements ``OFPAT_POP_MPLS`` ("pop the outer MPLS tag") as defined by the
`OpenFlow Switch Specification`_.
-.. _table_rte_flow_action_of_pop_mpls:
-
.. table:: OF_POP_MPLS
+---------------+-----------+
@@ -2320,8 +2212,6 @@ Action: ``OF_PUSH_MPLS``
Implements ``OFPAT_PUSH_MPLS`` ("push a new MPLS tag") as defined by the
`OpenFlow Switch Specification`_.
-.. _table_rte_flow_action_of_push_mpls:
-
.. table:: OF_PUSH_MPLS
+---------------+-----------+
@@ -2344,8 +2234,6 @@ Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks
over Layer 3 Networks). The pattern must be terminated with the
RTE_FLOW_ITEM_TYPE_END item type.
-.. _table_rte_flow_action_vxlan_encap:
-
.. table:: VXLAN_ENCAP
+----------------+-------------------------------------+
@@ -2354,8 +2242,6 @@ RTE_FLOW_ITEM_TYPE_END item type.
| ``definition`` | Tunnel end-point overlay definition |
+----------------+-------------------------------------+
-.. _table_rte_flow_action_vxlan_encap_example:
-
.. table:: IPv4 VxLAN flow pattern example.
+-------+----------+
@@ -2398,8 +2284,6 @@ NVGRE network overlay which conforms with RFC 7637 (NVGRE: Network
Virtualization Using Generic Routing Encapsulation). The pattern must be
terminated with the RTE_FLOW_ITEM_TYPE_END item type.
-.. _table_rte_flow_action_nvgre_encap:
-
.. table:: NVGRE_ENCAP
+----------------+-------------------------------------+
@@ -2408,8 +2292,6 @@ terminated with the RTE_FLOW_ITEM_TYPE_END item type.
| ``definition`` | NVGRE end-point overlay definition |
+----------------+-------------------------------------+
-.. _table_rte_flow_action_nvgre_encap_example:
-
.. table:: IPv4 NVGRE flow pattern example.
+-------+----------+
@@ -2449,8 +2331,6 @@ decap layer 3 tunnel (for example MPLSoGRE) or complete tunnel definition
starting from layer 2 and moving to the tunnel item itself. When applied to
the original packet the resulting packet must be a valid packet.
-.. _table_rte_flow_action_raw_encap:
-
.. table:: RAW_ENCAP
+----------------+----------------------------------------+
@@ -2476,8 +2356,6 @@ tunnel definition starting from layer 2 and moving to the tunnel item itself.
When applied to the original packet the resulting packet must be a
valid packet.
-.. _table_rte_flow_action_raw_decap:
-
.. table:: RAW_DECAP
+----------------+----------------------------------------+
@@ -2497,8 +2375,6 @@ Set a new IPv4 source address in the outermost IPv4 header.
It must be used with a valid RTE_FLOW_ITEM_TYPE_IPV4 flow pattern item.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_ipv4_src:
-
.. table:: SET_IPV4_SRC
+-----------------------------------------+
@@ -2516,8 +2392,6 @@ Set a new IPv4 destination address in the outermost IPv4 header.
It must be used with a valid RTE_FLOW_ITEM_TYPE_IPV4 flow pattern item.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_ipv4_dst:
-
.. table:: SET_IPV4_DST
+---------------+------------------------------+
@@ -2535,8 +2409,6 @@ Set a new IPv6 source address in the outermost IPv6 header.
It must be used with a valid RTE_FLOW_ITEM_TYPE_IPV6 flow pattern item.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_ipv6_src:
-
.. table:: SET_IPV6_SRC
+---------------+-------------------------+
@@ -2554,8 +2426,6 @@ Set a new IPv6 destination address in the outermost IPv6 header.
It must be used with a valid RTE_FLOW_ITEM_TYPE_IPV6 flow pattern item.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_ipv6_dst:
-
.. table:: SET_IPV6_DST
+---------------+------------------------------+
@@ -2595,8 +2465,6 @@ Set a new source port number in the outermost TCP/UDP header.
It must be used with a valid RTE_FLOW_ITEM_TYPE_TCP or RTE_FLOW_ITEM_TYPE_UDP
flow pattern item. Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_tp_src:
-
.. table:: SET_TP_SRC
+----------+-------------------------+
@@ -2614,8 +2482,6 @@ Set a new destination port number in the outermost TCP/UDP header.
It must be used with a valid RTE_FLOW_ITEM_TYPE_TCP or RTE_FLOW_ITEM_TYPE_UDP
flow pattern item. Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_tp_dst:
-
.. table:: SET_TP_DST
+----------+------------------------------+
@@ -2633,8 +2499,6 @@ header.
It must be used with a valid RTE_FLOW_ITEM_TYPE_ETH flow pattern item.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_mac_swap:
-
.. table:: MAC_SWAP
+---------------+
@@ -2652,8 +2516,6 @@ Decrease TTL value.
If there is no valid RTE_FLOW_ITEM_TYPE_IPV4 or RTE_FLOW_ITEM_TYPE_IPV6
in pattern, Some PMDs will reject rule because behavior will be undefined.
-.. _table_rte_flow_action_dec_ttl:
-
.. table:: DEC_TTL
+---------------+
@@ -2671,8 +2533,6 @@ Assigns a new TTL value.
If there is no valid RTE_FLOW_ITEM_TYPE_IPV4 or RTE_FLOW_ITEM_TYPE_IPV6
in pattern, Some PMDs will reject rule because behavior will be undefined.
-.. _table_rte_flow_action_set_ttl:
-
.. table:: SET_TTL
+---------------+--------------------+
@@ -2690,8 +2550,6 @@ Set source MAC address.
It must be used with a valid RTE_FLOW_ITEM_TYPE_ETH flow pattern item.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_mac_src:
-
.. table:: SET_MAC_SRC
+--------------+---------------+
@@ -2709,8 +2567,6 @@ Set destination MAC address.
It must be used with a valid RTE_FLOW_ITEM_TYPE_ETH flow pattern item.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_mac_dst:
-
.. table:: SET_MAC_DST
+--------------+---------------+
@@ -2764,8 +2620,6 @@ Set Tag.
Tag is a transient data used during flow matching. This is not delivered to
application. Multiple tags are supported by specifying index.
-.. _table_rte_flow_action_set_tag:
-
.. table:: SET_TAG
+-----------+----------------------------+
@@ -2801,8 +2655,6 @@ the other path depending on HW capability.
In hairpin case with Tx explicit flow mode, metadata could (not mandatory) be
used to connect the Rx and Tx flows if it can be propagated from Rx to Tx path.
-.. _table_rte_flow_action_set_meta:
-
.. table:: SET_META
+----------+----------------------------+
@@ -2824,8 +2676,6 @@ Modify DSCP in IPv4 header.
It must be used with RTE_FLOW_ITEM_TYPE_IPV4 in pattern.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_ipv4_dscp:
-
.. table:: SET_IPV4_DSCP
+-----------+---------------------------------+
@@ -2845,8 +2695,6 @@ Modify DSCP in IPv6 header.
It must be used with RTE_FLOW_ITEM_TYPE_IPV6 in pattern.
Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
-.. _table_rte_flow_action_set_ipv6_dscp:
-
.. table:: SET_IPV6_DSCP
+-----------+---------------------------------+
@@ -2872,8 +2720,6 @@ Set ageing timeout configuration to a flow.
Event RTE_ETH_EVENT_FLOW_AGED will be reported if
timeout passed without any matching on the flow.
-.. _table_rte_flow_action_age:
-
.. table:: AGE
+--------------+---------------------------------+
@@ -2889,8 +2735,6 @@ timeout passed without any matching on the flow.
Query structure to retrieve ageing status information of a
shared AGE action, or a flow rule using the AGE action:
-.. _table_rte_flow_query_age:
-
.. table:: AGE query
+------------------------------+-----+----------------------------------------+
@@ -2906,8 +2750,6 @@ shared AGE action, or a flow rule using the AGE action:
Update structure to modify the parameters of an indirect AGE action.
The update structure is used by ``rte_flow_action_handle_update()`` function.
-.. _table_rte_flow_update_age:
-
.. table:: AGE update
+-------------------+--------------------------------------------------------------+
@@ -2935,8 +2777,6 @@ When the ``ratio`` is set to 1 then the packets will be 100% mirrored.
``actions`` represent the different set of actions for the sampled or mirrored
packets, and must have a fate action.
-.. _table_rte_flow_action_sample:
-
.. table:: SAMPLE
+--------------+---------------------------------+
@@ -2995,8 +2835,6 @@ when the device is stopped.
Indirect actions of a kept kind that are created when the device is stopped,
including the ones created for the test, will be kept after the device start.
-.. _table_rte_flow_action_handle:
-
.. table:: INDIRECT
+---------------+
@@ -3084,8 +2922,6 @@ Otherwise it points to an array of n flow mutable configuration pointers.
- Cflow[i] updates handle's Ai flow mutable configuration if
the Ci was not masked in action template.
-.. _table_rte_flow_action_indirect_list:
-
.. table:: INDIRECT_LIST
+------------------+----------------------------------+
@@ -3212,8 +3048,6 @@ For example, to replace the third byte of second DW in Geneve option data
with value ``0x85``, the application should specify destination width as ``8``,
destination offset as ``48``, and provide immediate value ``0xXXXX85XX``.
-.. _table_rte_flow_action_modify_field:
-
.. table:: MODIFY_FIELD
+---------------+-------------------------+
@@ -3228,8 +3062,6 @@ destination offset as ``48``, and provide immediate value ``0xXXXX85XX``.
| ``width`` | number of bits to use |
+---------------+-------------------------+
-.. _table_rte_flow_field_data:
-
.. table:: destination/source field definition
+-----------------+----------------------------------------------------------+
@@ -3290,8 +3122,6 @@ The ``struct rte_flow_modify_conntrack`` should be used for an updating.
The current conntrack context information could be queried via the
``rte_flow_action_handle_query()`` interface.
-.. _table_rte_flow_action_conntrack:
-
.. table:: CONNTRACK
+--------------------------+-------------------------------------------------------------+
@@ -3332,8 +3162,6 @@ The current conntrack context information could be queried via the
| ``last_end`` | sum of ack number and length of the last passed packet |
+--------------------------+-------------------------------------------------------------+
-.. _table_rte_flow_tcp_dir_param:
-
.. table:: configuration parameters for each direction
+---------------------+---------------------------------------------------------+
@@ -3356,8 +3184,6 @@ The current conntrack context information could be queried via the
| ``max_ack`` | max{ack} + seen in sent packets |
+---------------------+---------------------------------------------------------+
-.. _table_rte_flow_modify_conntrack:
-
.. table:: update a conntrack context
+----------------+-------------------------------------------------+
@@ -3383,8 +3209,6 @@ Set the meter color in the mbuf to the selected color.
The meter color action output color is the output color of the packet,
which is set in the packet meta-data (i.e. struct ``rte_mbuf::sched::color``)
-.. _table_rte_flow_action_meter_color:
-
.. table:: METER_COLOR
+-----------------+--------------+
@@ -3435,8 +3259,6 @@ at the opposite end of the "wire" leading to the ethdev.
- Requires `Attribute: Transfer`_.
-.. _table_rte_flow_action_ethdev:
-
.. table:: ``struct rte_flow_action_ethdev``
+-------------+----------------+
@@ -3507,8 +3329,6 @@ Pointers to these objects are used as action parameters
and need to be retrieved using the rte_mtr_profile_get() API
and rte_mtr_policy_get() API respectively.
-.. _table_rte_flow_action_meter_mark:
-
.. table:: METER_MARK
+------------------+----------------------+
@@ -3530,8 +3350,6 @@ Otherwise, the packet quota state is set to ``RTE_FLOW_QUOTA_STATE_BLOCK``.
The ``quota`` value is reduced according to ``mode`` setting.
-.. _table_rte_flow_action_quota:
-
.. table:: QUOTA
+------------------+------------------------+
@@ -3542,8 +3360,6 @@ The ``quota`` value is reduced according to ``mode`` setting.
| ``quota`` | Quota value |
+------------------+------------------------+
-.. _rte_flow_quota_mode:
-
.. table:: Quota update modes
+---------------------------------+-------------------------------------+
@@ -4728,8 +4544,6 @@ specific types.
Consider the following pattern:
-.. _table_rte_flow_unsupported_any:
-
.. table:: Pattern with ANY as L3
+-------+-----------------------+
@@ -4747,8 +4561,6 @@ Consider the following pattern:
Knowing that TCP does not make sense with something other than IPv4 and IPv6
as L3, such a pattern may be translated to two flow rules instead:
-.. _table_rte_flow_unsupported_any_ipv4:
-
.. table:: ANY replaced with IPV4
+-------+--------------------+
@@ -4765,8 +4577,6 @@ as L3, such a pattern may be translated to two flow rules instead:
|
-.. _table_rte_flow_unsupported_any_ipv6:
-
.. table:: ANY replaced with IPV6
+-------+--------------------+
diff --git a/doc/guides/prog_guide/ethdev/qos_framework.rst b/doc/guides/prog_guide/ethdev/qos_framework.rst
index 03191d6602..f7089190fd 100644
--- a/doc/guides/prog_guide/ethdev/qos_framework.rst
+++ b/doc/guides/prog_guide/ethdev/qos_framework.rst
@@ -11,8 +11,6 @@ Packet Pipeline with QoS Support
An example of a complex packet processing pipeline with QoS support is shown in the following figure.
-.. _figure_pkt_proc_pipeline_qos:
-
.. figure:: ../img/pkt_proc_pipeline_qos.*
Complex Packet Processing Pipeline with QoS Support
@@ -22,8 +20,6 @@ This pipeline can be built using reusable DPDK software libraries.
The main blocks implementing QoS in this pipeline are: the policer, the dropper and the scheduler.
A functional description of each block is provided in the following table.
-.. _table_qos_1:
-
.. table:: Packet Processing Pipeline Implementing QoS
+---+------------------------+--------------------------------------------------------------------------------+
@@ -73,8 +69,6 @@ A functional description of each block is provided in the following table.
The infrastructure blocks used throughout the packet processing pipeline are listed in the following table.
-.. _table_qos_2:
-
.. table:: Infrastructure Blocks Used by the Packet Processing Pipeline
+---+-----------------------+-----------------------------------------------------------------------+
@@ -112,8 +106,6 @@ It typically acts like a buffer that is able to temporarily store a large number
as the NIC TX is requesting more packets for transmission,
these packets are later on removed and handed over to the NIC TX with the packet selection logic observing the predefined SLAs (dequeue operation).
-.. _figure_hier_sched_blk:
-
.. figure:: ../img/hier_sched_blk.*
Hierarchical Scheduler Block Internal Diagram
@@ -144,8 +136,6 @@ Each queue hosts packets from one or multiple connections of the same type belon
The functionality of each hierarchical level is detailed in the following table.
-.. _table_qos_3:
-
.. table:: Port Scheduling Hierarchy
+---+--------------------+----------------------------+---------------------------------------------------------------+
@@ -269,15 +259,10 @@ Internal Data Structures per Port
A schematic of the internal data structures in shown in with details in.
-.. _figure_data_struct_per_port:
-
.. figure:: ../img/data_struct_per_port.*
Internal Data Structures per Port
-
-.. _table_qos_4:
-
.. table:: Scheduler Internal Data Structures per Port
+---+----------------------+-------------------------+---------------------+------------------------------+---------------------------------------------------+
@@ -452,8 +437,6 @@ The dequeue pipe state machine exploits the data presence into the processor cac
therefore it tries to send as many packets from the same pipe TC and pipe as possible (up to the available packets and credits) before
moving to the next active TC from the same pipe (if any) or to another active pipe.
-.. _figure_pipe_prefetch_sm:
-
.. figure:: ../img/pipe_prefetch_sm.*
Pipe Prefetch State Machine for the Hierarchical Scheduler Dequeue
@@ -557,8 +540,6 @@ As the greatest common divisor for all packet lengths is one byte, the unit of c
The number of credits required for the transmission of a packet of n bytes is equal to (n+h),
where h is equal to the number of framing overhead bytes per packet.
-.. _table_qos_5:
-
.. table:: Ethernet Frame Overhead Fields
+---+--------------------------------+----------------+---------------------------------------------------------------------------+
@@ -948,8 +929,6 @@ Solution Space
summarizes some of the possible approaches for handling this problem,
with the third approach selected for implementation.
-.. _table_qos_13:
-
.. table:: Subport Traffic Class Oversubscription
+-----+---------------------------+-------------------------------------------------------------------------+
diff --git a/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst b/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
index bf449bcf52..9bbba69777 100644
--- a/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
@@ -45,8 +45,6 @@ In this mode, events dequeued from the adapter will be treated as new events.
The application needs to specify event information (response information)
which is needed to enqueue an event after the crypto operation is completed.
-.. _figure_event_crypto_adapter_op_new:
-
.. figure:: ../img/event_crypto_adapter_op_new.*
Working model of ``RTE_EVENT_CRYPTO_ADAPTER_OP_NEW`` mode
@@ -72,8 +70,6 @@ to enqueue a crypto operation in addition to the event information (response
information) needed to enqueue an event after the crypto operation has
completed.
-.. _figure_event_crypto_adapter_op_forward:
-
.. figure:: ../img/event_crypto_adapter_op_forward.*
Working model of ``RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD`` mode
diff --git a/doc/guides/prog_guide/eventdev/event_dma_adapter.rst b/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
index 6339dddc2b..436be45a62 100644
--- a/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
@@ -45,8 +45,6 @@ In this mode, events dequeued from the adapter are treated as new events.
The application has to specify event information (response information)
which is needed to enqueue an event after the DMA operation is completed.
-.. _figure_event_dma_adapter_op_new:
-
.. figure:: ../img/event_dma_adapter_op_new.*
Working model of ``RTE_EVENT_DMA_ADAPTER_OP_NEW`` mode
@@ -75,8 +73,6 @@ In this mode, events dequeued from the adapter will be treated as forwarded even
Application has to specify event information (response information)
needed to enqueue the event after the DMA operation has completed.
-.. _figure_event_dma_adapter_op_forward:
-
.. figure:: ../img/event_dma_adapter_op_forward.*
Working model of ``RTE_EVENT_DMA_ADAPTER_OP_FORWARD`` mode
diff --git a/doc/guides/prog_guide/eventdev/eventdev.rst b/doc/guides/prog_guide/eventdev/eventdev.rst
index 9ec566925c..ea34f74032 100644
--- a/doc/guides/prog_guide/eventdev/eventdev.rst
+++ b/doc/guides/prog_guide/eventdev/eventdev.rst
@@ -167,8 +167,6 @@ illustration, refer to Eventdev Adapter documentation for further details.
The diagram below shows the final state of the application after this
walk-through:
-.. _figure_eventdev-usage1:
-
.. figure:: ../img/eventdev_usage.*
Sample eventdev usage, with RX, two atomic stages and a single-link to TX.
diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst
index 8dd49c19d2..c72065c9f3 100644
--- a/doc/guides/prog_guide/graph_lib.rst
+++ b/doc/guides/prog_guide/graph_lib.rst
@@ -58,8 +58,6 @@ Programming model
Anatomy of Node:
~~~~~~~~~~~~~~~~
-.. _figure_anatomy_of_a_node:
-
.. figure:: img/anatomy_of_a_node.*
Anatomy of a node
@@ -146,7 +144,6 @@ Node creation and registration
Link the Nodes to create the graph topology
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. _figure_link_the_nodes:
.. figure:: img/link_the_nodes.*
@@ -387,7 +384,6 @@ Example of intermediate node implementation with home run:
Graph object memory layout
--------------------------
-.. _figure_graph_mem_layout:
.. figure:: img/graph_mem_layout.*
@@ -931,8 +927,6 @@ Inbuilt Nodes
DPDK provides a set of nodes for data processing.
The following diagram depicts inbuilt nodes data flow.
-.. _figure_graph_inbuit_node_flow:
-
.. figure:: img/graph_inbuilt_node_flow.*
Inbuilt nodes data flow
diff --git a/doc/guides/prog_guide/hash_lib.rst b/doc/guides/prog_guide/hash_lib.rst
index 0c2276c88b..43da83a560 100644
--- a/doc/guides/prog_guide/hash_lib.rst
+++ b/doc/guides/prog_guide/hash_lib.rst
@@ -207,8 +207,6 @@ are evicted to their secondary location.
See the tables below showing example entry distribution as table utilization increases.
-.. _table_hash_lib_1:
-
.. table:: Entry distribution measured with an example table with 1024 random entries using jhash algorithm
+--------------+-----------------------+-------------------------+
@@ -231,8 +229,6 @@ See the tables below showing example entry distribution as table utilization inc
|
-.. _table_hash_lib_2:
-
.. table:: Entry distribution measured with an example table with 1 million random entries using jhash algorithm
+--------------+-----------------------+-------------------------+
diff --git a/doc/guides/prog_guide/member_lib.rst b/doc/guides/prog_guide/member_lib.rst
index 61700a51ad..72b9902f3b 100644
--- a/doc/guides/prog_guide/member_lib.rst
+++ b/doc/guides/prog_guide/member_lib.rst
@@ -39,7 +39,6 @@ reduce space requirement and significantly improve the performance of set
membership queries at the cost of introducing a very small membership test error
probability.
-.. _figure_membership1:
.. figure:: img/member_i1.*
Example Usages of Membership Library
@@ -109,7 +108,6 @@ Y is a member of the set with certain false positive probability. As shown in
the next equation, the false positive probability can be made arbitrarily small
by changing the number of hash functions (``k``) and the vector length (``m``).
-.. _figure_membership2:
.. figure:: img/member_i2.*
Bloom Filter False Positive Probability
@@ -121,7 +119,6 @@ small bit-vector, which can be easily optimized. Hence the lookup throughput
(set membership test) can be significantly faster than a normal hash table
lookup with element comparison.
-.. _figure_membership3:
.. figure:: img/member_i3.*
Detecting Routing Loops Using BF
@@ -134,8 +131,6 @@ node will then check this embedded BF in the packet header for its own id, and
if the BF indicates that the current node is definitely not in the set then a
loop-free route is guaranteed.
-
-.. _figure_membership4:
.. figure:: img/member_i4.*
Vector Bloom Filter (vBF) Overview
@@ -149,7 +144,6 @@ them. The basic idea of vBF is shown in the above figure where an element is
used to address multiple bloom filters concurrently and the bloom filter
index(es) with a hit is returned.
-.. _figure_membership5:
.. figure:: img/member_i5.*
vBF for Flow Scheduling to Worker Thread
@@ -184,7 +178,6 @@ requires testing a series of Bloom Filters each corresponding to one set.
As a result, generally speaking vBF is more adequate for the case of a small limited number of sets
while HTSS should be used with a larger number of sets.
-.. _figure_membership6:
.. figure:: img/member_i6.*
Using HTSS for Attack Signature Matching
@@ -237,7 +230,6 @@ set-summary. It is worth noting that the set-summary still has false positive
probability, which means the application either can tolerate certain false positive
or it has fall-back path when false positive happens.
-.. _figure_membership7:
.. figure:: img/member_i7.*
Using HTSS with False Negatives for Wild Card Classification
diff --git a/doc/guides/prog_guide/mempool_lib.rst b/doc/guides/prog_guide/mempool_lib.rst
index 09c70af811..9bbe829411 100644
--- a/doc/guides/prog_guide/mempool_lib.rst
+++ b/doc/guides/prog_guide/mempool_lib.rst
@@ -78,9 +78,6 @@ When creating a new pool, the user can specify to use this feature or not.
As a result, the load is distributed evenly in all cases,
including the above described, rendering this feature unnecessary.
-
-.. _mempool_local_cache:
-
Local Cache
-----------
diff --git a/doc/guides/prog_guide/mldev.rst b/doc/guides/prog_guide/mldev.rst
index 61661b998b..4d305b6bf2 100644
--- a/doc/guides/prog_guide/mldev.rst
+++ b/doc/guides/prog_guide/mldev.rst
@@ -12,8 +12,6 @@ The ML model creation and training is outside of the scope of this library.
The ML framework is built on the following model:
-.. _figure_mldev_work_flow:
-
.. figure:: img/mldev_flow.*
Work flow of inference on MLDEV
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index edc5524e87..b465c47727 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -70,8 +70,6 @@ and point to the same objects, in both processes.
``--single-file-segments`` switch, secondary processes must be run with the
same switch specified. Otherwise, memory corruption may occur.
-.. _figure_multi_process_memory:
-
.. figure:: img/multi_process_memory.*
Memory Sharing in the DPDK Multi-process Sample Application
diff --git a/doc/guides/prog_guide/overview.rst b/doc/guides/prog_guide/overview.rst
index c70023e8a1..8341d3c7bc 100644
--- a/doc/guides/prog_guide/overview.rst
+++ b/doc/guides/prog_guide/overview.rst
@@ -86,8 +86,6 @@ Core Components
The *core components* are a set of libraries that provide all the elements needed
for high-performance packet processing applications.
-.. _figure_architecture-overview:
-
.. figure:: img/architecture-overview.*
Core Components Architecture
diff --git a/doc/guides/prog_guide/packet_framework.rst b/doc/guides/prog_guide/packet_framework.rst
index 17010b07dc..a6b80899c3 100644
--- a/doc/guides/prog_guide/packet_framework.rst
+++ b/doc/guides/prog_guide/packet_framework.rst
@@ -108,8 +108,6 @@ Each input/output port is required to implement an abstract interface that
defines the initialization and run-time operation of the port.
The port abstract interface is described in.
-.. _table_qos_20:
-
.. table:: 20 Port Abstract Interface
+---+----------------+-----------------------------------------------------------------------------------------+
@@ -426,8 +424,6 @@ The possible options are:
the search continues beyond the first group of 4 keys, potentially until all keys in this bucket are examined.
The extendable bucket logic requires maintaining specific data structures per table and per each bucket.
-.. _table_qos_23:
-
.. table:: Configuration Parameters Specific to Extendable Bucket Hash Table
+---+---------------------------+--------------------------------------------------+
@@ -455,8 +451,6 @@ The possible options for key signature computation are:
The same CPU core reads the key from the packet meta-data, uses it to compute the key signature
and also performs the bucket search step of the key lookup operation.
-.. _table_qos_24:
-
.. table:: Configuration Parameters Specific to Pre-computed Key Signature Hash Table
+---+------------------+-----------------------------------------------------------------------+
@@ -885,16 +879,11 @@ and detail the bucket search pipeline used to implement 8-byte and 16-byte key h
either with pre-computed signature or "do-sig").
For each pipeline stage, the described operations are applied to each of the two packets handled by that stage.
-.. _figure_figure39:
-
.. figure:: img/figure39.*
Bucket Search Pipeline for Key Lookup Operation (Single Key Size Hash
Tables)
-
-.. _table_qos_32:
-
.. table:: Description of the Bucket Search Pipeline Stages (8-byte and 16-byte Key Hash Tables)
+---+---------------------------+-----------------------------------------------------------------------------+
diff --git a/doc/guides/prog_guide/pdcp_lib.rst b/doc/guides/prog_guide/pdcp_lib.rst
index 266abb8574..328ce526b6 100644
--- a/doc/guides/prog_guide/pdcp_lib.rst
+++ b/doc/guides/prog_guide/pdcp_lib.rst
@@ -21,8 +21,6 @@ PDCP would involve the following operations:
#. Uplink data compression
#. Ciphering and integrity protection
-.. _figure_pdcp_functional_overview:
-
.. figure:: img/pdcp_functional_overview.*
PDCP functional overview
diff --git a/doc/guides/prog_guide/pdump_lib.rst b/doc/guides/prog_guide/pdump_lib.rst
index 5bacb49ffc..be9dc80553 100644
--- a/doc/guides/prog_guide/pdump_lib.rst
+++ b/doc/guides/prog_guide/pdump_lib.rst
@@ -18,8 +18,6 @@ to facilitate communication between the primary and secondary processes.
This mechanism allows enabling or disabling packet capture
on specific ports or queues.
-.. _figure_pdump_overview:
-
.. figure:: img/pdump_overview.*
Packet Capture enable and disable sequence
diff --git a/doc/guides/prog_guide/ring_lib.rst b/doc/guides/prog_guide/ring_lib.rst
index e13588553d..545f2cd5ce 100644
--- a/doc/guides/prog_guide/ring_lib.rst
+++ b/doc/guides/prog_guide/ring_lib.rst
@@ -45,8 +45,6 @@ The disadvantages:
A simplified representation of a Ring is shown in with consumer and producer head and tail pointers to objects stored in the data structure.
-.. _figure_ring1:
-
.. figure:: img/ring1.*
Ring Structure
@@ -112,9 +110,6 @@ The prod_next local variable points to the next element of the table, or several
If there is not enough room in the ring (this is detected by checking cons_tail), it returns an error.
-
-.. _figure_ring-enqueue1:
-
.. figure:: img/ring-enqueue1.*
Enqueue first step
@@ -127,9 +122,6 @@ The second step is to modify *ring->prod_head* in ring structure to point to the
The added object is copied in the ring (obj4).
-
-.. _figure_ring-enqueue2:
-
.. figure:: img/ring-enqueue2.*
Enqueue second step
@@ -141,9 +133,6 @@ Enqueue Last Step
Once the object is added in the ring, ring->prod_tail in the ring structure is modified to point to the same location as *ring->prod_head*.
The enqueue operation is finished.
-
-.. _figure_ring-enqueue3:
-
.. figure:: img/ring-enqueue3.*
Enqueue last step
@@ -165,9 +154,6 @@ The cons_next local variable points to the next element of the table, or several
If there are not enough objects in the ring (this is detected by checking prod_tail), it returns an error.
-
-.. _figure_ring-dequeue1:
-
.. figure:: img/ring-dequeue1.*
Dequeue first step
@@ -180,9 +166,6 @@ The second step is to modify ring->cons_head in the ring structure to point to t
The dequeued object (obj1) is copied in the pointer given by the user.
-
-.. _figure_ring-dequeue2:
-
.. figure:: img/ring-dequeue2.*
Dequeue second step
@@ -194,9 +177,6 @@ Dequeue Last Step
Finally, ring->cons_tail in the ring structure is modified to point to the same location as ring->cons_head.
The dequeue operation is finished.
-
-.. _figure_ring-dequeue3:
-
.. figure:: img/ring-dequeue3.*
Dequeue last step
@@ -219,9 +199,6 @@ or several elements after in the case of bulk enqueue.
If there is not enough room in the ring (this is detected by checking cons_tail), it returns an error.
-
-.. _figure_ring-mp-enqueue1:
-
.. figure:: img/ring-mp-enqueue1.*
Multiple producer enqueue first step
@@ -241,9 +218,6 @@ This operation is done using a Compare And Swap (CAS) instruction, which does th
In the figure, the operation succeeded on core 1, and step one restarted on core 2.
-
-.. _figure_ring-mp-enqueue2:
-
.. figure:: img/ring-mp-enqueue2.*
Multiple producer enqueue second step
@@ -256,9 +230,6 @@ The CAS operation is retried on core 2 with success.
The core 1 updates one element of the ring(obj4), and the core 2 updates another one (obj5).
-
-.. _figure_ring-mp-enqueue3:
-
.. figure:: img/ring-mp-enqueue3.*
Multiple producer enqueue third step
@@ -271,9 +242,6 @@ Each core now wants to update ring->prod_tail.
A core can only update it if ring->prod_tail is equal to the prod_head local variable.
This is only true on core 1. The operation is finished on core 1.
-
-.. _figure_ring-mp-enqueue4:
-
.. figure:: img/ring-mp-enqueue4.*
Multiple producer enqueue fourth step
@@ -285,9 +253,6 @@ Multiple Producers Enqueue Last Step
Once ring->prod_tail is updated by core 1, core 2 is allowed to update it too.
The operation is also finished on core 2.
-
-.. _figure_ring-mp-enqueue5:
-
.. figure:: img/ring-mp-enqueue5.*
Multiple producer enqueue last step
@@ -310,9 +275,6 @@ The following are two examples that help to explain how indexes are used in a ri
In addition, the four indexes are defined as unsigned 16-bit integers,
as opposed to unsigned 32-bit integers in the more realistic case.
-
-.. _figure_ring-modulo1:
-
.. figure:: img/ring-modulo1.*
Modulo 32-bit indexes - Example 1
@@ -320,9 +282,6 @@ The following are two examples that help to explain how indexes are used in a ri
This ring contains 11000 entries.
-
-.. _figure_ring-modulo2:
-
.. figure:: img/ring-modulo2.*
Modulo 32-bit indexes - Example 2
@@ -536,8 +495,6 @@ On that picture ``obj5`` and ``obj4`` elements are acquired by stage 0,
``obj2`` and ``obj3`` are acquired by stage 1,
while ``obj1`` was already released by stage 1 and is ready to be consumed.
-.. _figure_soring1:
-
.. figure:: img/soring-pic1.*
Along with traditional flavor there are enhanced versions for
diff --git a/doc/guides/prog_guide/trace_lib.rst b/doc/guides/prog_guide/trace_lib.rst
index d9b17abe90..6cf8e21641 100644
--- a/doc/guides/prog_guide/trace_lib.rst
+++ b/doc/guides/prog_guide/trace_lib.rst
@@ -287,8 +287,6 @@ on the first trace emission.
Trace memory layout
~~~~~~~~~~~~~~~~~~~
-.. _table_trace_mem_layout:
-
.. table:: Trace memory layout.
+-------------------+
@@ -312,8 +310,6 @@ Trace memory layout
packet.header
^^^^^^^^^^^^^
-.. _table_packet_header:
-
.. table:: Packet header layout.
+-------------------+
@@ -325,8 +321,6 @@ packet.header
packet.context
^^^^^^^^^^^^^^
-.. _table_packet_context:
-
.. table:: Packet context layout.
+----------------------+
@@ -338,8 +332,6 @@ packet.context
trace.header
^^^^^^^^^^^^
-.. _table_trace_header:
-
.. table:: Trace header layout.
+----------------------+
diff --git a/doc/guides/regexdevs/cn9k.rst b/doc/guides/regexdevs/cn9k.rst
index 0c58c095f4..fe117e0e25 100644
--- a/doc/guides/regexdevs/cn9k.rst
+++ b/doc/guides/regexdevs/cn9k.rst
@@ -38,8 +38,6 @@ those devices alone.
Debugging Options
-----------------
-.. _table_cn9k_regex_debug_options:
-
.. table:: CN9K regex device debug options
+---+------------+-------------------------------------------------------+
diff --git a/doc/guides/regexdevs/features_overview.rst b/doc/guides/regexdevs/features_overview.rst
index 3e7ab409bf..b4864e706a 100644
--- a/doc/guides/regexdevs/features_overview.rst
+++ b/doc/guides/regexdevs/features_overview.rst
@@ -90,8 +90,6 @@ References
Features Table
==============
-.. _table_regex_pmd_features:
-
.. include:: overview_feature_table.txt
.. Note::
diff --git a/doc/guides/rel_notes/release_20_02.rst b/doc/guides/rel_notes/release_20_02.rst
index 925985b4f8..461ab16286 100644
--- a/doc/guides/rel_notes/release_20_02.rst
+++ b/doc/guides/rel_notes/release_20_02.rst
@@ -230,8 +230,6 @@ API Changes
* No change in this release.
-.. _20_02_abi_changes:
-
ABI Changes
-----------
diff --git a/doc/guides/sample_app_ug/dist_app.rst b/doc/guides/sample_app_ug/dist_app.rst
index 30b4184d40..154d08d989 100644
--- a/doc/guides/sample_app_ug/dist_app.rst
+++ b/doc/guides/sample_app_ug/dist_app.rst
@@ -22,8 +22,6 @@ into each other.
This application can be used to benchmark performance using the traffic
generator as shown in the figure below.
-.. _figure_dist_perf:
-
.. figure:: img/dist_perf.*
Performance Benchmarking Setup (Basic Environment)
diff --git a/doc/guides/sample_app_ug/ip_pipeline.rst b/doc/guides/sample_app_ug/ip_pipeline.rst
index f9e8caa0a8..9a5cb517a2 100644
--- a/doc/guides/sample_app_ug/ip_pipeline.rst
+++ b/doc/guides/sample_app_ug/ip_pipeline.rst
@@ -117,8 +117,6 @@ During this stage, EAL layer is initialised and application specific arguments a
(i.e. linked lists) for application objects are initialized. In case of any initialization error, an error message
is displayed and the application is terminated.
-.. _ip_pipeline_runtime:
-
Run-time
~~~~~~~~
@@ -136,8 +134,6 @@ executes two tasks in time-sharing mode:
Examples
--------
-.. _table_examples:
-
.. tabularcolumns:: |p{3cm}|p{5cm}|p{4cm}|p{4cm}|
.. table:: Pipeline examples provided with the application
diff --git a/doc/guides/sample_app_ug/l2_forward_crypto.rst b/doc/guides/sample_app_ug/l2_forward_crypto.rst
index ba38d9f22e..6ff693a8a1 100644
--- a/doc/guides/sample_app_ug/l2_forward_crypto.rst
+++ b/doc/guides/sample_app_ug/l2_forward_crypto.rst
@@ -193,8 +193,6 @@ on a packet received on an RX PORT before forwarding it to a TX PORT.
The following figure illustrates a sample flow of a packet in the application,
from reception until transmission.
-.. _figure_l2_fwd_encrypt_flow:
-
.. figure:: img/l2_fwd_encrypt_flow.*
Encryption flow through the L2 Forwarding with Crypto Application
diff --git a/doc/guides/sample_app_ug/l2_forward_event.rst b/doc/guides/sample_app_ug/l2_forward_event.rst
index 1d52211b9a..01f7ca88ae 100644
--- a/doc/guides/sample_app_ug/l2_forward_event.rst
+++ b/doc/guides/sample_app_ug/l2_forward_event.rst
@@ -123,8 +123,6 @@ Explanation
The following sections provide an explanation of the code.
-.. _l2_fwd_event_app_cmd_arguments:
-
Command Line Arguments
~~~~~~~~~~~~~~~~~~~~~~
@@ -175,8 +173,6 @@ and mbuf initializers, respectively ``rte_pktmbuf_pool_init()`` and ``rte_pktmbu
An advanced application may want to use the mempool API to create the
mbuf pool with more control.
-.. _l2_fwd_event_app_drv_init:
-
Driver Initialization
~~~~~~~~~~~~~~~~~~~~~
@@ -230,8 +226,6 @@ structure called struct lcore_queue_conf.
The values n_rx_port and rx_port_list[] are used in the main packet processing
loop (see :ref:`l2_fwd_event_app_rx_tx_packets`).
-.. _l2_fwd_event_app_tx_init:
-
TX Queue Initialization
~~~~~~~~~~~~~~~~~~~~~~~
@@ -252,8 +246,6 @@ To configure eventdev support, the application sets up following components:
* Rx/Tx adapters
* Ethernet ports
-.. _l2_fwd_event_app_event_dev_init:
-
Event device Initialization
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -294,8 +286,6 @@ Ethernet ports.
In case of S/W scheduler, an extra event queue is created which will be used for
Tx adapter service function for enqueue operation.
-.. _l2_fwd_app_event_port_init:
-
Event port Initialization
~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
index dbe880e1b3..bf848ce2db 100644
--- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
+++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
@@ -54,8 +54,6 @@ when MAC addresses updating is disabled.
The L2 Forwarding application can also be used as a starting point for developing a new application based on the DPDK.
-.. _l2_fwd_vf_setup:
-
Virtual Function Setup Instructions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index e797222eb4..452bd8cc6c 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -239,8 +239,6 @@ setup:
Refer to the *DPDK Getting Started Guide* for general information on running applications and
the Environment Abstraction Layer (EAL) options.
-.. _l3_fwd_explanation:
-
Explanation
-----------
@@ -288,8 +286,6 @@ R<destination_ip><source_ip><destination_port><source_port><protocol><output_por
* A typical IPv4 ACL rule line should have a format as shown below:
-.. _figure_ipv4_acl_rule:
-
.. figure:: img/ipv4_acl_rule.*
A typical IPv4 ACL rule
diff --git a/doc/guides/sample_app_ug/l3_forward_graph.rst b/doc/guides/sample_app_ug/l3_forward_graph.rst
index 57afdf2e9c..e4316779de 100644
--- a/doc/guides/sample_app_ug/l3_forward_graph.rst
+++ b/doc/guides/sample_app_ug/l3_forward_graph.rst
@@ -145,8 +145,6 @@ In this command:
Refer to the *DPDK Getting Started Guide* for general information on running applications and
the Environment Abstraction Layer (EAL) options.
-.. _l3_fwd_graph_explanation:
-
Explanation
-----------
diff --git a/doc/guides/sample_app_ug/multi_process.rst b/doc/guides/sample_app_ug/multi_process.rst
index 1bd858bfb5..3342417a7a 100644
--- a/doc/guides/sample_app_ug/multi_process.rst
+++ b/doc/guides/sample_app_ug/multi_process.rst
@@ -127,8 +127,6 @@ The symmetric multi process example demonstrates how a set of processes can run
with each process performing the same set of packet- processing operations.
The following diagram shows the data-flow through the application, using two processes.
-.. _figure_sym_multi_proc_app:
-
.. figure:: img/sym_multi_proc_app.*
Example Data Flow in a Symmetric Multi-process Application
@@ -208,8 +206,6 @@ by sending each packet out on a different network port.
The following diagram shows the data-flow through the application, using two client processes.
-.. _figure_client_svr_sym_multi_proc_app:
-
.. figure:: img/client_svr_sym_multi_proc_app.*
Example Data Flow in a Client-Server Symmetric Multi-process Application
diff --git a/doc/guides/sample_app_ug/ptpclient.rst b/doc/guides/sample_app_ug/ptpclient.rst
index 0df465bcb4..4959234826 100644
--- a/doc/guides/sample_app_ug/ptpclient.rst
+++ b/doc/guides/sample_app_ug/ptpclient.rst
@@ -30,8 +30,6 @@ In order to keep the application simple the following assumptions are made:
How the Application Works
-------------------------
-.. _figure_ptpclient_highlevel:
-
.. figure:: img/ptpclient.*
PTP Synchronization Protocol
diff --git a/doc/guides/sample_app_ug/qos_metering.rst b/doc/guides/sample_app_ug/qos_metering.rst
index e7101559aa..a3f1b0a06f 100644
--- a/doc/guides/sample_app_ug/qos_metering.rst
+++ b/doc/guides/sample_app_ug/qos_metering.rst
@@ -79,8 +79,6 @@ The traffic meter parameters are configured in the application source code with
Assuming the input traffic is generated at line rate and all packets are 64 bytes Ethernet frames (IPv4 packet size of 46 bytes)
and green, the expected output traffic should be marked as shown in the following table:
-.. _table_qos_metering_1:
-
.. table:: Output Traffic Marking
+-------------+------------------+-------------------+----------------+
diff --git a/doc/guides/sample_app_ug/qos_scheduler.rst b/doc/guides/sample_app_ug/qos_scheduler.rst
index cd33beecb0..7805d240f9 100644
--- a/doc/guides/sample_app_ug/qos_scheduler.rst
+++ b/doc/guides/sample_app_ug/qos_scheduler.rst
@@ -11,8 +11,6 @@ Overview
The architecture of the QoS scheduler application is shown in the following figure.
-.. _figure_qos_sched_app_arch:
-
.. figure:: img/qos_sched_app_arch.*
QoS Scheduler Application Architecture
@@ -213,8 +211,6 @@ The Port/Subport/Pipe/Traffic Class/Queue are the hierarchical entities in a typ
The traffic flows that need to be configured are application dependent.
This application classifies based on the QinQ double VLAN tags and the IP destination address as indicated in the following table.
-.. _table_qos_scheduler_1:
-
.. table:: Entity Types
+----------------+-------------------------+--------------------------------------------------+----------------------------------+
diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst
index 818be93cd6..014c00121f 100644
--- a/doc/guides/sample_app_ug/test_pipeline.rst
+++ b/doc/guides/sample_app_ug/test_pipeline.rst
@@ -22,8 +22,6 @@ The application uses three CPU cores:
* Core C ("TX core") receives traffic from core B through software queues and sends it to the NIC ports for transmission.
-.. _figure_test_pipeline_app:
-
.. figure:: img/test_pipeline_app.*
Test Pipeline Application
diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index 873efbf7c7..68985e11ae 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -78,8 +78,6 @@ Then we can create 2 vdpa ports in interactive cmdline.
vdpa> create /tmp/vdpa-socket0 0000:06:00.3
vdpa> create /tmp/vdpa-socket1 0000:06:00.4
-.. _vdpa_app_run_vm:
-
Start the VMs
~~~~~~~~~~~~~
diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst
index 4c944a844a..72dad16434 100644
--- a/doc/guides/sample_app_ug/vhost.rst
+++ b/doc/guides/sample_app_ug/vhost.rst
@@ -67,8 +67,6 @@ Start the vswitch example
Check the `Parameters`_ section for the explanations on what do those
parameters mean.
-.. _vhost_app_run_dpdk_inside_guest:
-
Run testpmd inside guest
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -101,9 +99,6 @@ log from the dpdk-vhost console. It means you get it work::
VHOST_DATA: (0) mac 52:54:00:00:00:14 and vlan 1000 registered
-
-.. _vhost_app_parameters:
-
Parameters
----------
diff --git a/doc/guides/sample_app_ug/vhost_blk.rst b/doc/guides/sample_app_ug/vhost_blk.rst
index f33b3b6eaf..d8aaf7f43f 100644
--- a/doc/guides/sample_app_ug/vhost_blk.rst
+++ b/doc/guides/sample_app_ug/vhost_blk.rst
@@ -38,8 +38,6 @@ Start the vhost_blk example
./dpdk-vhost_blk -m 1024
-.. _vhost_blk_app_run_vm:
-
Start the VM
~~~~~~~~~~~~
diff --git a/doc/guides/sample_app_ug/vhost_crypto.rst b/doc/guides/sample_app_ug/vhost_crypto.rst
index 5c4475342c..9ed2cc0ce7 100644
--- a/doc/guides/sample_app_ug/vhost_crypto.rst
+++ b/doc/guides/sample_app_ug/vhost_crypto.rst
@@ -65,8 +65,6 @@ the specified crypto operation are available on application initialization.
This means that HW crypto device/s must be bound to a DPDK driver or
a SW crypto device/s (virtual crypto PMD) must be created (using --vdev).
-.. _vhost_crypto_app_run_vm:
-
Start the VM
~~~~~~~~~~~~
diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
index 1955140bb3..6ad669e4d6 100644
--- a/doc/guides/sample_app_ug/vm_power_management.rst
+++ b/doc/guides/sample_app_ug/vm_power_management.rst
@@ -54,8 +54,6 @@ directs frequency changes and policies to the host monitor rather than
the APCI ``cpufreq`` ``sysfs`` interface used on the host in non-virtualised
environments.
-.. _figure_vm_power_mgr_highlevel:
-
.. figure:: img/vm_power_mgr_highlevel.*
Highlevel Solution
@@ -108,9 +106,6 @@ determined automatically at runtime based on the environment. On
receiving a request, the host translates the vCPU to a pCPU using the
libvirt API before forwarding it to the host ``librte_power``.
-
-.. _figure_vm_power_mgr_vm_request_seq:
-
.. figure:: img/vm_power_mgr_vm_request_seq.*
In addition to the ability to send power management requests to the
diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
index 5b9a348016..6c1d8bb951 100644
--- a/doc/guides/tools/dts.rst
+++ b/doc/guides/tools/dts.rst
@@ -580,8 +580,6 @@ The output is generated in ``build/doc/api/dts/html``.
Make sure to fix any Sphinx warnings when adding or updating docstrings.
-.. _configuration_example:
-
Configuration Example
---------------------
@@ -623,8 +621,6 @@ to demonstrate custom test suite configuration:
You do not need to supply configurations for all test suites,
and not all test suites will support or need additional configuration.
-.. _tests_config_example:
-
``dts/configurations/tests_config.example.yaml``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/tools/graph.rst b/doc/guides/tools/graph.rst
index 0ffd29e41f..ebb5218c76 100644
--- a/doc/guides/tools/graph.rst
+++ b/doc/guides/tools/graph.rst
@@ -365,13 +365,9 @@ This section mentions the created graph for each use case.
l3fwd
~~~~~
-.. _figure_l3fwd_graph:
-
.. figure:: img/graph-usecase-l3fwd.*
l2fwd
~~~~~
-.. _figure_l2fwd_graph:
-
.. figure:: img/graph-usecase-l2fwd.*
diff --git a/doc/guides/tools/pdump.rst b/doc/guides/tools/pdump.rst
index 6f9bd77ab1..e46588061e 100644
--- a/doc/guides/tools/pdump.rst
+++ b/doc/guides/tools/pdump.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2016 Intel Corporation.
-.. _pdump_tool:
-
dpdk-pdump Application
======================
diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst
index f4687ecf6b..d5b280bdad 100644
--- a/doc/guides/tools/testeventdev.rst
+++ b/doc/guides/tools/testeventdev.rst
@@ -260,8 +260,6 @@ This is a functional test case that aims at testing the following:
#. Verify the ingress order maintenance.
#. Verify the exclusive(atomic) access to given atomic flow per eventdev port.
-.. _table_eventdev_order_queue_test:
-
.. table:: Order queue test eventdev configuration.
+---+--------------+----------------+------------------------+
@@ -282,8 +280,6 @@ This is a functional test case that aims at testing the following:
| | | | port n |
+---+--------------+----------------+------------------------+
-.. _figure_eventdev_order_queue_test:
-
.. figure:: img/eventdev_order_queue_test.*
order queue test operation.
@@ -343,8 +339,6 @@ but differs in two critical ways:
#. Atomicity is verified using spinlocks
for each combination of flow id and queue id.
-.. _table_eventdev_atomic_queue_test:
-
.. table:: Atomic queue test eventdev configuration.
+---+--------------+----------------+---------------------------+
@@ -365,8 +359,6 @@ but differs in two critical ways:
| | | | port n. |
+---+--------------+----------------+---------------------------+
-.. _figure_eventdev_atomic_queue_test:
-
.. figure:: img/eventdev_atomic_queue_test.*
atomic queue test operation.
@@ -433,8 +425,6 @@ This test verifies the same aspects of ``order_queue`` test, the difference is
the number of queues used, this test operates on a single ``all types queue(atq)``
instead of two different queues for ordered and atomic.
-.. _table_eventdev_order_atq_test:
-
.. table:: Order all types queue test eventdev configuration.
+---+--------------+----------------+------------------------+
@@ -455,8 +445,6 @@ instead of two different queues for ordered and atomic.
| | | | port n. |
+---+--------------+----------------+------------------------+
-.. _figure_eventdev_order_atq_test:
-
.. figure:: img/eventdev_order_atq_test.*
order all types queue test operation.
@@ -497,8 +485,6 @@ the difference is the number of queues used,
this test operates on a single ``all types queue(atq)``
instead of two different atomic queues.
-.. _table_eventdev_atomic_atq_test:
-
.. table:: Order all types queue test eventdev configuration.
+---+--------------+----------------+-------------------------+
@@ -519,8 +505,6 @@ instead of two different atomic queues.
| | | | port n. |
+---+--------------+----------------+-------------------------+
-.. _figure_eventdev_atomic_atq_test:
-
.. figure:: img/eventdev_atomic_atq_test.*
atomic all types queue test operation.
@@ -582,8 +566,6 @@ This is a performance test case that aims at testing the following:
| | | nb_producers | Producers use port n to port p |
+---+--------------+----------------+-----------------------------------------+
-.. _figure_eventdev_perf_queue_test:
-
.. figure:: img/eventdev_perf_queue_test.*
perf queue test operation.
@@ -720,8 +702,6 @@ This is a performance test case that aims at testing the following with
| | | nb_producers | Producers use port n to port p |
+---+--------------+----------------+-----------------------------------------+
-.. _figure_eventdev_perf_atq_test:
-
.. figure:: img/eventdev_perf_atq_test.*
perf all types queue test operation.
@@ -833,12 +813,8 @@ This is a pipeline test case that aims at testing the following:
| | | | depending on the Tx adapter capability. |
+---+--------------+----------------+-----------------------------------------+
-.. _figure_eventdev_pipeline_queue_test_generic:
-
.. figure:: img/eventdev_pipeline_queue_test_generic.*
-.. _figure_eventdev_pipeline_queue_test_internal_port:
-
.. figure:: img/eventdev_pipeline_queue_test_internal_port.*
pipeline queue test operation.
@@ -962,12 +938,8 @@ This is a pipeline test case that aims at testing the following with
| | | | depending on the Tx adapter capability. |
+---+--------------+----------------+-----------------------------------------+
-.. _figure_eventdev_pipeline_atq_test_generic:
-
.. figure:: img/eventdev_pipeline_atq_test_generic.*
-.. _figure_eventdev_pipeline_atq_test_internal_port:
-
.. figure:: img/eventdev_pipeline_atq_test_internal_port.*
pipeline atq test operation.
diff --git a/doc/guides/tools/testmldev.rst b/doc/guides/tools/testmldev.rst
index e3182c960f..05ad44297e 100644
--- a/doc/guides/tools/testmldev.rst
+++ b/doc/guides/tools/testmldev.rst
@@ -209,8 +209,6 @@ when handling with `N` number of models.
executes the sequence of load / start / stop / unload for a model in order,
followed by next model.
-.. _figure_mldev_model_ops_subtest_a:
-
.. figure:: img/mldev_model_ops_subtest_a.*
Execution sequence of model_ops subtest A.
@@ -219,8 +217,6 @@ followed by next model.
executes load for all models, followed by a start for all models.
Upon successful start of all models, stop is invoked for all models followed by unload.
-.. _figure_mldev_model_ops_subtest_b:
-
.. figure:: img/mldev_model_ops_subtest_b.*
Execution sequence of model_ops subtest B.
@@ -229,8 +225,6 @@ Upon successful start of all models, stop is invoked for all models followed by
loads all models, followed by a start and stop of all models in order.
Upon completion of stop, unload is invoked for all models.
-.. _figure_mldev_model_ops_subtest_c:
-
.. figure:: img/mldev_model_ops_subtest_c.*
Execution sequence of model_ops subtest C.
@@ -239,8 +233,6 @@ Upon completion of stop, unload is invoked for all models.
executes load and start for all models available.
Upon successful start of all models, stop is executed for the models.
-.. _figure_mldev_model_ops_subtest_d:
-
.. figure:: img/mldev_model_ops_subtest_d.*
Execution sequence of model_ops subtest D.
@@ -334,8 +326,6 @@ The model is unloaded upon completion of all inferences for the model.
The test would continue loading and executing inference requests for all models
specified through ``filelist`` option in an ordered manner.
-.. _figure_mldev_inference_ordered:
-
.. figure:: img/mldev_inference_ordered.*
Execution of inference_ordered on single model.
@@ -390,8 +380,6 @@ Total number of inferences enqueued for a model are equal to the repetitions spe
An additional pool of threads would dequeue the inferences from the device.
Models would be unloaded upon completion of inferences for all models loaded.
-.. _figure_mldev_inference_interleave:
-
.. figure:: img/mldev_inference_interleave.*
Execution of inference_interleave on single model.
diff --git a/doc/guides/vdpadevs/features_overview.rst b/doc/guides/vdpadevs/features_overview.rst
index 991c0998a5..1391e1692d 100644
--- a/doc/guides/vdpadevs/features_overview.rst
+++ b/doc/guides/vdpadevs/features_overview.rst
@@ -145,8 +145,6 @@ References
Features Table
==============
-.. _table_vdpa_pmd_features:
-
.. include:: overview_feature_table.txt
.. Note::
diff --git a/doc/guides/windows_gsg/index.rst b/doc/guides/windows_gsg/index.rst
index e945935727..e98be2462d 100644
--- a/doc/guides/windows_gsg/index.rst
+++ b/doc/guides/windows_gsg/index.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2019 Intel Corporation.
-.. _windows_gsg:
-
Getting Started Guide for Windows
=================================
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 3/8] doc: replace vague references with precise links
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 1/8] doc: adjust heading underline lengths Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 2/8] doc: remove unused labels from guides Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 4/8] doc: shorten page references in guides Thomas Monjalon
` (6 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: Shepard Siegel, Ed Czeck, John Miller, Selwin Sebastian,
Hemant Agrawal, Sachin Saxena, Shai Brandes, Evgeny Schemeilin,
Ron Beider, Amit Bernstein, Wajeeh Atrash, Bruce Richardson,
Anatoly Burakov, Andrew Boyer, Rosen Xu, Liron Himi,
Cristian Dumitrescu, Jiawen Wu, Zaiyu Wang, Maxime Coquelin,
Chenbo Xia, Jochen Behrens, Sivaprasad Tummala, Chengwen Feng,
Kevin Laatz, Sunil Kumar Kori, Pavan Nikhilesh, John McNamara,
Aman Singh
Some guide references describe another section or document
without linking to it, or link only to a broader page.
Use precise links to the referenced sections or documents.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/contributing/documentation.rst | 2 ++
doc/guides/contributing/patches.rst | 2 +-
doc/guides/faq/faq.rst | 2 +-
doc/guides/howto/openwrt.rst | 2 +-
doc/guides/linux_gsg/build_sample_apps.rst | 8 ++++----
doc/guides/linux_gsg/sys_reqs.rst | 2 ++
doc/guides/nics/ark.rst | 9 ++++-----
doc/guides/nics/axgbe.rst | 3 +--
doc/guides/nics/dpaa2.rst | 2 +-
doc/guides/nics/ena.rst | 7 +++----
doc/guides/nics/features.rst | 6 ++++--
doc/guides/nics/i40e.rst | 4 ++--
doc/guides/nics/ice.rst | 4 ++--
doc/guides/nics/ionic.rst | 5 ++---
doc/guides/nics/ipn3ke.rst | 4 ++--
doc/guides/nics/mvpp2.rst | 5 ++---
doc/guides/nics/softnic.rst | 11 +++++------
doc/guides/nics/txgbe.rst | 4 ++--
doc/guides/nics/vhost.rst | 2 +-
doc/guides/nics/virtio.rst | 2 +-
doc/guides/nics/vmxnet3.rst | 6 ++++--
doc/guides/prog_guide/ethdev/ethdev.rst | 4 ++--
doc/guides/prog_guide/multi_proc_support.rst | 7 +++----
doc/guides/prog_guide/power_man.rst | 10 +++-------
doc/guides/sample_app_ug/dma.rst | 4 ++--
doc/guides/sample_app_ug/eventdev_pipeline.rst | 9 +++++----
doc/guides/sample_app_ug/l2_forward_event.rst | 5 +++--
doc/guides/sample_app_ug/l2_forward_job_stats.rst | 4 ++--
doc/guides/sample_app_ug/l2_forward_real_virtual.rst | 4 ++--
doc/guides/sample_app_ug/link_status_intr.rst | 4 ++--
doc/guides/sample_app_ug/ptpclient.rst | 4 ++--
doc/guides/sample_app_ug/qos_scheduler.rst | 3 ++-
doc/guides/sample_app_ug/skeleton.rst | 4 ++--
doc/guides/sample_app_ug/vhost.rst | 2 +-
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 4 ++++
35 files changed, 82 insertions(+), 78 deletions(-)
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index b8ef8131b5..10c35db0c1 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -58,6 +58,8 @@ Role of the Documentation
The following items outline the roles of the different parts of the documentation and when they need to be updated or
added to by the developer.
+.. _contrib_doc_guidelines_release_notes:
+
* **Release Notes**
The Release Notes document which features have been added in the current and previous releases of DPDK and highlight
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 682f4fda28..027e6c0858 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -169,7 +169,7 @@ Make your planned changes in the cloned ``dpdk`` repo. Here are some guidelines
* When introducing a new device API, at least one driver should implement it.
* Important changes will require an addition to the release notes in ``doc/guides/rel_notes/``.
- See the :ref:`Release Notes section of the Documentation Guidelines <doc_guidelines>` for details.
+ See the :ref:`release notes guidelines <contrib_doc_guidelines_release_notes>`.
* Test the compilation works with different targets, compilers and options, see :ref:`contrib_check_compilation`.
diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst
index d42c4314e2..c947002a85 100644
--- a/doc/guides/faq/faq.rst
+++ b/doc/guides/faq/faq.rst
@@ -6,7 +6,7 @@ What does "EAL: map_all_hugepages(): open failed: Permission denied Cannot init
This is most likely due to the test application not being run with sudo to promote the user to a superuser.
Alternatively, applications can also be run as regular user.
-For more information, please refer to :ref:`DPDK Getting Started Guide <linux_gsg>`.
+For more information, please refer to :ref:`Running_Without_Root_Privileges`.
If I want to change the number of hugepages allocated, how do I remove the original pages allocated?
diff --git a/doc/guides/howto/openwrt.rst b/doc/guides/howto/openwrt.rst
index be902c505f..0b125308d6 100644
--- a/doc/guides/howto/openwrt.rst
+++ b/doc/guides/howto/openwrt.rst
@@ -150,7 +150,7 @@ Running DPDK
~~~~~~~~~~~~
More detailed info about how to run a DPDK application please refer to
-``Running DPDK Applications`` section of :ref:`the DPDK documentation <linux_gsg>`.
+:ref:`linux_gsg_running_apps`.
.. note::
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 5195af67ad..4d233c7d05 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -39,9 +39,9 @@ Copy the DPDK application binary to your target, then run the application as fol
.. note::
The ``--proc-type`` and ``--file-prefix`` EAL options are used for running
- multiple DPDK processes. See the "Multi-process Sample Application"
- chapter in the *DPDK Sample Applications User Guide* and the *DPDK
- Programmers Guide* for more details.
+ multiple DPDK processes.
+ See :doc:`/sample_app_ug/multi_process`
+ and :doc:`/prog_guide/multi_proc_support` for more details.
Logical Core Use by Applications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -123,5 +123,5 @@ Additional Sample Applications
Additional sample applications are included in the DPDK examples directory.
These sample applications may be built and run in a manner similar to that described in earlier sections in this manual.
-In addition, see the *DPDK Sample Applications User Guide* for a description of the application,
+In addition, see :doc:`/sample_app_ug/index` for descriptions of the applications,
specific instructions on compilation and execution and some explanation of the code.
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 869584c344..a3eef5b93d 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -90,6 +90,8 @@ For poll-mode drivers, the additional dependencies for each driver can be
found in that driver's documentation in the relevant DPDK guide document,
e.g. :doc:`../nics/index`
+.. _linux_gsg_running_apps:
+
Running DPDK Applications
-------------------------
diff --git a/doc/guides/nics/ark.rst b/doc/guides/nics/ark.rst
index c8ed57289b..078435cfe7 100644
--- a/doc/guides/nics/ark.rst
+++ b/doc/guides/nics/ark.rst
@@ -272,8 +272,7 @@ extension file generated above. For example:
Building DPDK
-------------
-See the :ref:`DPDK Getting Started Guide for Linux <linux_gsg>` for
-instructions on how to build DPDK.
+See :doc:`/linux_gsg/build_dpdk` for instructions.
By default the ARK PMD library will be built into the DPDK library.
@@ -354,9 +353,9 @@ are required, please contact Atomic Rules support.
Supported Operating Systems
---------------------------
-Any Linux distribution fulfilling the conditions described in ``System Requirements``
-section of :ref:`the DPDK documentation <linux_gsg>` or refer to *DPDK
-Release Notes*. ARM and PowerPC architectures are not supported at this time.
+Any Linux distribution fulfilling the conditions described in
+:doc:`/linux_gsg/sys_reqs` or refer to :doc:`/rel_notes/index`.
+ARM and PowerPC architectures are not supported at this time.
Supported Features
diff --git a/doc/guides/nics/axgbe.rst b/doc/guides/nics/axgbe.rst
index 961b5c967d..176d0c9133 100644
--- a/doc/guides/nics/axgbe.rst
+++ b/doc/guides/nics/axgbe.rst
@@ -30,8 +30,7 @@ AXGBE PMD has support for:
Building DPDK
-------------
-See the :ref:`DPDK Getting Started Guide for Linux <linux_gsg>` for
-instructions on how to build DPDK.
+See :doc:`/linux_gsg/build_dpdk` for instructions.
By default the AXGBE PMD library will be built into the DPDK library.
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index d8fe99ae40..4fdb7383c3 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -638,7 +638,7 @@ The following capabilities are supported:
Usage example
~~~~~~~~~~~~~
-For a detailed usage description please refer to "Traffic Management" section in DPDK :doc:`../testpmd_app_ug/testpmd_funcs`.
+For a detailed usage description please refer to :ref:`testpmd_traffic_management`.
#. Run testpmd as follows:
diff --git a/doc/guides/nics/ena.rst b/doc/guides/nics/ena.rst
index ee5bfaeab8..52156a9fdf 100644
--- a/doc/guides/nics/ena.rst
+++ b/doc/guides/nics/ena.rst
@@ -175,8 +175,7 @@ ENA Configuration Parameters
Building DPDK
-------------
-See the :ref:`DPDK Getting Started Guide for Linux <linux_gsg>` for
-instructions on how to build DPDK.
+See :doc:`/linux_gsg/build_dpdk` for instructions.
By default the ENA PMD library will be built into the DPDK library.
@@ -186,8 +185,8 @@ documentation that comes with DPDK suite <linux_gsg>`.
Supported Operating Systems
---------------------------
-Any Linux distribution fulfilling the conditions described in ``System Requirements``
-section of :ref:`the DPDK documentation <linux_gsg>` or refer to *DPDK Release Notes*.
+Any Linux distribution fulfilling the conditions described in
+:doc:`/linux_gsg/sys_reqs` or refer to :doc:`/rel_notes/index`.
Prerequisites
-------------
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 26357036ca..43db96c3e1 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -443,7 +443,8 @@ Inline crypto
Supports inline crypto processing defined by rte_security library to perform crypto
operations of security protocol while packet is received in NIC. NIC is not aware
-of protocol operations. See Security library and PMD documentation for more details.
+of protocol operations.
+See :doc:`/prog_guide/rte_security` and PMD documentation for more details.
* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:RTE_ETH_RX_OFFLOAD_SECURITY``,
* **[uses] rte_eth_txconf,rte_eth_txmode**: ``offloads:RTE_ETH_TX_OFFLOAD_SECURITY``.
@@ -465,7 +466,8 @@ Inline protocol
Supports inline protocol processing defined by rte_security library to perform
protocol processing for the security protocol (e.g. IPsec, MACSEC) while the
packet is received at NIC. The NIC is capable of understanding the security
-protocol operations. See security library and PMD documentation for more details.
+protocol operations.
+See :doc:`/prog_guide/rte_security` and PMD documentation for more details.
* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:RTE_ETH_RX_OFFLOAD_SECURITY``,
* **[uses] rte_eth_txconf,rte_eth_txmode**: ``offloads:RTE_ETH_TX_OFFLOAD_SECURITY``.
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index fdfe257ba4..a2858ef8bc 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -54,8 +54,8 @@ Linux Prerequisites
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
-- To get better performance on Intel platforms, please follow the "How to get best performance with NICs on Intel platforms"
- section of the :ref:`Getting Started Guide for Linux <linux_gsg>`.
+- To get better performance on Intel platforms,
+ please follow :doc:`/linux_gsg/nic_perf_intel_platform`.
- Upgrade the NVM/FW version following the `Intel® Ethernet NVM Update Tool Quick Usage Guide for Linux
<https://www-ssl.intel.com/content/www/us/en/embedded/products/networking/nvm-update-tool-quick-linux-usage-guide.html>`_ and `Intel® Ethernet NVM Update Tool: Quick Usage Guide for EFI <https://www.intel.com/content/www/us/en/embedded/products/networking/nvm-update-tool-quick-efi-usage-guide.html>`_ if needed.
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 7e23a3cad3..3f3d36586d 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -19,8 +19,8 @@ Linux Prerequisites
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
-- To get better performance on Intel platforms, please follow the "How to get best performance with NICs on Intel platforms"
- section of the :ref:`Getting Started Guide for Linux <linux_gsg>`.
+- To get better performance on Intel platforms,
+ please follow :doc:`/linux_gsg/nic_perf_intel_platform`.
- Please follow the matching list to download specific kernel driver, firmware and DDP package from
`https://www.intel.com/content/www/us/en/search.html?ws=text#q=e810&t=Downloads&layout=table`.
diff --git a/doc/guides/nics/ionic.rst b/doc/guides/nics/ionic.rst
index 2709a888fb..90c5aabec8 100644
--- a/doc/guides/nics/ionic.rst
+++ b/doc/guides/nics/ionic.rst
@@ -57,6 +57,5 @@ Runtime Configuration
Building DPDK
-------------
-The ionic PMD supports UIO and VFIO. Please refer to the
-:ref:`DPDK documentation that comes with the DPDK suite <linux_gsg>`
-for instructions on how to build DPDK.
+The ionic PMD supports UIO and VFIO.
+Please refer to :doc:`/linux_gsg/build_dpdk` for instructions.
diff --git a/doc/guides/nics/ipn3ke.rst b/doc/guides/nics/ipn3ke.rst
index 410da3b4a9..c86037a3c2 100644
--- a/doc/guides/nics/ipn3ke.rst
+++ b/doc/guides/nics/ipn3ke.rst
@@ -24,8 +24,8 @@ Prerequisites
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
-- To get better performance on Intel platforms, please follow the "How to get best performance with NICs on Intel platforms"
- section of the :ref:`Getting Started Guide for Linux <linux_gsg>`.
+- To get better performance on Intel platforms,
+ please follow :doc:`/linux_gsg/nic_perf_intel_platform`.
Configuration
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 3ecb253ae6..48cbe97f23 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -616,8 +616,7 @@ Usage example
testpmd> flow create 0 ingress pattern ipv4 src is 10.10.10.1 / end actions meter mtr_id 0 / end
-For a detailed usage description please refer to "Traffic Metering and Policing" section in DPDK :doc:`Testpmd Runtime Functions <../testpmd_app_ug/testpmd_funcs>`.
-
+For a detailed usage description please refer to :ref:`testpmd_traffic_metering_and_policing`.
.. _tmapi:
@@ -672,7 +671,7 @@ The following capabilities are not supported:
Usage example
~~~~~~~~~~~~~
-For a detailed usage description please refer to "Traffic Management" section in DPDK :doc:`../testpmd_app_ug/testpmd_funcs`.
+For a detailed usage description please refer to :ref:`testpmd_traffic_management`.
#. Run testpmd as follows:
diff --git a/doc/guides/nics/softnic.rst b/doc/guides/nics/softnic.rst
index 70a313be94..603fdb49c4 100644
--- a/doc/guides/nics/softnic.rst
+++ b/doc/guides/nics/softnic.rst
@@ -9,9 +9,9 @@ is DIY and reconfigurable through ``firmware`` (DPDK Packet Framework script).
The Soft NIC leverages the DPDK Packet Framework libraries (librte_port,
librte_table and librte_pipeline) to make it modular, flexible and extensible
-with new functionality. Please refer to DPDK Programmer's Guide, Chapter
-``Packet Framework`` and DPDK Sample Application User Guide,
-Chapter ``IP Pipeline Application`` for more details.
+with new functionality.
+Please refer to :doc:`/prog_guide/packet_framework` and
+:doc:`/sample_app_ug/ip_pipeline` for more details.
The Soft NIC is configured through the standard DPDK ethdev API (ethdev, flow,
QoS, security). The internal framework is not externally visible.
@@ -47,9 +47,8 @@ Flow
Supported Operating Systems
---------------------------
-Any Linux distribution fulfilling the conditions described in ``System Requirements``
-section of :ref:`the DPDK documentation <linux_gsg>` or refer to *DPDK
-Release Notes*.
+Any Linux distribution fulfilling the conditions described in
+:doc:`/linux_gsg/sys_reqs` or refer to :doc:`/rel_notes/index`.
Runtime Configuration
diff --git a/doc/guides/nics/txgbe.rst b/doc/guides/nics/txgbe.rst
index 44b60647a5..35159fee11 100644
--- a/doc/guides/nics/txgbe.rst
+++ b/doc/guides/nics/txgbe.rst
@@ -204,7 +204,7 @@ For example, create a flow rule:
testpmd> flow create 0 ingress pattern eth type is 0x0806 / end actions queue index 2 / end
-For a detailed usage description please refer to "Flow rules management" section in DPDK :doc:`../testpmd_app_ug/testpmd_funcs`.
+For a detailed usage description please refer to :ref:`testpmd_rte_flow`.
Traffic Management API
~~~~~~~~~~~~~~~~~~~~~~
@@ -219,7 +219,7 @@ For example, add shaper profile
testpmd> add port tm node shaper profile 0 0 0 0 25000000 0 0
-For a detailed usage description please refer to "Traffic Management" section in DPDK :doc:`../testpmd_app_ug/testpmd_funcs`.
+For a detailed usage description please refer to :ref:`testpmd_traffic_management`.
Limitations or Known issues
---------------------------
diff --git a/doc/guides/nics/vhost.rst b/doc/guides/nics/vhost.rst
index d7341c22ee..d977fca9aa 100644
--- a/doc/guides/nics/vhost.rst
+++ b/doc/guides/nics/vhost.rst
@@ -10,7 +10,7 @@ The user can handle virtqueues as one of normal DPDK port.
Vhost Implementation in DPDK
----------------------------
-Please refer to Chapter "Vhost Library" of *DPDK Programmer's Guide* to know detail of vhost.
+Please refer to :doc:`/prog_guide/vhost_lib` for details about vhost.
Features and Limitations of vhost PMD
-------------------------------------
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index e8a6dd02fe..38375636f3 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -12,7 +12,7 @@ for fast guest VM to guest VM communication and guest VM to host communication.
Vhost is a kernel acceleration module for virtio qemu backend.
For basic qemu-KVM installation and other Intel EM poll mode driver in guest VM,
-please refer to Chapter "Driver for VM Emulated Devices".
+please refer to :doc:`/nics/e1000em`.
In this chapter, we will demonstrate usage of virtio PMD with two backends,
standard qemu vhost back end.
diff --git a/doc/guides/nics/vmxnet3.rst b/doc/guides/nics/vmxnet3.rst
index 743369995a..6c42f7c036 100644
--- a/doc/guides/nics/vmxnet3.rst
+++ b/doc/guides/nics/vmxnet3.rst
@@ -125,8 +125,10 @@ The following prerequisites apply:
.. note::
- Follow the *DPDK Sample Application's User Guide*, L2 Forwarding/L3 Forwarding and
- TestPMD for instructions on how to run a DPDK application using an assigned VMXNET3 device.
+ Follow the :doc:`L2 Forwarding </sample_app_ug/l2_forward_real_virtual>`,
+ :doc:`L3 Forwarding </sample_app_ug/l3_forward>` and
+ :doc:`TestPMD </testpmd_app_ug/index>` guides
+ for instructions on how to run a DPDK application using an assigned VMXNET3 device.
VMXNET3 with a Native NIC Connected to a vSwitch
------------------------------------------------
diff --git a/doc/guides/prog_guide/ethdev/ethdev.rst b/doc/guides/prog_guide/ethdev/ethdev.rst
index 0f076d6eaf..6521fe14a5 100644
--- a/doc/guides/prog_guide/ethdev/ethdev.rst
+++ b/doc/guides/prog_guide/ethdev/ethdev.rst
@@ -360,8 +360,8 @@ Two scenarios exist where an application may want the mbuf released immediately:
for each destination interface used
to request it to release all used mbufs.
-To determine if a driver supports this API, check for the *Free Tx mbuf on demand* feature
-in the *Network Interface Controller Drivers* document.
+To determine if a driver supports this API, check for the
+:ref:`nic_features_free_tx_mbuf_on_demand` feature.
Hardware Offload
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index b465c47727..453d815fba 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -43,8 +43,7 @@ two additional command-line parameters are available to the EAL:
* ``--file-prefix:`` to allow processes that do not want to co-operate to have different memory regions
A number of example applications are provided that demonstrate how multiple DPDK processes can be used together.
-These are more fully documented in the "Multi- process Sample Application" chapter
-in the *DPDK Sample Application's User Guide*.
+These are more fully documented in :doc:`/sample_app_ug/multi_process`.
Memory Sharing
--------------
@@ -91,7 +90,7 @@ In this model, the first of the processes spawned should be spawned using the ``
while all subsequent instances should be spawned using the ``--proc-type=secondary`` flag.
The simple_mp and symmetric_mp sample applications demonstrate this usage model.
-They are described in the "Multi-process Sample Application" chapter in the *DPDK Sample Application's User Guide*.
+They are described in :doc:`/sample_app_ug/multi_process`.
Asymmetric/Non-Peer Processes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -102,7 +101,7 @@ server distributing received packets among worker or client threads, which are r
In this case, extensive use of rte_ring objects is made, which are located in shared hugepage memory.
The client_server_mp sample application shows this usage model.
-It is described in the "Multi-process Sample Application" chapter in the *DPDK Sample Application's User Guide*.
+It is described in :doc:`/sample_app_ug/multi_process`.
Running Multiple Independent DPDK Applications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/power_man.rst b/doc/guides/prog_guide/power_man.rst
index 74039e5786..915d9da3fd 100644
--- a/doc/guides/prog_guide/power_man.rst
+++ b/doc/guides/prog_guide/power_man.rst
@@ -290,10 +290,6 @@ Get Num Dies
References
----------
-* The :doc:`../sample_app_ug/l3_forward_power_man`
- chapter in the :doc:`../sample_app_ug/index` section.
-
-* The :doc:`../sample_app_ug/vm_power_management`
- chapter in the :doc:`../sample_app_ug/index` section.
-
-* The :doc:`../nics/overview` chapter in the :doc:`../nics/index` section
+* :doc:`../sample_app_ug/l3_forward_power_man`
+* :doc:`../sample_app_ug/vm_power_management`
+* :doc:`../nics/overview`
diff --git a/doc/guides/sample_app_ug/dma.rst b/doc/guides/sample_app_ug/dma.rst
index 7d177fd44d..a455f9c8ad 100644
--- a/doc/guides/sample_app_ug/dma.rst
+++ b/doc/guides/sample_app_ug/dma.rst
@@ -135,8 +135,8 @@ used by the application:
:end-before: >8 End of allocates mempool to hold the mbufs.
:dedent: 1
-Mbufs are the packet buffer structure used by DPDK. They are explained in
-detail in the "Mbuf Library" section of the *DPDK Programmer's Guide*.
+Mbufs are the packet buffer structure used by DPDK.
+They are explained in detail in the :doc:`/prog_guide/mbuf_lib`.
The ``main()`` function also initializes the ports:
diff --git a/doc/guides/sample_app_ug/eventdev_pipeline.rst b/doc/guides/sample_app_ug/eventdev_pipeline.rst
index 19ff53803e..237bfdd471 100644
--- a/doc/guides/sample_app_ug/eventdev_pipeline.rst
+++ b/doc/guides/sample_app_ug/eventdev_pipeline.rst
@@ -61,8 +61,8 @@ will print an error message:
rx: 0
tx: 1
-Configuration of the eventdev is covered in detail in the programmers guide,
-see the Event Device Library section.
+Configuration of the eventdev is covered in detail in the programmer's guide,
+see :doc:`/prog_guide/eventdev/eventdev`.
Observing the Application
@@ -143,5 +143,6 @@ transmitted, and an overview of the distribution of work across worker cores.
To get a full dump of the state of the eventdev PMD, pass the ``-D`` flag to
this application. When the app is terminated using ``Ctrl+C``, the
``rte_event_dev_dump()`` function is called, resulting in a dump of the
-statistics that the PMD provides. The statistics provided depend on the PMD
-used, see the Event Device Drivers section for a list of eventdev PMDs.
+statistics that the PMD provides.
+The statistics provided depend on the PMD used,
+see :doc:`/eventdevs/index` for a list of eventdev PMDs.
diff --git a/doc/guides/sample_app_ug/l2_forward_event.rst b/doc/guides/sample_app_ug/l2_forward_event.rst
index 01f7ca88ae..a71620469e 100644
--- a/doc/guides/sample_app_ug/l2_forward_event.rst
+++ b/doc/guides/sample_app_ug/l2_forward_event.rst
@@ -178,8 +178,9 @@ Driver Initialization
The main part of the code in the ``main()`` function relates to the initialization
of the driver. To fully understand this code, it is recommended to study the
-chapters related to the Poll Mode and Event mode Driver in the
-*DPDK Programmer's Guide* - Rel 1.4 EAR and the *DPDK API Reference*.
+chapters related to :doc:`/prog_guide/ethdev/ethdev`
+and :doc:`/prog_guide/eventdev/eventdev`,
+as well as the DPDK API Reference.
.. literalinclude:: ../../../examples/l2fwd-event/main.c
:language: c
diff --git a/doc/guides/sample_app_ug/l2_forward_job_stats.rst b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
index 23448f23a4..67ea125c41 100644
--- a/doc/guides/sample_app_ug/l2_forward_job_stats.rst
+++ b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
@@ -163,8 +163,8 @@ Driver Initialization
~~~~~~~~~~~~~~~~~~~~~
The main part of the code in the ``main()`` function relates to the initialization of the driver.
-To fully understand this code, it is recommended to study the chapters that related to the Poll Mode Driver
-in the *DPDK Programmer's Guide* and the *DPDK API Reference*.
+To fully understand this code, it is recommended to study
+:doc:`/prog_guide/ethdev/ethdev` and the DPDK API Reference.
.. literalinclude:: ../../../examples/l2fwd-jobstats/main.c
:language: c
diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
index bf848ce2db..aff7af7c57 100644
--- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
+++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
@@ -189,8 +189,8 @@ Driver Initialization
~~~~~~~~~~~~~~~~~~~~~
The main part of the code in the ``main()`` function relates to the initialization of the driver.
-To fully understand this code, it is recommended to study the chapters related to the Poll Mode Driver
-in the *DPDK Programmer's Guide* - Rel 1.4 EAR and the *DPDK API Reference*.
+To fully understand this code, it is recommended to study
+:doc:`/prog_guide/ethdev/ethdev` and the DPDK API Reference.
.. literalinclude:: ../../../examples/l2fwd/main.c
:language: c
diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst
index fd4e32560c..3038fe030a 100644
--- a/doc/guides/sample_app_ug/link_status_intr.rst
+++ b/doc/guides/sample_app_ug/link_status_intr.rst
@@ -84,8 +84,8 @@ Driver Initialization
~~~~~~~~~~~~~~~~~~~~~
The main part of the code in the main() function relates to the initialization of the driver.
-To fully understand this code, it is recommended to study the chapters that related to the Poll Mode Driver in the
-*DPDK Programmer's Guide and the DPDK API Reference*.
+To fully understand this code, it is recommended to study
+:doc:`/prog_guide/ethdev/ethdev` and the DPDK API Reference.
.. literalinclude:: ../../../examples/link_status_interrupt/main.c
:language: c
diff --git a/doc/guides/sample_app_ug/ptpclient.rst b/doc/guides/sample_app_ug/ptpclient.rst
index 4959234826..8d802ac08b 100644
--- a/doc/guides/sample_app_ug/ptpclient.rst
+++ b/doc/guides/sample_app_ug/ptpclient.rst
@@ -116,8 +116,8 @@ used by the application:
:end-before: >8 End of a new mempool in memory to hold the mbufs.
:dedent: 1
-Mbufs are the packet buffer structure used by DPDK. They are explained in
-detail in the "Mbuf Library" section of the *DPDK Programmer's Guide*.
+Mbufs are the packet buffer structure used by DPDK.
+They are explained in detail in the :doc:`/prog_guide/mbuf_lib`.
The ``main()`` function also initializes all the ports using the user defined
``port_init()`` function with portmask provided by user:
diff --git a/doc/guides/sample_app_ug/qos_scheduler.rst b/doc/guides/sample_app_ug/qos_scheduler.rst
index 7805d240f9..23d68aba48 100644
--- a/doc/guides/sample_app_ug/qos_scheduler.rst
+++ b/doc/guides/sample_app_ug/qos_scheduler.rst
@@ -233,4 +233,5 @@ This application classifies based on the QinQ double VLAN tags and the IP destin
| | Lowest Priority TC: 4 | class (Best effort) serviced in WRR | |
+----------------+-------------------------+--------------------------------------------------+----------------------------------+
-Please refer to the "QoS Scheduler" chapter in the *DPDK Programmer's Guide* for more information about these parameters.
+Please refer to the :doc:`/prog_guide/ethdev/qos_framework`
+for more information about these parameters.
diff --git a/doc/guides/sample_app_ug/skeleton.rst b/doc/guides/sample_app_ug/skeleton.rst
index 5f7f18dbc2..4c2c8a8bd5 100644
--- a/doc/guides/sample_app_ug/skeleton.rst
+++ b/doc/guides/sample_app_ug/skeleton.rst
@@ -69,8 +69,8 @@ used by the application:
:end-before: >8 End of allocating mempool to hold mbuf.
:dedent: 1
-Mbufs are the packet buffer structure used by DPDK. They are explained in
-detail in the "Mbuf Library" section of the *DPDK Programmer's Guide*.
+Mbufs are the packet buffer structure used by DPDK.
+They are explained in detail in the :doc:`/prog_guide/mbuf_lib`.
The ``main()`` function also initializes all the ports using the user defined
``port_init()`` function which is explained in the next section:
diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst
index 72dad16434..2726dba604 100644
--- a/doc/guides/sample_app_ug/vhost.rst
+++ b/doc/guides/sample_app_ug/vhost.rst
@@ -87,7 +87,7 @@ Then start testpmd for packet forwarding testing.
> start tx_first
For more information about vIOMMU and NO-IOMMU and VFIO please refer to
-:doc:`/../linux_gsg/linux_drivers` section of the DPDK Getting started guide.
+the :doc:`Linux Drivers </../linux_gsg/linux_drivers>` section of the documentation.
Inject packets
--------------
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index cbaa616a52..0bc267950a 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -2439,6 +2439,8 @@ manage link bonding devices from within testpmd interactive prompt.
See :doc:`../prog_guide/link_bonding_poll_mode_drv_lib` for more information.
+.. _testpmd_traffic_metering_and_policing:
+
Traffic Metering and Policing
-----------------------------
@@ -2651,6 +2653,8 @@ where:
* ``clear``: Flag that indicates whether the statistics counters should
be cleared (i.e. set to zero) immediately after they have been read or not.
+.. _testpmd_traffic_management:
+
Traffic Management
------------------
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 4/8] doc: shorten page references in guides
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
` (2 preceding siblings ...)
2026-07-16 10:31 ` [PATCH v3 3/8] doc: replace vague references with precise links Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 5/8] doc: link whole-guide references to pages Thomas Monjalon
` (5 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: Zongyu Wu, Chengfei Han, Ming Ran, Ankur Dwivedi, Anoob Joseph,
Tejasree Kondoj, Gagandeep Singh, Hemant Agrawal, Matan Azrad,
Kai Ji, Vamsi Attunuru, Sachin Saxena, Pavan Nikhilesh,
Shijith Thotton, Jerin Jacob, Akhil Goyal, Bruce Richardson,
Ashwin Sekhar T K, Srikanth Yalavarthi, Kishore Padmanabha,
Ajit Khaparde, Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori,
Satha Rao, Harman Kalra, Praveen Shetty, Anatoly Burakov,
Jingjing Wu, Vladimir Medvedkin, Jakub Grajciar,
Viacheslav Ovsiienko, Dariusz Sosnowski, Bing Zhao, Ori Kam,
Suanming Mou, Liron Himi, Fan Zhang, Chengwen Feng, Kevin Laatz,
Sivaprasad Tummala, Konstantin Ananyev, Aman Singh, Luca Vizzarro,
Patrick Robb, Wisam Jaddo, Nicolas Chautru, Dmitry Kozlyuk
When linking to a document in a different guide,
using absolute path may be shorter than relative path.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/compressdevs/mlx5.rst | 2 +-
doc/guides/compressdevs/uadk.rst | 2 +-
doc/guides/compressdevs/zsda.rst | 2 +-
doc/guides/contributing/abi_policy.rst | 2 +-
doc/guides/contributing/abi_versioning.rst | 9 ++--
doc/guides/contributing/design.rst | 4 +-
doc/guides/contributing/documentation.rst | 2 +-
doc/guides/contributing/patches.rst | 2 +-
doc/guides/cryptodevs/cnxk.rst | 4 +-
doc/guides/cryptodevs/dpaa2_sec.rst | 2 +-
doc/guides/cryptodevs/dpaa_sec.rst | 2 +-
doc/guides/cryptodevs/mlx5.rst | 2 +-
doc/guides/cryptodevs/octeontx.rst | 2 +-
doc/guides/cryptodevs/qat.rst | 4 +-
doc/guides/cryptodevs/uadk.rst | 2 +-
doc/guides/dmadevs/cnxk.rst | 2 +-
doc/guides/dmadevs/dpaa.rst | 2 +-
doc/guides/dmadevs/dpaa2.rst | 2 +-
doc/guides/eventdevs/cnxk.rst | 2 +-
doc/guides/eventdevs/dpaa.rst | 2 +-
doc/guides/eventdevs/dpaa2.rst | 2 +-
doc/guides/eventdevs/octeontx.rst | 2 +-
doc/guides/faq/faq.rst | 2 +-
doc/guides/howto/af_xdp_dp.rst | 6 +--
doc/guides/howto/flow_bifurcation.rst | 2 +-
doc/guides/howto/packet_capture_framework.rst | 6 +--
doc/guides/howto/pvp_reference_benchmark.rst | 4 +-
doc/guides/howto/rte_flow.rst | 2 +-
doc/guides/howto/security.rst | 46 +++++++++----------
doc/guides/howto/telemetry.rst | 2 +-
doc/guides/linux_gsg/doc_roadmap.include.rst | 28 +++++------
doc/guides/linux_gsg/sys_reqs.rst | 2 +-
doc/guides/mempool/cnxk.rst | 2 +-
doc/guides/mempool/octeontx.rst | 2 +-
doc/guides/mempool/ring.rst | 2 +-
doc/guides/mempool/stack.rst | 2 +-
doc/guides/mldevs/cnxk.rst | 2 +-
doc/guides/nics/bnxt.rst | 2 +-
doc/guides/nics/build_and_test.rst | 2 +-
doc/guides/nics/cnxk.rst | 2 +-
doc/guides/nics/cpfl.rst | 4 +-
doc/guides/nics/dpaa.rst | 2 +-
doc/guides/nics/dpaa2.rst | 4 +-
doc/guides/nics/features.rst | 2 +-
doc/guides/nics/i40e.rst | 2 +-
doc/guides/nics/ice.rst | 2 +-
doc/guides/nics/idpf.rst | 4 +-
doc/guides/nics/ixgbe.rst | 2 +-
doc/guides/nics/memif.rst | 2 +-
doc/guides/nics/mlx4.rst | 2 +-
doc/guides/nics/mlx5.rst | 6 +--
doc/guides/nics/mvpp2.rst | 6 +--
doc/guides/nics/octeon_ep.rst | 2 +-
doc/guides/nics/octeontx.rst | 2 +-
doc/guides/platform/bluefield.rst | 8 ++--
doc/guides/platform/cnxk.rst | 20 ++++----
doc/guides/platform/dpaa.rst | 6 +--
doc/guides/platform/dpaa2.rst | 10 ++--
doc/guides/platform/mlx5.rst | 12 ++---
doc/guides/platform/octeontx.rst | 10 ++--
doc/guides/prog_guide/build-sdk-meson.rst | 6 +--
doc/guides/prog_guide/build_app.rst | 2 +-
doc/guides/prog_guide/cmdline.rst | 2 +-
doc/guides/prog_guide/cryptodev_lib.rst | 4 +-
doc/guides/prog_guide/devargs.rst | 2 +-
doc/guides/prog_guide/dmadev.rst | 2 +-
doc/guides/prog_guide/power_man.rst | 2 +-
doc/guides/prog_guide/profile_app.rst | 2 +-
doc/guides/prog_guide/rte_security.rst | 4 +-
doc/guides/prog_guide/source_org.rst | 2 +-
doc/guides/prog_guide/telemetry_lib.rst | 2 +-
doc/guides/prog_guide/trace_lib.rst | 2 +-
doc/guides/rawdevs/dpaa2_cmdif.rst | 2 +-
doc/guides/regexdevs/cn9k.rst | 2 +-
doc/guides/regexdevs/mlx5.rst | 2 +-
doc/guides/rel_notes/deprecation.rst | 4 +-
doc/guides/rel_notes/release_17_02.rst | 4 +-
doc/guides/rel_notes/release_17_11.rst | 16 +++----
doc/guides/rel_notes/release_18_02.rst | 4 +-
doc/guides/rel_notes/release_18_05.rst | 14 +++---
doc/guides/rel_notes/release_18_08.rst | 4 +-
doc/guides/rel_notes/release_18_11.rst | 10 ++--
doc/guides/rel_notes/release_19_02.rst | 6 +--
doc/guides/rel_notes/release_19_05.rst | 4 +-
doc/guides/rel_notes/release_19_08.rst | 6 +--
doc/guides/rel_notes/release_19_11.rst | 14 +++---
doc/guides/rel_notes/release_20_02.rst | 4 +-
doc/guides/rel_notes/release_20_05.rst | 4 +-
doc/guides/rel_notes/release_20_08.rst | 4 +-
doc/guides/rel_notes/release_20_11.rst | 10 ++--
doc/guides/rel_notes/release_21_02.rst | 4 +-
doc/guides/rel_notes/release_21_08.rst | 4 +-
doc/guides/rel_notes/release_21_11.rst | 6 +--
doc/guides/rel_notes/release_22_03.rst | 2 +-
doc/guides/rel_notes/release_22_07.rst | 2 +-
doc/guides/rel_notes/release_22_11.rst | 12 ++---
doc/guides/rel_notes/release_23_03.rst | 2 +-
doc/guides/rel_notes/release_23_07.rst | 4 +-
doc/guides/rel_notes/release_23_11.rst | 2 +-
doc/guides/rel_notes/release_24_07.rst | 2 +-
doc/guides/rel_notes/release_25_03.rst | 2 +-
doc/guides/rel_notes/release_25_07.rst | 10 ++--
doc/guides/sample_app_ug/dma.rst | 4 +-
doc/guides/sample_app_ug/intro.rst | 4 +-
doc/guides/sample_app_ug/ip_reassembly.rst | 2 +-
.../sample_app_ug/l3_forward_power_man.rst | 2 +-
doc/guides/testpmd_app_ug/run_app.rst | 4 +-
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +-
doc/guides/tools/dts.rst | 2 +-
doc/guides/tools/flow-perf.rst | 4 +-
doc/guides/tools/securityperf.rst | 4 +-
doc/guides/tools/testbbdev.rst | 2 +-
doc/guides/vdpadevs/mlx5.rst | 2 +-
doc/guides/windows_gsg/intro.rst | 2 +-
114 files changed, 257 insertions(+), 256 deletions(-)
diff --git a/doc/guides/compressdevs/mlx5.rst b/doc/guides/compressdevs/mlx5.rst
index 8eda954d4e..059854feca 100644
--- a/doc/guides/compressdevs/mlx5.rst
+++ b/doc/guides/compressdevs/mlx5.rst
@@ -24,7 +24,7 @@ So, using the BlueField device (starting from BlueField-2), the compress
class operations can be supported in parallel to the net, vDPA and
RegEx class operations.
-See :doc:`../../platform/mlx5` guide for more design details.
+See :doc:`/platform/mlx5` guide for more design details.
Features
--------
diff --git a/doc/guides/compressdevs/uadk.rst b/doc/guides/compressdevs/uadk.rst
index 27245da892..2f5218121d 100644
--- a/doc/guides/compressdevs/uadk.rst
+++ b/doc/guides/compressdevs/uadk.rst
@@ -78,7 +78,7 @@ Test steps
ninja
sudo ninja install
-#. Prepare hugepages for DPDK (see also :doc:`../tools/hugepages`)
+#. Prepare hugepages for DPDK (see also :doc:`/tools/hugepages`)
.. code-block:: console
diff --git a/doc/guides/compressdevs/zsda.rst b/doc/guides/compressdevs/zsda.rst
index aec859822d..d5f31094bb 100644
--- a/doc/guides/compressdevs/zsda.rst
+++ b/doc/guides/compressdevs/zsda.rst
@@ -60,7 +60,7 @@ Configuring and Building the DPDK ZSDA PMDs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Further information on configuring, building and installing DPDK is described
-:doc:`here <../linux_gsg/build_dpdk>`.
+:doc:`here </linux_gsg/build_dpdk>`.
Build Configuration
diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
index 1b871dc05d..09e72ef3aa 100644
--- a/doc/guides/contributing/abi_policy.rst
+++ b/doc/guides/contributing/abi_policy.rst
@@ -38,7 +38,7 @@ General Guidelines
.. note::
Please note that this policy does not currently apply to the
- :doc:`Windows build <../windows_gsg/intro>`.
+ :doc:`Windows build </windows_gsg/intro>`.
What is an ABI?
~~~~~~~~~~~~~~~
diff --git a/doc/guides/contributing/abi_versioning.rst b/doc/guides/contributing/abi_versioning.rst
index 2fa2b15edc..d81b9aeea6 100644
--- a/doc/guides/contributing/abi_versioning.rst
+++ b/doc/guides/contributing/abi_versioning.rst
@@ -267,10 +267,11 @@ used by newly built applications.
Enabling versioning macros
__________________________
-Finally, we need to indicate to the :doc:`meson/ninja build system
-<../prog_guide/build-sdk-meson>` to enable versioning macros when building the
-library or driver. In the libraries or driver where we have added symbol
-versioning, in the ``meson.build`` file we add the following
+Finally, we need to indicate
+to the :doc:`Meson/Ninja build system </prog_guide/build-sdk-meson>`
+to enable versioning macros when building the library or driver.
+In the libraries or driver where we have added symbol versioning,
+in the ``meson.build`` file we add the following
.. code-block:: none
diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst
index 5517613424..0e5cb60053 100644
--- a/doc/guides/contributing/design.rst
+++ b/doc/guides/contributing/design.rst
@@ -77,8 +77,8 @@ as to what is happening to the application at runtime.
DPDK provides a number of built-in mechanisms to provide this introspection:
* :ref:`Logging <dynamic_logging>`
-* :doc:`Tracing <../prog_guide/trace_lib>`
-* :doc:`Telemetry <../prog_guide/telemetry_lib>`
+* :doc:`Tracing </prog_guide/trace_lib>`
+* :doc:`Telemetry </prog_guide/telemetry_lib>`
Each of these has its own strengths and suitabilities for use within DPDK components.
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 10c35db0c1..8cca859c73 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -182,7 +182,7 @@ To build the documentation::
ninja -C build doc
-See :doc:`../linux_gsg/build_dpdk` for more detail on compiling DPDK with meson.
+See :doc:`/linux_gsg/build_dpdk` for more detail on compiling DPDK with meson.
The output is generated in the directory ``build/doc/``, with:
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 027e6c0858..53cd20ff9c 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -730,7 +730,7 @@ We do our best to include CI and self-test infrastructure
that can be used on an individual developer basis.
For details on running the unit tests, see :doc:`unit_test`.
-It is also recommended to run the :doc:`DTS <../tools/dts>` comprehensive tests.
+It is also recommended to run the :doc:`DTS </tools/dts>` comprehensive tests.
Finally, you can also push to a branch on the GitHub service
to trigger a comprehensive set of compile and unit test runs.
diff --git a/doc/guides/cryptodevs/cnxk.rst b/doc/guides/cryptodevs/cnxk.rst
index 42564872a6..c0392f4f9c 100644
--- a/doc/guides/cryptodevs/cnxk.rst
+++ b/doc/guides/cryptodevs/cnxk.rst
@@ -94,7 +94,7 @@ Installation
The OCTEON cnxk crypto PMD may be compiled natively on an OCTEON cnxk platform
or cross-compiled on an x86 platform.
-Refer to :doc:`../platform/cnxk` for instructions to build your DPDK
+Refer to :doc:`/platform/cnxk` for instructions to build your DPDK
application.
.. note::
@@ -280,7 +280,7 @@ The OCTEON cnxk SoCs can accelerate IPsec traffic in lookaside protocol mode,
with its **cryptographic accelerator (CPT)**. ``OCTEON cnxk crypto PMD`` implements
this as an ``RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL`` offload.
-Refer to :doc:`../prog_guide/rte_security` for more details on protocol offloads.
+Refer to :doc:`/prog_guide/rte_security` for more details on protocol offloads.
This feature can be tested with ipsec-secgw sample application.
diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 6b1357d78a..209f56305c 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -161,7 +161,7 @@ Prerequisites
DPAA2_SEC driver has similar pre-requisites as described in :ref:`dpaa2_overview`.
The following dependencies are not part of DPDK and must be installed separately:
-See :doc:`../platform/dpaa2` for setup information
+See :doc:`/platform/dpaa2` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index 9980c07e86..5ca0d90c41 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -106,7 +106,7 @@ Prerequisites
DPAA_SEC driver has similar pre-requisites as described in :ref:`dpaa_overview`.
-See :doc:`../platform/dpaa` for setup information
+See :doc:`/platform/dpaa` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst
index e0d3542ae9..01d58bb616 100644
--- a/doc/guides/cryptodevs/mlx5.rst
+++ b/doc/guides/cryptodevs/mlx5.rst
@@ -32,7 +32,7 @@ when the MKEY is configured to perform crypto operations.
The encryption does not require text to be aligned to the AES block size (128b).
-See :doc:`../../platform/mlx5` guide for more design details.
+See :doc:`/platform/mlx5` guide for more design details.
AES-GCM
~~~~~~~
diff --git a/doc/guides/cryptodevs/octeontx.rst b/doc/guides/cryptodevs/octeontx.rst
index 8b0eb8a979..d08c7e3628 100644
--- a/doc/guides/cryptodevs/octeontx.rst
+++ b/doc/guides/cryptodevs/octeontx.rst
@@ -66,7 +66,7 @@ Compilation
The OCTEON TX crypto poll mode driver can be compiled either natively on
**OCTEON TX** :sup:`®` board or cross-compiled on an x86 based platform.
-Refer :doc:`../platform/octeontx` for details about setting up the platform
+Refer :doc:`/platform/octeontx` for details about setting up the platform
and building DPDK applications.
.. note::
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index e72bdc4736..d929e9d731 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -7,7 +7,7 @@ Intel(R) QuickAssist (QAT) Crypto Poll Mode Driver
QAT documentation consists of three parts:
* Details of the symmetric and asymmetric crypto services below.
-* Details of the :doc:`compression service <../compressdevs/qat_comp>`
+* Details of the :doc:`compression service </compressdevs/qat_comp>`
in the compressdev drivers section.
* Details of building the common QAT infrastructure and the PMDs to support the
above services. See :ref:`building_qat` below.
@@ -225,7 +225,7 @@ Configuring and Building the DPDK QAT PMDs
Further information on configuring, building and installing DPDK is described
-:doc:`here <../linux_gsg/build_dpdk>`.
+:doc:`here </linux_gsg/build_dpdk>`.
Build Configuration
~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/cryptodevs/uadk.rst b/doc/guides/cryptodevs/uadk.rst
index ae55e8ba64..501475e6b1 100644
--- a/doc/guides/cryptodevs/uadk.rst
+++ b/doc/guides/cryptodevs/uadk.rst
@@ -92,7 +92,7 @@ Test steps
ninja
sudo meson install
-#. Prepare hugepages for DPDK (see also :doc:`../tools/hugepages`)
+#. Prepare hugepages for DPDK (see also :doc:`/tools/hugepages`)
.. code-block:: console
diff --git a/doc/guides/dmadevs/cnxk.rst b/doc/guides/dmadevs/cnxk.rst
index b671c65644..e86ae83f01 100644
--- a/doc/guides/dmadevs/cnxk.rst
+++ b/doc/guides/dmadevs/cnxk.rst
@@ -19,7 +19,7 @@ The block supports following modes of DMA transfers:
Prerequisites and Compilation procedure
---------------------------------------
-See :doc:`../platform/cnxk` for setup information.
+See :doc:`/platform/cnxk` for setup information.
Device Setup
------------
diff --git a/doc/guides/dmadevs/dpaa.rst b/doc/guides/dmadevs/dpaa.rst
index e6565bab83..4056173fc1 100644
--- a/doc/guides/dmadevs/dpaa.rst
+++ b/doc/guides/dmadevs/dpaa.rst
@@ -27,7 +27,7 @@ Supported DPAA SoCs
Prerequisites
-------------
-See :doc:`../platform/dpaa` for setup information
+See :doc:`/platform/dpaa` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
diff --git a/doc/guides/dmadevs/dpaa2.rst b/doc/guides/dmadevs/dpaa2.rst
index 646860843f..3d75b5ed48 100644
--- a/doc/guides/dmadevs/dpaa2.rst
+++ b/doc/guides/dmadevs/dpaa2.rst
@@ -34,7 +34,7 @@ Supported DPAA2 SoCs
Prerequisites
-------------
-See :doc:`../platform/dpaa2` for setup information
+See :doc:`/platform/dpaa2` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
diff --git a/doc/guides/eventdevs/cnxk.rst b/doc/guides/eventdevs/cnxk.rst
index 163acbf609..dba350bd8c 100644
--- a/doc/guides/eventdevs/cnxk.rst
+++ b/doc/guides/eventdevs/cnxk.rst
@@ -56,7 +56,7 @@ Features of the OCTEON cnxk SSO PMD are:
Prerequisites and Compilation procedure
---------------------------------------
- See :doc:`../platform/cnxk` for setup information.
+ See :doc:`/platform/cnxk` for setup information.
Runtime Config Options
diff --git a/doc/guides/eventdevs/dpaa.rst b/doc/guides/eventdevs/dpaa.rst
index fed66b79a1..578c133f82 100644
--- a/doc/guides/eventdevs/dpaa.rst
+++ b/doc/guides/eventdevs/dpaa.rst
@@ -31,7 +31,7 @@ Supported DPAA SoCs
Prerequisites
-------------
-See :doc:`../platform/dpaa` for setup information
+See :doc:`/platform/dpaa` for setup information
Currently supported by DPDK:
diff --git a/doc/guides/eventdevs/dpaa2.rst b/doc/guides/eventdevs/dpaa2.rst
index 538d0be8b0..5b28999ceb 100644
--- a/doc/guides/eventdevs/dpaa2.rst
+++ b/doc/guides/eventdevs/dpaa2.rst
@@ -34,7 +34,7 @@ Supported DPAA2 SoCs
Prerequisites
-------------
-See :doc:`../platform/dpaa2` for setup information
+See :doc:`/platform/dpaa2` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
diff --git a/doc/guides/eventdevs/octeontx.rst b/doc/guides/eventdevs/octeontx.rst
index 435e1e953f..ca3ef3db3b 100644
--- a/doc/guides/eventdevs/octeontx.rst
+++ b/doc/guides/eventdevs/octeontx.rst
@@ -39,7 +39,7 @@ Supported OCTEON TX SoCs
Prerequisites
-------------
-See :doc:`../platform/octeontx` for setup information.
+See :doc:`/platform/octeontx` for setup information.
Initialization
diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst
index c947002a85..9503bdec59 100644
--- a/doc/guides/faq/faq.rst
+++ b/doc/guides/faq/faq.rst
@@ -184,7 +184,7 @@ I350 has RSS support and 8 queue pairs can be used in RSS mode. It should work w
How can hugepage-backed memory be shared among multiple processes?
------------------------------------------------------------------
-See the Primary and Secondary examples in the :doc:`../sample_app_ug/multi_process`.
+See the Primary and Secondary examples in the :doc:`/sample_app_ug/multi_process`.
Why can't my application receive packets on my system with UEFI Secure Boot enabled?
diff --git a/doc/guides/howto/af_xdp_dp.rst b/doc/guides/howto/af_xdp_dp.rst
index 68e524305e..c194ead250 100644
--- a/doc/guides/howto/af_xdp_dp.rst
+++ b/doc/guides/howto/af_xdp_dp.rst
@@ -20,7 +20,7 @@ The AF_XDP DP provisions and advertises networking interfaces to Kubernetes,
while the CNI configures and plumbs network interfaces for the Pod.
This document explains how to use the `AF_XDP Device Plugin for Kubernetes`_
-with a DPDK application using the :doc:`../nics/af_xdp`.
+with a DPDK application using the :doc:`/nics/af_xdp`.
.. _AF_XDP Device Plugin for Kubernetes: https://github.com/redhat-et/afxdp-plugins-for-kubernetes
@@ -28,7 +28,7 @@ with a DPDK application using the :doc:`../nics/af_xdp`.
Background
----------
-The standard :doc:`../nics/af_xdp` initialization process involves loading an eBPF program
+The standard :doc:`/nics/af_xdp` initialization process involves loading an eBPF program
onto the kernel netdev to be used by the PMD.
This operation requires root or escalated Linux privileges
and thus prevents the PMD from working in an unprivileged container.
@@ -130,7 +130,7 @@ Device Plugin and DPDK container prerequisites:
* dpdk-testpmd application should have AF_XDP feature enabled.
- For further information see the docs for the: :doc:`../../nics/af_xdp`.
+ For further information see the docs for the: :doc:`/nics/af_xdp`.
Example
diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst
index 69885e6eb6..c1e125072a 100644
--- a/doc/guides/howto/flow_bifurcation.rst
+++ b/doc/guides/howto/flow_bifurcation.rst
@@ -56,7 +56,7 @@ the :ref:`flow_isolated_mode` must be configured,
so there is no default rule routing traffic to userspace.
There is no specific instructions to follow.
-The recommended reading is the :doc:`../prog_guide/ethdev/flow_offload` guide.
+The recommended reading is the :doc:`/prog_guide/ethdev/flow_offload` guide.
Below is an example of testpmd commands
for receiving VXLAN 42 in 4 queues of the DPDK port 0,
while all other packets go to the kernel:
diff --git a/doc/guides/howto/packet_capture_framework.rst b/doc/guides/howto/packet_capture_framework.rst
index 4099c419aa..417bd7ba7b 100644
--- a/doc/guides/howto/packet_capture_framework.rst
+++ b/doc/guides/howto/packet_capture_framework.rst
@@ -19,16 +19,16 @@ There are two sample applications: ``dpdk-dumpcap`` and older ``dpdk-pdump``.
Introduction
------------
-The :doc:`librte_pdump <../prog_guide/pdump_lib>` library provides the API
+The :doc:`librte_pdump </prog_guide/pdump_lib>` library provides the API
required to allow users to initialize the packet capture framework
and to enable or disable packet capture.
The library works on a multi-process communication model
and its usage is recommended for debugging purposes.
-The :doc:`librte_pcapng <../prog_guide/pcapng_lib>` library provides the API
+The :doc:`librte_pcapng </prog_guide/pcapng_lib>` library provides the API
to format packets and write them to a file in Pcapng format.
-The :doc:`dpdk-dumpcap <../tools/dumpcap>` is a tool that captures packets in
+The :doc:`dpdk-dumpcap </tools/dumpcap>` is a tool that captures packets in
like Wireshark dumpcap does for Linux.
It runs as a DPDK secondary process and captures packets
from one or more interfaces and writes them to a file in Pcapng format.
diff --git a/doc/guides/howto/pvp_reference_benchmark.rst b/doc/guides/howto/pvp_reference_benchmark.rst
index c2de0bbc74..d35456c2ac 100644
--- a/doc/guides/howto/pvp_reference_benchmark.rst
+++ b/doc/guides/howto/pvp_reference_benchmark.rst
@@ -97,7 +97,7 @@ Build Qemu:
DPDK build
~~~~~~~~~~
-See :doc:`../linux_gsg/build_dpdk` for details.
+See :doc:`/linux_gsg/build_dpdk` for details.
Testpmd launch
@@ -304,7 +304,7 @@ Guest tuning
DPDK build
~~~~~~~~~~
-See :doc:`../linux_gsg/build_dpdk` for details.
+See :doc:`/linux_gsg/build_dpdk` for details.
Testpmd launch
diff --git a/doc/guides/howto/rte_flow.rst b/doc/guides/howto/rte_flow.rst
index 428ec3f411..8b1cb85108 100644
--- a/doc/guides/howto/rte_flow.rst
+++ b/doc/guides/howto/rte_flow.rst
@@ -8,7 +8,7 @@ This document demonstrates some concrete examples for programming flow rules
with the ``rte_flow`` APIs.
* Detail of the rte_flow APIs can be found in the following link:
- :doc:`../prog_guide/ethdev/flow_offload`.
+ :doc:`/prog_guide/ethdev/flow_offload`.
* Details of the TestPMD commands to set the flow rules can be found in the
following link: :ref:`TestPMD Flow rules <testpmd_rte_flow>`
diff --git a/doc/guides/howto/security.rst b/doc/guides/howto/security.rst
index ce786852aa..21a33b7d65 100644
--- a/doc/guides/howto/security.rst
+++ b/doc/guides/howto/security.rst
@@ -19,20 +19,20 @@ Related Documentation
Here is a list of related documents that provide detail of each library,
its capabilities and what level of support it currently has within DPDK.
-:doc:`../prog_guide/cryptodev_lib`
+:doc:`/prog_guide/cryptodev_lib`
This section contains the design of the crypto API.
-:doc:`../cryptodevs/index`
+:doc:`/cryptodevs/index`
This section contains information about all the crypto drivers in DPDK,
such as feature support availability, cipher algorithms and authentication algorithms.
-:doc:`../prog_guide/rte_security`
+:doc:`/prog_guide/rte_security`
This library is the session-level glue between ethdev and cryptodev APIs
for the supported protocols.
High-level protocol processing
- * :doc:`../prog_guide/ipsec_lib`
- * :doc:`../prog_guide/pdcp_lib`
+ * :doc:`/prog_guide/ipsec_lib`
+ * :doc:`/prog_guide/pdcp_lib`
Protocols
@@ -55,15 +55,15 @@ Standard Link
Level of Support in DPDK
* Supported
- * :doc:`Sample Application <../sample_app_ug/l2_forward_macsec>`
+ * :doc:`Sample Application </sample_app_ug/l2_forward_macsec>`
Supported Algorithms
* As specified by MACsec specification: AES-128-GCM, AES-256-GCM
Drivers
- * Marvell :doc:`cnxk <../nics/cnxk>`
- * Marvell/Aquantia :doc:`atlantic <../nics/atlantic>` with PMD-specific API
- * Intel :doc:`ixgbe <../nics/ixgbe>` with PMD-specific API
+ * Marvell :doc:`cnxk </nics/cnxk>`
+ * Marvell/Aquantia :doc:`atlantic </nics/atlantic>` with PMD-specific API
+ * Intel :doc:`ixgbe </nics/ixgbe>` with PMD-specific API
Facts
* Uses the AES-GCM cryptography algorithm.
@@ -100,8 +100,8 @@ Standard Link
Level of Support in DPDK
* Supported
- * :doc:`High-level library <../prog_guide/ipsec_lib>`
- * :doc:`Sample application <../sample_app_ug/ipsec_secgw>`
+ * :doc:`High-level library </prog_guide/ipsec_lib>`
+ * :doc:`Sample application </sample_app_ug/ipsec_secgw>`
Supported Algorithms
* AES-GCM and ChaCha20-Poly1305
@@ -109,13 +109,13 @@ Supported Algorithms
* HMAC-SHA1/SHA2 for integrity protection and authenticity
Drivers
- * Intel :doc:`ixgbe <../nics/ixgbe>`, :doc:`iavf <../nics/intel_vf>`,
- :doc:`qat <../cryptodevs/qat>`, :doc:`ipsec_mb <../cryptodevs/aesni_mb>`
- * Marvell :doc:`cnxk <../nics/cnxk>`, :doc:`mvsam <../cryptodevs/mvsam>`
- * Netronome :doc:`nfp <../nics/nfp>`
- * NXP :doc:`caam_jr <../cryptodevs/caam_jr>`,
- :doc:`dpaa_sec <../cryptodevs/dpaa_sec>`, :doc:`dpaa2_sec <../cryptodevs/dpaa2_sec>`
- * Wangxun :doc:`txgbe <../nics/txgbe>`
+ * Intel :doc:`ixgbe </nics/ixgbe>`, :doc:`iavf </nics/intel_vf>`,
+ :doc:`qat </cryptodevs/qat>`, :doc:`ipsec_mb </cryptodevs/aesni_mb>`
+ * Marvell :doc:`cnxk </nics/cnxk>`, :doc:`mvsam </cryptodevs/mvsam>`
+ * Netronome :doc:`nfp </nics/nfp>`
+ * NXP :doc:`caam_jr </cryptodevs/caam_jr>`,
+ :doc:`dpaa_sec </cryptodevs/dpaa_sec>`, :doc:`dpaa2_sec </cryptodevs/dpaa2_sec>`
+ * Wangxun :doc:`txgbe </nics/txgbe>`
Pros
* Uses public keys to create an encrypted, authenticated tunnel.
@@ -219,7 +219,7 @@ Supported Algorithms
* CHACHA20-POLY1305
Drivers
- * Marvell :doc:`cnxk <../cryptodevs/cnxk>`
+ * Marvell :doc:`cnxk </cryptodevs/cnxk>`
PDCP
@@ -239,7 +239,7 @@ Standard Link
Level of Support in DPDK
* Supported
- * :doc:`High-level library <../prog_guide/pdcp_lib>`
+ * :doc:`High-level library </prog_guide/pdcp_lib>`
* rte_security based PDCP sessions are also supported
Supported Algorithms
@@ -247,11 +247,11 @@ Supported Algorithms
* Authentication: NULL, AES-CMAC, SNOW 3G, ZUC
Drivers supporting rte_security API (and used with the PDCP library)
- * NXP :doc:`dpaa_sec <../cryptodevs/dpaa_sec>`, :doc:`dpaa2_sec <../cryptodevs/dpaa2_sec>`
+ * NXP :doc:`dpaa_sec </cryptodevs/dpaa_sec>`, :doc:`dpaa2_sec </cryptodevs/dpaa2_sec>`
Drivers supported only with the PDCP library
- * Intel :doc:`qat <../cryptodevs/qat>`, :doc:`ipsec_mb <../cryptodevs/aesni_mb>`
- * Marvell :doc:`cnxk <../nics/cnxk>`
+ * Intel :doc:`qat </cryptodevs/qat>`, :doc:`ipsec_mb </cryptodevs/aesni_mb>`
+ * Marvell :doc:`cnxk </nics/cnxk>`
Pros
* Compresses the IP header of user plane packets
diff --git a/doc/guides/howto/telemetry.rst b/doc/guides/howto/telemetry.rst
index 5a6f6667bc..b3f25c1113 100644
--- a/doc/guides/howto/telemetry.rst
+++ b/doc/guides/howto/telemetry.rst
@@ -13,7 +13,7 @@ ethdev port list, and eal parameters.
Telemetry Interface
-------------------
-The :doc:`../prog_guide/telemetry_lib` opens a socket with path
+The :doc:`/prog_guide/telemetry_lib` opens a socket with path
*<runtime_directory>/dpdk_telemetry.<version>*. The version represents the
telemetry version, the latest is v2. For example, a client would connect to a
socket with path */var/run/dpdk/\*/dpdk_telemetry.v2* (when the primary process
diff --git a/doc/guides/linux_gsg/doc_roadmap.include.rst b/doc/guides/linux_gsg/doc_roadmap.include.rst
index 5042c386c2..64210b3614 100644
--- a/doc/guides/linux_gsg/doc_roadmap.include.rst
+++ b/doc/guides/linux_gsg/doc_roadmap.include.rst
@@ -6,7 +6,7 @@
The following is a list of DPDK documents in the suggested reading order:
-* :doc:`../rel_notes/index`: Provides release-specific information, including supported
+* :doc:`/rel_notes/index`: Provides release-specific information, including supported
features, limitations, fixed issues, known issues and so on. Also, provides the
answers to frequently asked questions in FAQ format.
@@ -14,7 +14,7 @@ The following is a list of DPDK documents in the suggested reading order:
configure the DPDK; designed to get users up and running quickly with the
software.
-* :doc:`../prog_guide/index`: Describes:
+* :doc:`/prog_guide/index`: Describes:
* The software architecture and how to use it (through examples),
specifically in a Linux* application environment
@@ -31,31 +31,31 @@ The following is a list of DPDK documents in the suggested reading order:
* `API Reference <../../../api/html/index.html>`_: Provides detailed information about DPDK functions,
data structures and other programming constructs.
-* :doc:`../sample_app_ug/index`: Describes a set of sample applications.
+* :doc:`/sample_app_ug/index`: Describes a set of sample applications.
Each chapter describes a sample application that showcases specific functionality
and provides instructions on how to compile, run and use the sample application.
* **Driver Reference Guides**: Provides details on each driver inside a particular category.
Separate guides exist for each of:
- * :doc:`../bbdevs/index`
+ * :doc:`/bbdevs/index`
- * :doc:`../compressdevs/index`
+ * :doc:`/compressdevs/index`
- * :doc:`../cryptodevs/index`
+ * :doc:`/cryptodevs/index`
- * :doc:`../dmadevs/index`
+ * :doc:`/dmadevs/index`
- * :doc:`../eventdevs/index`
+ * :doc:`/eventdevs/index`
- * :doc:`../gpus/index`
+ * :doc:`/gpus/index`
- * :doc:`../mempool/index`
+ * :doc:`/mempool/index`
- * :doc:`../nics/index`
+ * :doc:`/nics/index`
- * :doc:`../rawdevs/index`
+ * :doc:`/rawdevs/index`
- * :doc:`../regexdevs/index`
+ * :doc:`/regexdevs/index`
- * :doc:`../vdpadevs/index`
+ * :doc:`/vdpadevs/index`
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index a3eef5b93d..3e0c902555 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -88,7 +88,7 @@ For libraries the additional dependencies include:
For poll-mode drivers, the additional dependencies for each driver can be
found in that driver's documentation in the relevant DPDK guide document,
-e.g. :doc:`../nics/index`
+e.g. :doc:`/nics/index`
.. _linux_gsg_running_apps:
diff --git a/doc/guides/mempool/cnxk.rst b/doc/guides/mempool/cnxk.rst
index 7b27ef7aab..9879261454 100644
--- a/doc/guides/mempool/cnxk.rst
+++ b/doc/guides/mempool/cnxk.rst
@@ -38,7 +38,7 @@ CN20k NPA supports:
Prerequisites and Compilation procedure
---------------------------------------
- See :doc:`../platform/cnxk` for setup information.
+ See :doc:`/platform/cnxk` for setup information.
Pre-Installation Configuration
------------------------------
diff --git a/doc/guides/mempool/octeontx.rst b/doc/guides/mempool/octeontx.rst
index eeaa7fb1dc..3260e253e5 100644
--- a/doc/guides/mempool/octeontx.rst
+++ b/doc/guides/mempool/octeontx.rst
@@ -46,7 +46,7 @@ Please note that enabling debugging options may affect system performance.
Driver Compilation
~~~~~~~~~~~~~~~~~~
-See :doc:`../linux_gsg/build_dpdk` for more information on compiling DPDK.
+See :doc:`/linux_gsg/build_dpdk` for more information on compiling DPDK.
Initialization
diff --git a/doc/guides/mempool/ring.rst b/doc/guides/mempool/ring.rst
index 37c67b3299..3461ab5fa1 100644
--- a/doc/guides/mempool/ring.rst
+++ b/doc/guides/mempool/ring.rst
@@ -49,4 +49,4 @@ mode is usually the most suitable and the fastest one. For overcommitted
scenarios (multiple threads share same set of cores) the ``ring_mt_rts`` or
``ring_mt_hts`` modes usually provide a better alternative.
For more information about ``rte_ring`` structure, behaviour and available
-synchronisation modes please refer to: :doc:`../prog_guide/ring_lib`.
+synchronisation modes please refer to: :doc:`/prog_guide/ring_lib`.
diff --git a/doc/guides/mempool/stack.rst b/doc/guides/mempool/stack.rst
index ab71716bdf..80ea07e65d 100644
--- a/doc/guides/mempool/stack.rst
+++ b/doc/guides/mempool/stack.rst
@@ -40,4 +40,4 @@ be preempted at any point during a push or pop operation and will not impede
the progress of any other thread.
For a more detailed description of the stack implementations, please refer to
-:doc:`../prog_guide/stack_lib`.
+:doc:`/prog_guide/stack_lib`.
diff --git a/doc/guides/mldevs/cnxk.rst b/doc/guides/mldevs/cnxk.rst
index afd0224fe2..6a25acddd0 100644
--- a/doc/guides/mldevs/cnxk.rst
+++ b/doc/guides/mldevs/cnxk.rst
@@ -157,7 +157,7 @@ it is required to update environment variables as below:
CMAKE_PREFIX_PATH='<install_prefix>/lib/cmake/tvm:<install_prefix>/lib/cmake/dlpack:<install_prefix>/lib/cmake/dmlc'
PKG_CONFIG_PATH='<install_prefix>/lib/pkgconfig'
-Refer to :doc:`../platform/cnxk` for instructions to build your DPDK application.
+Refer to :doc:`/platform/cnxk` for instructions to build your DPDK application.
Initialization
diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
index 0667affe46..45529a89ee 100644
--- a/doc/guides/nics/bnxt.rst
+++ b/doc/guides/nics/bnxt.rst
@@ -77,7 +77,7 @@ It can direct some traffic, for example data plane traffic, to DPDK.
Rest of the traffic, for example control plane traffic, would be redirected to
the traditional Linux networking stack.
-Refer to :doc:`../howto/flow_bifurcation`
+Refer to :doc:`/howto/flow_bifurcation`
Benefits of the flow bifurcation include:
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index 65264b9dbc..57e9e5c382 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -24,7 +24,7 @@ as described in the "Getting Started Guide" for your platform.
This will also build testpmd.
Detailed instructions are available
-in the :doc:`meson build guide <../prog_guide/build-sdk-meson>`.
+in the :doc:`meson build guide </prog_guide/build-sdk-meson>`.
The ethdev layer supports below build options for debug purpose:
diff --git a/doc/guides/nics/cnxk.rst b/doc/guides/nics/cnxk.rst
index 30b2747787..441b3ce5c4 100644
--- a/doc/guides/nics/cnxk.rst
+++ b/doc/guides/nics/cnxk.rst
@@ -46,7 +46,7 @@ Features of the CNXK Ethdev PMD are:
Prerequisites
-------------
-See :doc:`../platform/cnxk` for setup information.
+See :doc:`/platform/cnxk` for setup information.
Driver compilation and testing
diff --git a/doc/guides/nics/cpfl.rst b/doc/guides/nics/cpfl.rst
index 377397e621..3e2788ba03 100644
--- a/doc/guides/nics/cpfl.rst
+++ b/doc/guides/nics/cpfl.rst
@@ -15,10 +15,10 @@ for more information.
Linux Prerequisites
-------------------
-Follow the DPDK :doc:`../linux_gsg/index` to setup the basic DPDK environment.
+Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
To get better performance on Intel platforms,
-please follow the :doc:`../linux_gsg/nic_perf_intel_platform`.
+please follow the :doc:`/linux_gsg/nic_perf_intel_platform`.
Recommended Matching List
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 8ffe31ce32..4354c57828 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -188,7 +188,7 @@ Supported DPAA SoCs
Prerequisites
-------------
-See :doc:`../platform/dpaa` for setup information
+See :doc:`/platform/dpaa` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 4fdb7383c3..2368173432 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -420,7 +420,7 @@ Supported DPAA2 SoCs
Prerequisites
-------------
-See :doc:`../platform/dpaa2` for setup information
+See :doc:`/platform/dpaa2` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
@@ -619,7 +619,7 @@ of configured tx queues.
After hierarchy is complete it can be committed.
-For an additional description please refer to DPDK :doc:`../prog_guide/ethdev/traffic_management`.
+For an additional description please refer to DPDK :doc:`/prog_guide/ethdev/traffic_management`.
Supported Features
~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 43db96c3e1..0b0c69e7cd 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -1018,7 +1018,7 @@ PMD power management using monitor addresses
--------------------------------------------
Supports getting a monitoring condition to use together with Ethernet PMD power
-management (see :doc:`../prog_guide/power_man` for more details).
+management (see :doc:`/prog_guide/power_man` for more details).
* **[implements] eth_dev_ops**: ``get_monitor_addr``
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index a2858ef8bc..3e43ab3d2a 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -78,7 +78,7 @@ Linux Prerequisites
Windows Prerequisites
---------------------
-- Follow the :doc:`guide for Windows <../windows_gsg/run_apps>`
+- Follow the :doc:`guide for Windows </windows_gsg/run_apps>`
to setup the basic DPDK environment.
- Identify the Intel® Ethernet adapter and get the latest NVM/FW version.
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 3f3d36586d..f5d575d22f 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -34,7 +34,7 @@ Linux Prerequisites
Windows Prerequisites
---------------------
-- Follow the :doc:`guide for Windows <../windows_gsg/run_apps>`
+- Follow the :doc:`guide for Windows </windows_gsg/run_apps>`
to setup the basic DPDK environment.
- Identify the Intel® Ethernet adapter and get the latest NVM/FW version.
diff --git a/doc/guides/nics/idpf.rst b/doc/guides/nics/idpf.rst
index cc89d22cf0..f4cd69ba7d 100644
--- a/doc/guides/nics/idpf.rst
+++ b/doc/guides/nics/idpf.rst
@@ -13,10 +13,10 @@ Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
Linux Prerequisites
-------------------
-Follow the DPDK :doc:`../linux_gsg/index` to setup the basic DPDK environment.
+Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
To get better performance on Intel platforms,
-please follow the :doc:`../linux_gsg/nic_perf_intel_platform`.
+please follow the :doc:`/linux_gsg/nic_perf_intel_platform`.
Recommended Matching List
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 90fdf0a39f..db1c8b1aea 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -102,7 +102,7 @@ By default, IXGBE_MAX_RING_DESC is set to 8192 and RTE_PMD_IXGBE_RX_MAX_BURST is
Windows Prerequisites and Pre-conditions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Follow the :doc:`guide for Windows <../windows_gsg/run_apps>`
+- Follow the :doc:`guide for Windows </windows_gsg/run_apps>`
to setup the basic DPDK environment.
- Identify the Intel\ |reg| Ethernet adapter and get the latest NVM/FW version.
diff --git a/doc/guides/nics/memif.rst b/doc/guides/nics/memif.rst
index 79b048865f..f8b629ab1f 100644
--- a/doc/guides/nics/memif.rst
+++ b/doc/guides/nics/memif.rst
@@ -238,7 +238,7 @@ Show status::
testpmd> show port stats 0
-For more details on testpmd please refer to :doc:`../testpmd_app_ug/index`.
+For more details on testpmd please refer to :doc:`/testpmd_app_ug/index`.
Example: testpmd and VPP
------------------------
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 364f2c3741..63b1c548d2 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -306,7 +306,7 @@ Quick Start Guide
service openibd restart
#. Install DPDK and you are ready to go.
- See :doc:`compilation instructions <../linux_gsg/build_dpdk>`.
+ See :doc:`compilation instructions </linux_gsg/build_dpdk>`.
Performance tuning
------------------
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 9b035b878e..3a419d7d97 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -126,7 +126,7 @@ with :ref:`hardware steering (HWS) <mlx5_hws>`,
a WQE-based high scaling and safer flow insertion/destruction.
It allows inserting millions of rules per second.
-While using the :doc:`synchronous flow API <../prog_guide/ethdev/flow_offload>`
+While using the :doc:`synchronous flow API </prog_guide/ethdev/flow_offload>`
is convenient and easy to manage,
it is not efficient enough at a large scale.
That's why mlx5 allows offloading many features asynchronously.
@@ -154,7 +154,7 @@ All references to these flows held by the application
should be discarded directly but neither destroyed nor flushed.
The application should re-create the flows as required after the port restart.
-See :doc:`../../platform/mlx5` guide for more design details,
+See :doc:`/platform/mlx5` guide for more design details,
including prerequisites installation.
:ref:`All the features are detailed in a chapter below. <mlx5_net_features>`
@@ -1332,7 +1332,7 @@ Flow Rule Creation
In mlx5 devices, the flow rules are inserted in HW tables.
-As explained in the :doc:`flow API documentation <../prog_guide/ethdev/flow_offload>`,
+As explained in the :doc:`flow API documentation </prog_guide/ethdev/flow_offload>`,
a rule can be created synchronously (``rte_flow_create``)
or asynchronously (``rte_flow_async_create``)
with the help of a template table (``rte_flow_template_table_create``).
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 48cbe97f23..304ec25351 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -401,7 +401,7 @@ can be configured via generic flow API offered by DPDK.
The :ref:`flow_isolated_mode` is supported.
-For an additional description please refer to DPDK :doc:`../prog_guide/ethdev/flow_offload`.
+For an additional description please refer to DPDK :doc:`/prog_guide/ethdev/flow_offload`.
Supported flow actions
~~~~~~~~~~~~~~~~~~~~~~
@@ -576,7 +576,7 @@ MVPP2 PMD supports DPDK traffic metering and policing that allows the following:
#. Gather statistics.
-For an additional description please refer to DPDK :doc:`../prog_guide/ethdev/traffic_metering_and_policing`.
+For an additional description please refer to DPDK :doc:`/prog_guide/ethdev/traffic_metering_and_policing`.
The policer objects defined by this feature can work with the default policer defined via config file as described in :ref:`QoS Support <extconf>`.
@@ -655,7 +655,7 @@ of configured tx queues.
After hierarchy is complete it can be committed.
-For an additional description please refer to DPDK :doc:`../prog_guide/ethdev/traffic_management`.
+For an additional description please refer to DPDK :doc:`/prog_guide/ethdev/traffic_management`.
Limitations
~~~~~~~~~~~
diff --git a/doc/guides/nics/octeon_ep.rst b/doc/guides/nics/octeon_ep.rst
index b48cca62b2..e47f5f697e 100644
--- a/doc/guides/nics/octeon_ep.rst
+++ b/doc/guides/nics/octeon_ep.rst
@@ -40,4 +40,4 @@ must be installed separately:
allocates resources such as number of VFs, input/output queues for itself and
the number of i/o queues each VF can use.
-See :doc:`../platform/cnxk` for SDP interface information which provides PCIe endpoint support for a remote host.
+See :doc:`/platform/cnxk` for SDP interface information which provides PCIe endpoint support for a remote host.
diff --git a/doc/guides/nics/octeontx.rst b/doc/guides/nics/octeontx.rst
index f963eca648..a13e3659ef 100644
--- a/doc/guides/nics/octeontx.rst
+++ b/doc/guides/nics/octeontx.rst
@@ -47,7 +47,7 @@ The features supported by the device and not yet supported by this PMD include:
Prerequisites
-------------
-See :doc:`../platform/octeontx` for setup information.
+See :doc:`/platform/octeontx` for setup information.
Configuration
-------------
diff --git a/doc/guides/platform/bluefield.rst b/doc/guides/platform/bluefield.rst
index 67a70b1313..97f7a410a1 100644
--- a/doc/guides/platform/bluefield.rst
+++ b/doc/guides/platform/bluefield.rst
@@ -33,12 +33,12 @@ Common Offload HW Drivers
#. **NIC Driver**
- See :doc:`../nics/mlx5` for NVIDIA mlx5 NIC driver information.
+ See :doc:`/nics/mlx5` for NVIDIA mlx5 NIC driver information.
#. **Cryptodev Driver**
This is based on the crypto extension support of armv8. See
- :doc:`../cryptodevs/armv8` for armv8 crypto driver information.
+ :doc:`/cryptodevs/armv8` for armv8 crypto driver information.
.. note::
@@ -71,7 +71,7 @@ an x86 based platform.
Native Compilation
~~~~~~~~~~~~~~~~~~
-Refer to :doc:`../nics/mlx5` for prerequisites. Either NVIDIA MLNX_OFED/EN or
+Refer to :doc:`/nics/mlx5` for prerequisites. Either NVIDIA MLNX_OFED/EN or
rdma-core library with corresponding kernel drivers is required.
.. code-block:: console
@@ -82,7 +82,7 @@ rdma-core library with corresponding kernel drivers is required.
Cross Compilation
~~~~~~~~~~~~~~~~~
-Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` to install the cross
+Refer to :doc:`/linux_gsg/cross_build_dpdk_for_arm64` to install the cross
toolchain for ARM64. Base on that, additional header files and libraries are
required:
diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst
index f5248dae54..06202bcbc2 100644
--- a/doc/guides/platform/cnxk.rst
+++ b/doc/guides/platform/cnxk.rst
@@ -160,25 +160,25 @@ HW Offload Drivers
This section lists dataplane H/W block(s) available in cnxk SoC.
#. **Ethdev Driver**
- See :doc:`../nics/cnxk` for NIX Ethdev driver information.
+ See :doc:`/nics/cnxk` for NIX Ethdev driver information.
#. **Mempool Driver**
- See :doc:`../mempool/cnxk` for NPA mempool driver information.
+ See :doc:`/mempool/cnxk` for NPA mempool driver information.
#. **Baseband PHY Driver**
- See :doc:`../rawdevs/cnxk_bphy` for Baseband PHY driver information.
+ See :doc:`/rawdevs/cnxk_bphy` for Baseband PHY driver information.
#. **Dmadev Driver**
- See :doc:`../dmadevs/cnxk` for DPI Dmadev driver information.
+ See :doc:`/dmadevs/cnxk` for DPI Dmadev driver information.
#. **Regex Device Driver**
- See :doc:`../regexdevs/cn9k` for REE Regex device driver information.
+ See :doc:`/regexdevs/cn9k` for REE Regex device driver information.
#. **ML Device Driver**
- See :doc:`../mldevs/cnxk` for Machine Learning device driver information.
+ See :doc:`/mldevs/cnxk` for Machine Learning device driver information.
#. **RVU LF Driver**
- See :doc:`../rawdevs/cnxk_rvu_lf` for RVU LF driver information.
+ See :doc:`/rawdevs/cnxk_rvu_lf` for RVU LF driver information.
Procedure to Setup Platform
---------------------------
@@ -242,7 +242,7 @@ compatible board:
Alternatively, the Marvell SDK provides the buildroot based root filesystem.
The SDK includes all the above prerequisites necessary to bring up the cnxk board.
-- Follow the DPDK :doc:`../linux_gsg/index` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Debugging Options
@@ -597,7 +597,7 @@ Disabling the iova field in the mbuf frees it up to be used as a dynamic field.
Native Compilation
~~~~~~~~~~~~~~~~~~
-Refer to :doc:`../linux_gsg/build_dpdk` for generic native builds.
+Refer to :doc:`/linux_gsg/build_dpdk` for generic native builds.
CN9K:
@@ -616,7 +616,7 @@ CN10K:
Cross Compilation
~~~~~~~~~~~~~~~~~
-Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details.
+Refer to :doc:`/linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details.
CN9K:
diff --git a/doc/guides/platform/dpaa.rst b/doc/guides/platform/dpaa.rst
index 68ef4a8d7b..caeeb03254 100644
--- a/doc/guides/platform/dpaa.rst
+++ b/doc/guides/platform/dpaa.rst
@@ -24,15 +24,15 @@ Common Offload HW Block Drivers
#. **Nics Driver**
- See :doc:`../nics/dpaa` for NXP dpaa nic driver information.
+ See :doc:`/nics/dpaa` for NXP dpaa nic driver information.
#. **Cryptodev Driver**
- See :doc:`../cryptodevs/dpaa_sec` for NXP dpaa cryptodev driver information.
+ See :doc:`/cryptodevs/dpaa_sec` for NXP dpaa cryptodev driver information.
#. **Eventdev Driver**
- See :doc:`../eventdevs/dpaa` for NXP dpaa eventdev driver information.
+ See :doc:`/eventdevs/dpaa` for NXP dpaa eventdev driver information.
Steps To Setup Platform
diff --git a/doc/guides/platform/dpaa2.rst b/doc/guides/platform/dpaa2.rst
index fe627bc0c1..589c55d0b2 100644
--- a/doc/guides/platform/dpaa2.rst
+++ b/doc/guides/platform/dpaa2.rst
@@ -26,23 +26,23 @@ Common Offload HW Block Drivers
#. **Nics Driver**
- See :doc:`../nics/dpaa2` for NXP dpaa2 nic driver information.
+ See :doc:`/nics/dpaa2` for NXP dpaa2 nic driver information.
#. **Cryptodev Driver**
- See :doc:`../cryptodevs/dpaa2_sec` for NXP dpaa2 cryptodev driver information.
+ See :doc:`/cryptodevs/dpaa2_sec` for NXP dpaa2 cryptodev driver information.
#. **Eventdev Driver**
- See :doc:`../eventdevs/dpaa2` for NXP dpaa2 eventdev driver information.
+ See :doc:`/eventdevs/dpaa2` for NXP dpaa2 eventdev driver information.
#. **Rawdev AIOP CMDIF Driver**
- See :doc:`../rawdevs/dpaa2_cmdif` for NXP dpaa2 AIOP command interface driver information.
+ See :doc:`/rawdevs/dpaa2_cmdif` for NXP dpaa2 AIOP command interface driver information.
#. **DMA Driver**
- See :doc:`../dmadevs/dpaa2` for NXP dpaa2 QDMA driver information.
+ See :doc:`/dmadevs/dpaa2` for NXP dpaa2 QDMA driver information.
Steps To Setup Platform
diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst
index 23cfba3356..611d9bec19 100644
--- a/doc/guides/platform/mlx5.rst
+++ b/doc/guides/platform/mlx5.rst
@@ -64,11 +64,11 @@ For example: ``class=crypto:regex`` will probe both Crypto and RegEx PMDs.
Supported Classes
~~~~~~~~~~~~~~~~~
-- ``class=compress`` for :doc:`../../compressdevs/mlx5`.
-- ``class=crypto`` for :doc:`../../cryptodevs/mlx5`.
-- ``class=eth`` for :doc:`../../nics/mlx5`.
-- ``class=regex`` for :doc:`../../regexdevs/mlx5`.
-- ``class=vdpa`` for :doc:`../../vdpadevs/mlx5`.
+- ``class=compress`` for :doc:`/compressdevs/mlx5`.
+- ``class=crypto`` for :doc:`/cryptodevs/mlx5`.
+- ``class=eth`` for :doc:`/nics/mlx5`.
+- ``class=regex`` for :doc:`/regexdevs/mlx5`.
+- ``class=vdpa`` for :doc:`/vdpadevs/mlx5`.
By default, the mlx5 device will be probed by the ``eth`` PMD.
@@ -207,7 +207,7 @@ to match the kernel modules and libraries they come with.
Several versions of NVIDIA MLNX_OFED/EN are available. Installing the version
this DPDK release was developed and tested against is strongly recommended.
- Please check the "Tested Platforms" section in the :doc:`../../rel_notes/index`.
+ Please check the "Tested Platforms" section in the :doc:`/rel_notes/index`.
.. _mlx5_windows_prerequisites:
diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst
index b01f51ba4d..f266f81f4e 100644
--- a/doc/guides/platform/octeontx.rst
+++ b/doc/guides/platform/octeontx.rst
@@ -16,15 +16,15 @@ Common Offload HW Block Drivers
-------------------------------
#. **Crypto Driver**
- See :doc:`../cryptodevs/octeontx` for octeontx crypto driver
+ See :doc:`/cryptodevs/octeontx` for octeontx crypto driver
information.
#. **Eventdev Driver**
- See :doc:`../eventdevs/octeontx` for octeontx ssovf eventdev driver
+ See :doc:`/eventdevs/octeontx` for octeontx ssovf eventdev driver
information.
#. **Mempool Driver**
- See :doc:`../mempool/octeontx` for octeontx fpavf mempool driver
+ See :doc:`/mempool/octeontx` for octeontx fpavf mempool driver
information.
Steps To Setup Platform
@@ -60,7 +60,7 @@ OCTEON TX compatible board:
as part of SDK from Cavium. The SDK includes all the above prerequisites necessary
to bring up a OCTEON TX board. Please refer :ref:`setup_platform_using_OCTEON_TX_SDK`.
-#. Follow the DPDK :doc:`../linux_gsg/index` to setup the basic DPDK environment.
+#. Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
.. _setup_platform_using_OCTEON_TX_SDK:
@@ -111,7 +111,7 @@ The DPDK applications can be cross-compiled on any x86 based platform. The
OCTEON TX SDK need to be installed on the build system. The SDK package will
provide the required toolchain etc.
-Refer to :doc:`../linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details.
+Refer to :doc:`/linux_gsg/cross_build_dpdk_for_arm64` for generic arm64 details.
The following steps can be used to perform cross-compilation with OCTEON TX
SDK 6.2.0 patch 3:
diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst
index 74465d52c3..c54729701f 100644
--- a/doc/guides/prog_guide/build-sdk-meson.rst
+++ b/doc/guides/prog_guide/build-sdk-meson.rst
@@ -48,9 +48,9 @@ https://ninja-build.org/
It is best advised to go over the following links for the complete dependencies:
-* :doc:`Linux <../linux_gsg/sys_reqs>`
-* :doc:`FreeBSD <../freebsd_gsg/build_dpdk>`
-* :doc:`Windows <../windows_gsg/build_dpdk>`
+* :doc:`Linux </linux_gsg/sys_reqs>`
+* :doc:`FreeBSD </freebsd_gsg/build_dpdk>`
+* :doc:`Windows </windows_gsg/build_dpdk>`
Configuring the Build
diff --git a/doc/guides/prog_guide/build_app.rst b/doc/guides/prog_guide/build_app.rst
index 855897c5aa..56a8a1e3fd 100644
--- a/doc/guides/prog_guide/build_app.rst
+++ b/doc/guides/prog_guide/build_app.rst
@@ -21,7 +21,7 @@ The binary is generated in the build directory by default:
~/DPDK/examples/helloworld$ ls build/app
helloworld helloworld.map
-Please refer to :doc:`../linux_gsg/build_dpdk` for details on compiling with meson.
+Please refer to :doc:`/linux_gsg/build_dpdk` for details on compiling with meson.
Build Your Own Application Outside the Development Kit
------------------------------------------------------
diff --git a/doc/guides/prog_guide/cmdline.rst b/doc/guides/prog_guide/cmdline.rst
index e20281ceb5..12da665f39 100644
--- a/doc/guides/prog_guide/cmdline.rst
+++ b/doc/guides/prog_guide/cmdline.rst
@@ -208,7 +208,7 @@ Those two commands will be:
.. note::
For further examples of use of the command-line, see
- :doc:`cmdline example application <../sample_app_ug/cmd_line>`
+ :doc:`cmdline example application </sample_app_ug/cmd_line>`
Defining Command Result Structure
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst
index 817d39dd62..ef4c25dd93 100644
--- a/doc/guides/prog_guide/cryptodev_lib.rst
+++ b/doc/guides/prog_guide/cryptodev_lib.rst
@@ -10,7 +10,7 @@ APIs which support a number of different Crypto operations. The framework
currently only supports cipher, authentication, chained cipher/authentication
and AEAD symmetric and asymmetric Crypto operations.
-The usages in security protocols are discussed in the :doc:`../howto/security` guide.
+The usages in security protocols are discussed in the :doc:`/howto/security` guide.
Design Principles
-----------------
@@ -1127,4 +1127,4 @@ are shown below.
capabilities>], "crypto_caps_n": <number of capabilities>}}
For more information on how to use the Telemetry interface, see
-the :doc:`../howto/telemetry`.
+the :doc:`/howto/telemetry`.
diff --git a/doc/guides/prog_guide/devargs.rst b/doc/guides/prog_guide/devargs.rst
index e4076e0e33..c8a7224aa0 100644
--- a/doc/guides/prog_guide/devargs.rst
+++ b/doc/guides/prog_guide/devargs.rst
@@ -183,7 +183,7 @@ Devargs can be specified on the command line when starting a DPDK application:
./myapp --vdev net_ring0 --vdev 'net_pcap0,rx_pcap=input.pcap'
-See :doc:`../linux_gsg/linux_eal_parameters` for complete EAL parameter documentation.
+See :doc:`/linux_gsg/linux_eal_parameters` for complete EAL parameter documentation.
At Runtime (Hotplug)
diff --git a/doc/guides/prog_guide/dmadev.rst b/doc/guides/prog_guide/dmadev.rst
index 98f88ad8eb..e0ac3c9542 100644
--- a/doc/guides/prog_guide/dmadev.rst
+++ b/doc/guides/prog_guide/dmadev.rst
@@ -171,7 +171,7 @@ are shown below.
{"/dmadev/stats": {"submitted": 0, "completed": 0, "errors": 0}}
For more information on how to use the Telemetry interface, see
-the :doc:`../howto/telemetry`.
+the :doc:`/howto/telemetry`.
Inter-domain DMA Transfers
diff --git a/doc/guides/prog_guide/power_man.rst b/doc/guides/prog_guide/power_man.rst
index 915d9da3fd..61d5b77069 100644
--- a/doc/guides/prog_guide/power_man.rst
+++ b/doc/guides/prog_guide/power_man.rst
@@ -179,7 +179,7 @@ The "monitor" mode is only supported in the following configurations and scenari
* Not all Ethernet drivers support monitoring, even if the underlying
platform may support the necessary CPU instructions. Please refer to
- :doc:`../nics/overview` for more information.
+ :doc:`/nics/overview` for more information.
API Overview for Ethernet PMD Power Management
diff --git a/doc/guides/prog_guide/profile_app.rst b/doc/guides/prog_guide/profile_app.rst
index 2f47680d5d..7fc48919fd 100644
--- a/doc/guides/prog_guide/profile_app.rst
+++ b/doc/guides/prog_guide/profile_app.rst
@@ -129,7 +129,7 @@ an ARMv8 machine.
make
sudo insmod pmu_el0_cycle_counter.ko
-Please refer to :doc:`../linux_gsg/build_dpdk` for generic details on compiling DPDK with meson.
+Please refer to :doc:`/linux_gsg/build_dpdk` for generic details on compiling DPDK with meson.
In order to enable ``PMU`` based ``rte_rdtsc()``, user needs to configure the
build with ``-Dc_args='-DRTE_ARM_EAL_RDTSC_USE_PMU'``.
diff --git a/doc/guides/prog_guide/rte_security.rst b/doc/guides/prog_guide/rte_security.rst
index 7bd9691080..ad9c1e4f16 100644
--- a/doc/guides/prog_guide/rte_security.rst
+++ b/doc/guides/prog_guide/rte_security.rst
@@ -10,7 +10,7 @@ library defines generic APIs to create and free security sessions which can
support full protocol offload as well as inline crypto operation with
NIC or crypto devices.
-The security protocols are discussed in the :doc:`../howto/security` guide.
+The security protocols are discussed in the :doc:`/howto/security` guide.
Design Principles
-----------------
@@ -884,4 +884,4 @@ are shown below.
capabilities>], "crypto_caps_n": <number of capabilities>}}
For more information on how to use the Telemetry interface, see
-the :doc:`../howto/telemetry`.
+the :doc:`/howto/telemetry`.
diff --git a/doc/guides/prog_guide/source_org.rst b/doc/guides/prog_guide/source_org.rst
index 3d5f7f3bdd..49682d4249 100644
--- a/doc/guides/prog_guide/source_org.rst
+++ b/doc/guides/prog_guide/source_org.rst
@@ -40,4 +40,4 @@ They are located in the ``dpdk/app`` and ``dpdk/examples`` directories.
The app directory contains sample applications that are used to test DPDK (such as autotests)
or the Poll Mode Drivers (test-pmd).
-The examples directory contains :doc:`Sample applications<../sample_app_ug/index>` that show how libraries can be used.
+The examples directory contains :doc:`Sample applications </sample_app_ug/index>` that show how libraries can be used.
diff --git a/doc/guides/prog_guide/telemetry_lib.rst b/doc/guides/prog_guide/telemetry_lib.rst
index b0529aa580..a693021f0e 100644
--- a/doc/guides/prog_guide/telemetry_lib.rst
+++ b/doc/guides/prog_guide/telemetry_lib.rst
@@ -168,4 +168,4 @@ Using Commands
To use commands, with a DPDK app running (e.g. testpmd), use the
``dpdk-telemetry.py`` script.
-For details on its use, see the :doc:`../howto/telemetry`.
+For details on its use, see the :doc:`/howto/telemetry`.
diff --git a/doc/guides/prog_guide/trace_lib.rst b/doc/guides/prog_guide/trace_lib.rst
index 6cf8e21641..3ca1a2e8bd 100644
--- a/doc/guides/prog_guide/trace_lib.rst
+++ b/doc/guides/prog_guide/trace_lib.rst
@@ -164,7 +164,7 @@ the trace buffers to the filesystem. By default, the trace files are stored in
It can be overridden by the ``--trace-dir=<directory path>`` EAL command line
option.
-For more information, refer to :doc:`../linux_gsg/linux_eal_parameters` for
+For more information, refer to :doc:`/linux_gsg/linux_eal_parameters` for
trace EAL command line options.
View and analyze the recorded events
diff --git a/doc/guides/rawdevs/dpaa2_cmdif.rst b/doc/guides/rawdevs/dpaa2_cmdif.rst
index 4eed661c8e..0da0be0638 100644
--- a/doc/guides/rawdevs/dpaa2_cmdif.rst
+++ b/doc/guides/rawdevs/dpaa2_cmdif.rst
@@ -29,7 +29,7 @@ Supported DPAA2 SoCs
Prerequisites
-------------
-See :doc:`../platform/dpaa2` for setup information
+See :doc:`/platform/dpaa2` for setup information
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
diff --git a/doc/guides/regexdevs/cn9k.rst b/doc/guides/regexdevs/cn9k.rst
index fe117e0e25..773dce59f7 100644
--- a/doc/guides/regexdevs/cn9k.rst
+++ b/doc/guides/regexdevs/cn9k.rst
@@ -22,7 +22,7 @@ Features of the CN9K REE PMD are:
Prerequisites and Compilation procedure
---------------------------------------
- See :doc:`../platform/cnxk` for setup information.
+ See :doc:`/platform/cnxk` for setup information.
Device Setup
------------
diff --git a/doc/guides/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst
index be45b54147..4094eb9a79 100644
--- a/doc/guides/regexdevs/mlx5.rst
+++ b/doc/guides/regexdevs/mlx5.rst
@@ -16,7 +16,7 @@ This PMD is configuring the RegEx HW engine.
For the PMD to work, the application must supply
a precompiled rule file in rof2 format.
-See :doc:`../../platform/mlx5` guide for more design details.
+See :doc:`/platform/mlx5` guide for more design details.
Features
--------
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index f5c12cc747..b74215341f 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -4,8 +4,8 @@
ABI and API Deprecation
=======================
-See the guidelines document for details of the :doc:`ABI policy
-<../contributing/abi_policy>`.
+See the guidelines document for details
+of the :doc:`ABI policy </contributing/abi_policy>`.
With DPDK 23.11, there will be a new major ABI version: 24.
This means that during the development of 23.11,
diff --git a/doc/guides/rel_notes/release_17_02.rst b/doc/guides/rel_notes/release_17_02.rst
index 929ba770ae..5ae8c5fae6 100644
--- a/doc/guides/rel_notes/release_17_02.rst
+++ b/doc/guides/rel_notes/release_17_02.rst
@@ -43,7 +43,7 @@ New Features
higher-level than the legacy filtering framework, which it encompasses and
supersedes (including all functions and filter types) .
- See the :doc:`../prog_guide/ethdev/flow_offload` documentation for more information.
+ See the :doc:`/prog_guide/ethdev/flow_offload` documentation for more information.
* **Added firmware version get API.**
@@ -215,7 +215,7 @@ New Features
therefore, it can better fit in CPU cache and scale to millions of flow
keys.
- See the :doc:`../prog_guide/efd_lib` documentation in
+ See the :doc:`/prog_guide/efd_lib` documentation in
the Programmers Guide document, for more information.
diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst
index 9ecf38c9d5..5942135a98 100644
--- a/doc/guides/rel_notes/release_17_11.rst
+++ b/doc/guides/rel_notes/release_17_11.rst
@@ -22,7 +22,7 @@ New Features
* **Added a new driver for Marvell Armada 7k/8k devices.**
Added the new ``mrvl`` net driver for Marvell Armada 7k/8k devices. See the
- :doc:`../nics/mvpp2` NIC guide for more details on this new driver.
+ :doc:`/nics/mvpp2` NIC guide for more details on this new driver.
* **Updated mlx4 driver.**
@@ -77,7 +77,7 @@ New Features
* DPAA Mempool driver for supporting offloaded packet memory pool
* DPAA PMD for DPAA devices
- See the :doc:`../nics/dpaa` document for more details of this new driver.
+ See the :doc:`/nics/dpaa` document for more details of this new driver.
* **Updated support for Cavium OCTEONTX Device.**
@@ -87,7 +87,7 @@ New Features
* OCTEONTX Ethdev PMD
* OCTEONTX Eventdev-Ethdev Rx adapter
- See the :doc:`../nics/octeontx` document for more details of this new driver.
+ See the :doc:`/nics/octeontx` document for more details of this new driver.
* **Added PF support to the Netronome NFP PMD.**
@@ -132,7 +132,7 @@ New Features
* The DES DOCSIS BPI algorithm.
This change requires version 0.47 of the IPsec Multi-buffer library. For
- more details see the :doc:`../cryptodevs/aesni_mb` documentation.
+ more details see the :doc:`/cryptodevs/aesni_mb` documentation.
* **Updated the OpenSSL PMD.**
@@ -144,13 +144,13 @@ New Features
* **Added NXP DPAA SEC crypto PMD.**
A new ``dpaa_sec`` hardware based crypto PMD for NXP DPAA devices has been
- added. See the :doc:`../cryptodevs/dpaa_sec` document for more details.
+ added. See the :doc:`/cryptodevs/dpaa_sec` document for more details.
* **Added MRVL crypto PMD.**
A new crypto PMD has been added, which provides several ciphering and hashing
algorithms. All cryptography operations use the MUSDK library crypto API.
- See the :doc:`../cryptodevs/mvsam` document for more details.
+ See the :doc:`/cryptodevs/mvsam` document for more details.
* **Add new benchmarking mode to dpdk-test-crypto-perf application.**
@@ -164,7 +164,7 @@ New Features
for protocols like IPsec using inline ipsec offload to ethernet devices or
full protocol offload with lookaside crypto devices.
- See the :doc:`../prog_guide/rte_security` section of the DPDK Programmers
+ See the :doc:`/prog_guide/rte_security` section of the DPDK Programmers
Guide document for more information.
* **Updated the DPAA2_SEC crypto driver to support rte_security.**
@@ -227,7 +227,7 @@ New Features
return not only whether the element has been inserted in one of the sets but
also which set it belongs to.
- See the :doc:`../prog_guide/member_lib` documentation in the Programmers
+ See the :doc:`/prog_guide/member_lib` documentation in the Programmers
Guide, for more information.
* **Added the Generic Segmentation Offload Library.**
diff --git a/doc/guides/rel_notes/release_18_02.rst b/doc/guides/rel_notes/release_18_02.rst
index af437e4153..691fbdf023 100644
--- a/doc/guides/rel_notes/release_18_02.rst
+++ b/doc/guides/rel_notes/release_18_02.rst
@@ -132,7 +132,7 @@ New Features
The current release only supports 3GPP CRC, Turbo Coding and Rate
Matching operations, as specified in 3GPP TS 36.212.
- See the :doc:`../prog_guide/bbdev` programmer's guide for more details.
+ See the :doc:`/prog_guide/bbdev` programmer's guide for more details.
* **Added New eventdev Ordered Packet Distribution Library (OPDL) PMD.**
@@ -175,7 +175,7 @@ New Features
structures/buffers. Also, southbound APIs provide a means of integrating devices
either as part of a physical bus (PCI, FSLMC etc) or through ``vdev``.
- See the :doc:`../prog_guide/rawdev` programmer's guide for more details.
+ See the :doc:`/prog_guide/rawdev` programmer's guide for more details.
* **Added new multi-process communication channel.**
diff --git a/doc/guides/rel_notes/release_18_05.rst b/doc/guides/rel_notes/release_18_05.rst
index 77b378c7c0..6b063e154a 100644
--- a/doc/guides/rel_notes/release_18_05.rst
+++ b/doc/guides/rel_notes/release_18_05.rst
@@ -124,7 +124,7 @@ New Features
* **Added Ethernet poll mode driver for AMD XGBE devices.**
Added the new ``axgbe`` ethernet poll mode driver for AMD XGBE devices.
- See the :doc:`../nics/axgbe` nic driver guide for more details on this
+ See the :doc:`/nics/axgbe` nic driver guide for more details on this
new driver.
* **Updated szedata2 PMD.**
@@ -186,13 +186,13 @@ New Features
Added a new Poll Mode Driver for virtio crypto devices, which provides
AES-CBC ciphering and AES-CBC with HMAC-SHA1 algorithm-chaining. See the
- :doc:`../cryptodevs/virtio` crypto driver guide for more details on
+ :doc:`/cryptodevs/virtio` crypto driver guide for more details on
this new driver.
* **Added AMD CCP Crypto PMD.**
Added the new ``ccp`` crypto driver for AMD CCP devices. See the
- :doc:`../cryptodevs/ccp` crypto driver guide for more details on
+ :doc:`/cryptodevs/ccp` crypto driver guide for more details on
this new driver.
* **Updated AESNI MB PMD.**
@@ -209,7 +209,7 @@ New Features
* **Added a new compression poll mode driver using Intels ISA-L.**
Added the new ``ISA-L`` compression driver, for compression and decompression
- operations in software. See the :doc:`../compressdevs/isal` compression driver
+ operations in software. See the :doc:`/compressdevs/isal` compression driver
guide for details on this new driver.
* **Added the Event Timer Adapter Library.**
@@ -224,7 +224,7 @@ New Features
The OcteonTx Timer block enables software to schedule events for a future
time, it is exposed to an application via the Event timer adapter library.
- See the :doc:`../eventdevs/octeontx` guide for more details
+ See the :doc:`/eventdevs/octeontx` guide for more details
* **Added Event Crypto Adapter Library.**
@@ -245,7 +245,7 @@ New Features
with OPAE (Open Programmable Acceleration Engine) shared code to provide common FPGA
management ops for FPGA operation.
- See the :doc:`../rawdevs/ifpga` programmer's guide for more details.
+ See the :doc:`/rawdevs/ifpga` programmer's guide for more details.
* **Added DPAA2 QDMA Driver (in rawdev).**
@@ -264,7 +264,7 @@ New Features
between GPP and AIOP is achieved via using DPCI devices exposed by MC for
GPP <--> AIOP interaction.
- See the :doc:`../rawdevs/dpaa2_cmdif` guide for more details.
+ See the :doc:`/rawdevs/dpaa2_cmdif` guide for more details.
* **Added device event monitor framework.**
diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes/release_18_08.rst
index 314723f1e0..6ca1c77a25 100644
--- a/doc/guides/rel_notes/release_18_08.rst
+++ b/doc/guides/rel_notes/release_18_08.rst
@@ -10,7 +10,7 @@ New Features
* **Added support for Hyper-V netvsc PMD.**
The new ``netvsc`` poll mode driver provides native support for
- networking on Hyper-V. See the :doc:`../nics/netvsc` NIC driver guide
+ networking on Hyper-V. See the :doc:`/nics/netvsc` NIC driver guide
for more details on this new driver.
* **Added Flow API support for CXGBE PMD.**
@@ -73,7 +73,7 @@ New Features
* **Added a new compression PMD using Intel's QuickAssist (QAT) device family.**
Added the new ``QAT`` compression driver, for compression and decompression
- operations in software. See the :doc:`../compressdevs/qat_comp` compression
+ operations in software. See the :doc:`/compressdevs/qat_comp` compression
driver guide for details on this new driver.
* **Updated the ISA-L PMD.**
diff --git a/doc/guides/rel_notes/release_18_11.rst b/doc/guides/rel_notes/release_18_11.rst
index 708bc9d4dd..8ddbf697a4 100644
--- a/doc/guides/rel_notes/release_18_11.rst
+++ b/doc/guides/rel_notes/release_18_11.rst
@@ -86,17 +86,17 @@ New Features
* **Added a new net driver for Marvell Armada 3k device.**
Added the new ``mvneta`` net driver for Marvell Armada 3k device. See the
- :doc:`../nics/mvneta` NIC guide for more details on this new driver.
+ :doc:`/nics/mvneta` NIC guide for more details on this new driver.
* **Added NXP ENETC PMD.**
Added the new enetc driver for the NXP enetc platform. See the
- :doc:`../nics/enetc` NIC driver guide for more details on this new driver.
+ :doc:`/nics/enetc` NIC driver guide for more details on this new driver.
* **Added Ethernet poll mode driver for Aquantia aQtion family of 10G devices.**
Added the new ``atlantic`` ethernet poll mode driver for Aquantia XGBE devices.
- See the :doc:`../nics/atlantic` NIC driver guide for more details on this
+ See the :doc:`/nics/atlantic` NIC driver guide for more details on this
driver.
* **Updated mlx5 driver.**
@@ -185,7 +185,7 @@ New Features
* **Added NXP CAAM JR PMD.**
Added the new caam job ring driver for NXP platforms. See the
- :doc:`../cryptodevs/caam_jr` guide for more details on this new driver.
+ :doc:`/cryptodevs/caam_jr` guide for more details on this new driver.
* **Added support for GEN3 devices to Intel QAT driver.**
@@ -239,7 +239,7 @@ New Features
executed per core and uses the number of empty polls as a hint for system
power management.
- See the :doc:`../prog_guide/power_man` section of the DPDK Programmers
+ See the :doc:`/prog_guide/power_man` section of the DPDK Programmers
Guide document for more information.
* **Added JSON power policy interface for containers.**
diff --git a/doc/guides/rel_notes/release_19_02.rst b/doc/guides/rel_notes/release_19_02.rst
index e2b8200739..3aa91e84e3 100644
--- a/doc/guides/rel_notes/release_19_02.rst
+++ b/doc/guides/rel_notes/release_19_02.rst
@@ -82,7 +82,7 @@ New Features
* **Added ICE net PMD.**
Added the new ``ice`` net driver for Intel(R) Ethernet Network Adapters E810.
- See the :doc:`../nics/ice` NIC guide for more details on this new driver.
+ See the :doc:`/nics/ice` NIC guide for more details on this new driver.
* **Added support for SW-assisted VDPA live migration.**
@@ -112,7 +112,7 @@ New Features
algorithm-chaining, and AES-GCM and NULL algorithms only at present. It is
planned to add more algorithms in future releases.
- See :doc:`../prog_guide/ipsec_lib` for more information.
+ See :doc:`/prog_guide/ipsec_lib` for more information.
* **Updated the ipsec-secgw sample application.**
@@ -126,7 +126,7 @@ New Features
ipsec-secgw application. It is planned to add the outstanding functionality
in future releases.
- See :doc:`../sample_app_ug/ipsec_secgw` for more information.
+ See :doc:`/sample_app_ug/ipsec_secgw` for more information.
* **Enabled checksum support in the ISA-L compressdev driver.**
diff --git a/doc/guides/rel_notes/release_19_05.rst b/doc/guides/rel_notes/release_19_05.rst
index 89ae425bdb..1a852753ab 100644
--- a/doc/guides/rel_notes/release_19_05.rst
+++ b/doc/guides/rel_notes/release_19_05.rst
@@ -60,12 +60,12 @@ New Features
* **Added a net PMD NFB.**
Added the new ``nfb`` net driver for Netcope NFB cards. See
- the :doc:`../nics/nfb` NIC guide for more details on this new driver.
+ the :doc:`/nics/nfb` NIC guide for more details on this new driver.
* **Added IPN3KE net PMD.**
Added the new ``ipn3ke`` net driver for the Intel® FPGA PAC (Programmable
- Acceleration Card) N3000. See the :doc:`../nics/ipn3ke` NIC guide for more
+ Acceleration Card) N3000. See the :doc:`/nics/ipn3ke` NIC guide for more
details on this new driver.
In addition ``ifpga_rawdev`` was also updated to support Intel® FPGA PAC
diff --git a/doc/guides/rel_notes/release_19_08.rst b/doc/guides/rel_notes/release_19_08.rst
index 31fcebdf95..08aeb0f485 100644
--- a/doc/guides/rel_notes/release_19_08.rst
+++ b/doc/guides/rel_notes/release_19_08.rst
@@ -54,7 +54,7 @@ New Features
Added the new ``hinic`` net driver for Huawei Intelligent PCIE Network
Adapters based on the Huawei Ethernet Controller Hi1822.
- See the :doc:`../nics/hinic` guide for more details on this new driver.
+ See the :doc:`/nics/hinic` guide for more details on this new driver.
* **Updated the Intel ice driver.**
@@ -93,7 +93,7 @@ New Features
* **Added memif PMD.**
Added a new Shared Memory Packet Interface (``memif``) PMD.
- See the :doc:`../nics/memif` guide for more details on this new driver.
+ See the :doc:`/nics/memif` guide for more details on this new driver.
* **Updated the AF_XDP PMD.**
@@ -122,7 +122,7 @@ New Features
Added a new ``fpga_lte_fec`` bbdev driver for the Intel\ |reg| FPGA PAC
(Programmable Acceleration Card) N3000. See the
- :doc:`../bbdevs/fpga_lte_fec` BBDEV guide for more details on this new driver.
+ :doc:`/bbdevs/fpga_lte_fec` BBDEV guide for more details on this new driver.
* **Updated the TURBO_SW bbdev PMD.**
diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst
index 79f3475ae6..dc5c84b5a8 100644
--- a/doc/guides/rel_notes/release_19_11.rst
+++ b/doc/guides/rel_notes/release_19_11.rst
@@ -81,12 +81,12 @@ New Features
Added the new ``hns3`` net driver for the inbuilt Hisilicon Network
Subsystem 3 (HNS3) network engine found in the Hisilicon Kunpeng 920 SoC.
- See the :doc:`../nics/hns3` guide for more details on this new driver.
+ See the :doc:`/nics/hns3` guide for more details on this new driver.
* **Added NXP PFE PMD.**
Added the new PFE driver for the NXP LS1012A platform. See the
- :doc:`../nics/pfe` NIC driver guide for more details on this new driver.
+ :doc:`/nics/pfe` NIC driver guide for more details on this new driver.
* **Updated Broadcom bnxt driver.**
@@ -180,7 +180,7 @@ New Features
* **Added Marvell NITROX symmetric crypto PMD.**
Added a symmetric crypto PMD for Marvell NITROX V security processor.
- See the :doc:`../cryptodevs/nitrox` guide for more details on this new PMD.
+ See the :doc:`/cryptodevs/nitrox` guide for more details on this new PMD.
* **Added asymmetric support to Marvell OCTEON TX crypto PMD.**
@@ -281,7 +281,7 @@ New Features
compilers store their internal representation of the source code that
the linker uses at the final stage of the compilation process.
- See :doc:`../prog_guide/lto` for more information:
+ See :doc:`/prog_guide/lto` for more information:
* **Added IOVA as VA support for KNI.**
@@ -301,8 +301,8 @@ Removed Items
* Removed library-level ABI versions. These have been replaced with a single
project-level ABI version for non-experimental libraries and an ABI version of
- ``0`` for experimental libraries. Review the :doc:`../contributing/abi_policy`
- and :doc:`../contributing/abi_versioning` guides for more information.
+ ``0`` for experimental libraries. Review the :doc:`/contributing/abi_policy`
+ and :doc:`/contributing/abi_versioning` guides for more information.
* Removed duplicated set of commands for Rx offload configuration from testpmd::
@@ -418,7 +418,7 @@ API Changes
ABI Changes
-----------
-* policy: Please note the revisions to the :doc:`../contributing/abi_policy`
+* policy: Please note the revisions to the :doc:`/contributing/abi_policy`
introducing major ABI versions, with DPDK 19.11 becoming the first major
version ``v20``. ABI changes to add new features continue to be permitted in
subsequent releases, with the condition that ABI compatibility with the major
diff --git a/doc/guides/rel_notes/release_20_02.rst b/doc/guides/rel_notes/release_20_02.rst
index 461ab16286..3eb58c132a 100644
--- a/doc/guides/rel_notes/release_20_02.rst
+++ b/doc/guides/rel_notes/release_20_02.rst
@@ -34,7 +34,7 @@ New Features
* **Added IONIC net PMD.**
Added the new ``ionic`` net driver for Pensando Ethernet Network Adapters.
- See the :doc:`../nics/ionic` NIC guide for more details on this new driver.
+ See the :doc:`/nics/ionic` NIC guide for more details on this new driver.
* **Updated Broadcom bnxt driver.**
@@ -104,7 +104,7 @@ New Features
* **Add new vDPA PMD based on Mellanox devices.**
Added a new Mellanox vDPA (``mlx5_vdpa``) PMD.
- See the :doc:`../vdpadevs/mlx5` guide for more details on this driver.
+ See the :doc:`/vdpadevs/mlx5` guide for more details on this driver.
* **Added support for virtio-PMD notification data.**
diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst
index a38c6c673d..b7fb077401 100644
--- a/doc/guides/rel_notes/release_20_05.rst
+++ b/doc/guides/rel_notes/release_20_05.rst
@@ -91,7 +91,7 @@ New Features
* **Added a new driver for Intel Foxville I225 devices.**
Added the new ``igc`` net driver for Intel Foxville I225 devices. See the
- :doc:`../nics/igc` NIC guide for more details on this new driver.
+ :doc:`/nics/igc` NIC guide for more details on this new driver.
* **Updated Intel i40e driver.**
@@ -211,7 +211,7 @@ New Features
Added a new ``fpga_5gnr_fec`` bbdev driver for the Intel\ |reg| FPGA PAC
(Programmable Acceleration Card) N3000. See the
- :doc:`../bbdevs/fpga_5gnr_fec` BBDEV guide for more details on this new driver.
+ :doc:`/bbdevs/fpga_5gnr_fec` BBDEV guide for more details on this new driver.
* **Updated the DSW event device.**
diff --git a/doc/guides/rel_notes/release_20_08.rst b/doc/guides/rel_notes/release_20_08.rst
index 619c3dd59f..36163249d5 100644
--- a/doc/guides/rel_notes/release_20_08.rst
+++ b/doc/guides/rel_notes/release_20_08.rst
@@ -216,14 +216,14 @@ New Features
Added new command line option ``--portmap="(port, port)[,(port, port)]"`` to
pass forwarding port details.
- See the :doc:`../sample_app_ug/l2_forward_real_virtual` for more
+ See the :doc:`/sample_app_ug/l2_forward_real_virtual` for more
details of this parameter usage.
* **Updated ipsec-secgw sample application.**
Added ``rte_flow`` based rules, which allows hardware parsing and steering
of ingress packets to specific NIC queues.
- See the :doc:`../sample_app_ug/ipsec_secgw` for more details.
+ See the :doc:`/sample_app_ug/ipsec_secgw` for more details.
Removed Items
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 76fd7372b8..fd454f3e4f 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -194,7 +194,7 @@ New Features
Added a new PMD for Wangxun 10 Gigabit Ethernet NICs.
- See the :doc:`../nics/txgbe` for more details.
+ See the :doc:`/nics/txgbe` for more details.
* **Updated Virtio driver.**
@@ -252,7 +252,7 @@ New Features
* **Added Broadcom BCMFS symmetric crypto PMD.**
Added a symmetric crypto PMD for Broadcom FlexSparc crypto units.
- See :doc:`../cryptodevs/bcmfs` guide for more details on this new PMD.
+ See :doc:`/cryptodevs/bcmfs` guide for more details on this new PMD.
* **Updated NXP DPAA2_SEC crypto PMD.**
@@ -279,7 +279,7 @@ New Features
Added a new ``acc100`` bbdev driver for the Intel\ |reg| ACC100 accelerator
also known as Mount Bryce. See the
- :doc:`../bbdevs/acc100` BBDEV guide for more details on this new driver.
+ :doc:`/bbdevs/acc100` BBDEV guide for more details on this new driver.
* **Updated rte_security library to support SDAP.**
@@ -304,7 +304,7 @@ New Features
* **Added a new driver for the Intel Dynamic Load Balancer v2.0 device.**
Added the new ``dlb2`` eventdev driver for the Intel DLB V2.0 device. See the
- :doc:`../eventdevs/dlb2` eventdev guide for more details on this new driver.
+ :doc:`/eventdevs/dlb2` eventdev guide for more details on this new driver.
* **Added Ice Lake (Gen4) support for Intel NTB.**
@@ -380,7 +380,7 @@ New Features
Added vhost asynchronous APIs support, which demonstrates how the application
can leverage IOAT DMA channels with vhost asynchronous APIs.
- See the :doc:`../sample_app_ug/vhost` for more details.
+ See the :doc:`/sample_app_ug/vhost` for more details.
Removed Items
diff --git a/doc/guides/rel_notes/release_21_02.rst b/doc/guides/rel_notes/release_21_02.rst
index b47593b214..ffa52bd580 100644
--- a/doc/guides/rel_notes/release_21_02.rst
+++ b/doc/guides/rel_notes/release_21_02.rst
@@ -137,13 +137,13 @@ New Features
Added a new compress PMD for BlueField-2 adapters.
- See the :doc:`../compressdevs/mlx5` for more details.
+ See the :doc:`/compressdevs/mlx5` for more details.
* **Added python script to run crypto perf tests and graph the results.**
A new Python script has been added to automate running crypto performance
tests and output graphed results to PDF files.
- See the :doc:`../tools/cryptoperf` guide for more details.
+ See the :doc:`/tools/cryptoperf` guide for more details.
* **Added Windows support to pmdinfogen.**
diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst
index 369452b40b..08d0eca2fc 100644
--- a/doc/guides/rel_notes/release_21_08.rst
+++ b/doc/guides/rel_notes/release_21_08.rst
@@ -68,7 +68,7 @@ New Features
* **Added Wangxun ngbe PMD.**
Added a new PMD for Wangxun 1Gb Ethernet NICs.
- See the :doc:`../nics/ngbe` for more details.
+ See the :doc:`/nics/ngbe` for more details.
* **Added inflight packets clear API in vhost library.**
@@ -107,7 +107,7 @@ New Features
Added Baseband PHY PMD which allows configuration of the BPHY hardware block
comprising accelerators and DSPs specifically tailored for 5G/LTE inline
use cases. Configuration happens via standard rawdev enq/deq operations. See
- the :doc:`../rawdevs/cnxk_bphy` rawdev guide for more details on this driver.
+ the :doc:`/rawdevs/cnxk_bphy` rawdev guide for more details on this driver.
* **Added support for Marvell CN10K, CN9K, event Rx/Tx adapter.**
diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
index b9df58734b..144e9b2ab3 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -199,7 +199,7 @@ New Features
* **Added NXP ENETFEC PMD [EXPERIMENTAL].**
Added the new ENETFEC driver for the NXP IMX8MMEVK platform. See the
- :doc:`../nics/enetfec` NIC driver guide for more details on this new driver.
+ :doc:`/nics/enetfec` NIC driver guide for more details on this new driver.
* **Updated Solarflare network PMD.**
@@ -240,7 +240,7 @@ New Features
* **Added new vDPA PMD based on Xilinx devices.**
Added a new Xilinx vDPA (``sfc_vdpa``) PMD.
- See the :doc:`../vdpadevs/sfc` guide for more details on this driver.
+ See the :doc:`/vdpadevs/sfc` guide for more details on this driver.
* **Added telemetry callbacks to the cryptodev library.**
@@ -322,7 +322,7 @@ New Features
* **Added NXP LA12xx baseband PMD.**
* Added a new baseband PMD for NXP LA12xx Software defined radio.
- * See the :doc:`../bbdevs/la12xx` for more details.
+ * See the :doc:`/bbdevs/la12xx` for more details.
* **Updated Mellanox compress driver.**
diff --git a/doc/guides/rel_notes/release_22_03.rst b/doc/guides/rel_notes/release_22_03.rst
index 3c25561f27..b6a97e1ffe 100644
--- a/doc/guides/rel_notes/release_22_03.rst
+++ b/doc/guides/rel_notes/release_22_03.rst
@@ -177,7 +177,7 @@ New Features
for applications that as well as providing standard dataplane functionality
also want to have fast and low latency access to GPIO pin state.
- See the :doc:`../rawdevs/cnxk_gpio` rawdev guide for more details on this
+ See the :doc:`/rawdevs/cnxk_gpio` rawdev guide for more details on this
driver.
* **Updated testpmd to support software UDP/TCP checksum over multiple segments.**
diff --git a/doc/guides/rel_notes/release_22_07.rst b/doc/guides/rel_notes/release_22_07.rst
index 7312a29789..442dd4554b 100644
--- a/doc/guides/rel_notes/release_22_07.rst
+++ b/doc/guides/rel_notes/release_22_07.rst
@@ -118,7 +118,7 @@ New Features
* **Updated Intel igc driver.**
Added Intel Foxville I226 devices in ``igc`` driver.
- See the :doc:`../nics/igc` NIC guide for more details.
+ See the :doc:`/nics/igc` NIC guide for more details.
* **Updated Mellanox mlx5 driver.**
diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst
index 91414573bd..a8d48344c3 100644
--- a/doc/guides/rel_notes/release_22_11.rst
+++ b/doc/guides/rel_notes/release_22_11.rst
@@ -109,7 +109,7 @@ New Features
* **Added GVE net PMD.**
* Added the new ``gve`` net driver for Google Virtual Ethernet devices.
- * See the :doc:`../nics/gve` NIC guide for more details on this new driver.
+ * See the :doc:`/nics/gve` NIC guide for more details on this new driver.
* **Updated Intel iavf driver.**
@@ -123,7 +123,7 @@ New Features
Added the new ``idpf`` net driver
for Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
- See the :doc:`../nics/idpf` NIC guide for more details on this new driver.
+ See the :doc:`/nics/idpf` NIC guide for more details on this new driver.
* **Updated Marvell cnxk driver.**
@@ -209,7 +209,7 @@ New Features
* **Added UADK crypto driver.**
Added a new crypto driver for the UADK library. See the
- :doc:`../cryptodevs/uadk` guide for more details on this new driver.
+ :doc:`/cryptodevs/uadk` guide for more details on this new driver.
* **Added bbdev operation for FFT processing.**
@@ -263,17 +263,17 @@ New Features
Added new application to test ``rte_security`` session create/destroy
performance.
- See the :doc:`../tools/securityperf` for more details.
+ See the :doc:`/tools/securityperf` for more details.
* **Updated IPsec sample application.**
Added support for lookaside sessions in event mode.
- See the :doc:`../sample_app_ug/ipsec_secgw` for more details.
+ See the :doc:`/sample_app_ug/ipsec_secgw` for more details.
* **Updated FIPS validation sample application.**
Added support for asymmetric crypto algorithms.
- See the :doc:`../sample_app_ug/fips_validation` for more details.
+ See the :doc:`/sample_app_ug/fips_validation` for more details.
* **Rewrote pmdinfo script.**
diff --git a/doc/guides/rel_notes/release_23_03.rst b/doc/guides/rel_notes/release_23_03.rst
index 898aa09af9..b6532696aa 100644
--- a/doc/guides/rel_notes/release_23_03.rst
+++ b/doc/guides/rel_notes/release_23_03.rst
@@ -112,7 +112,7 @@ New Features
Added the new cpfl net driver
for Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
- See the :doc:`../nics/cpfl` NIC guide for more details on this new driver.
+ See the :doc:`/nics/cpfl` NIC guide for more details on this new driver.
* **Updated Intel igc driver.**
diff --git a/doc/guides/rel_notes/release_23_07.rst b/doc/guides/rel_notes/release_23_07.rst
index 30cc70bcd4..699bde0196 100644
--- a/doc/guides/rel_notes/release_23_07.rst
+++ b/doc/guides/rel_notes/release_23_07.rst
@@ -185,7 +185,7 @@ New Features
PDCP features such as IV generation, sequence number handling, etc are supported.
It is planned to add more features such as packet caching in future releases.
- See :doc:`../prog_guide/pdcp_lib` for more information.
+ See :doc:`/prog_guide/pdcp_lib` for more information.
* **Added TCP/IPv6 support in GRO library.**
@@ -203,7 +203,7 @@ New Features
Added an application to test the performance of DMA device and CPU.
- See the :doc:`../tools/dmaperf` for more details.
+ See the :doc:`/tools/dmaperf` for more details.
Removed Items
diff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst
index 6d83682d73..92efc31bcb 100644
--- a/doc/guides/rel_notes/release_23_11.rst
+++ b/doc/guides/rel_notes/release_23_11.rst
@@ -118,7 +118,7 @@ New Features
* **Added a new vDPA PMD for Corigine NFP devices.**
Added a new Corigine NFP vDPA (``nfp_vdpa``) PMD.
- See the :doc:`../vdpadevs/nfp` guide for more details on this driver.
+ See the :doc:`/vdpadevs/nfp` guide for more details on this driver.
* **Updated Corigine/Netronome nfp driver.**
diff --git a/doc/guides/rel_notes/release_24_07.rst b/doc/guides/rel_notes/release_24_07.rst
index bc11b20789..df7ab9ef3d 100644
--- a/doc/guides/rel_notes/release_24_07.rst
+++ b/doc/guides/rel_notes/release_24_07.rst
@@ -115,7 +115,7 @@ New Features
* **Added UADK compress driver.**
Added a new compress driver for the UADK library. See the
- :doc:`../compressdevs/uadk` guide for more details on this new driver.
+ :doc:`/compressdevs/uadk` guide for more details on this new driver.
* **Updated Marvell CNXK DMA driver.**
diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst
index 652562a71c..ac3919a489 100644
--- a/doc/guides/rel_notes/release_25_03.rst
+++ b/doc/guides/rel_notes/release_25_03.rst
@@ -125,7 +125,7 @@ New Features
Added a compress driver for ZSDA devices
to support the deflate compression and decompression algorithm.
- See the :doc:`../compressdevs/zsda` guide for more details on the new driver.
+ See the :doc:`/compressdevs/zsda` guide for more details on the new driver.
* **Added atomic tests to the eventdev test application.**
diff --git a/doc/guides/rel_notes/release_25_07.rst b/doc/guides/rel_notes/release_25_07.rst
index c25266b0fb..b83b9b286b 100644
--- a/doc/guides/rel_notes/release_25_07.rst
+++ b/doc/guides/rel_notes/release_25_07.rst
@@ -19,7 +19,7 @@ New Features
Now, it is possible to use the shortened ``-l`` form
to map lcore IDs to threads running on specific CPUs.
- See the :doc:`../linux_gsg/eal_args.include` guide for examples.
+ See the :doc:`/linux_gsg/eal_args.include` guide for examples.
* **Added PMU library.**
@@ -38,7 +38,7 @@ New Features
* **Added Mucse rnp net driver.**
Added a new network PMD which supports Mucse 10 Gigabit Ethernet NICs.
- See the :doc:`../nics/rnp` for more details.
+ See the :doc:`/nics/rnp` for more details.
* **Added RSS type for RoCE v2.**
@@ -75,7 +75,7 @@ New Features
Added a crypto driver for ZSDA devices
to support some encrypt, decrypt and hash algorithms.
- See the :doc:`../cryptodevs/zsda` guide for more details on the new driver.
+ See the :doc:`/cryptodevs/zsda` guide for more details on the new driver.
* **Updated Marvell cnxk crypto driver.**
@@ -96,7 +96,7 @@ New Features
Added vector adapter producer mode in eventdev test to measure performance.
- See the :doc:`../prog_guide/eventdev/event_vector_adapter` guide
+ See the :doc:`/prog_guide/eventdev/event_vector_adapter` guide
for more details on the new library.
* **Added event vector adapter support in CN20K event device driver.**
@@ -111,7 +111,7 @@ New Features
to manage multiple network protocols/features with runtime configurability,
in-built node-reusability and optimized control/data plane synchronization.
- See section ``Graph feature arc`` in :doc:`../prog_guide/graph_lib` for more details.
+ See section ``Graph feature arc`` in :doc:`/prog_guide/graph_lib` for more details.
Added ``ip4 output`` feature arc processing in ``ip4_rewrite`` node.
diff --git a/doc/guides/sample_app_ug/dma.rst b/doc/guides/sample_app_ug/dma.rst
index a455f9c8ad..d22a41b4c8 100644
--- a/doc/guides/sample_app_ug/dma.rst
+++ b/doc/guides/sample_app_ug/dma.rst
@@ -38,7 +38,7 @@ Running the Application
In order to run the hardware copy application, the copying device
needs to be bound to user-space IO driver.
-Refer to the :doc:`../prog_guide/dmadev` for information on using the library.
+Refer to the :doc:`/prog_guide/dmadev` for information on using the library.
The application requires a number of command line options:
@@ -320,4 +320,4 @@ The metadata in this example is copied from ``rx_descriptor_fields1`` marker of
``rte_mbuf`` struct up to ``buf_len`` member.
In order to understand why software packet copying is done as shown
-above, please refer to the :doc:`../prog_guide/mbuf_lib`.
+above, please refer to the :doc:`/prog_guide/mbuf_lib`.
diff --git a/doc/guides/sample_app_ug/intro.rst b/doc/guides/sample_app_ug/intro.rst
index a19c0b8c13..d9d6320470 100644
--- a/doc/guides/sample_app_ug/intro.rst
+++ b/doc/guides/sample_app_ug/intro.rst
@@ -15,8 +15,8 @@ Running Sample Applications
Some sample applications may have their own command-line parameters described in
their respective guides. However, they all also share the same EAL parameters.
-Please refer to :doc:`EAL parameters (Linux) <../linux_gsg/linux_eal_parameters>`
-or :doc:`EAL parameters (FreeBSD) <../freebsd_gsg/freebsd_eal_parameters>` for
+Please refer to :doc:`EAL parameters (Linux) </linux_gsg/linux_eal_parameters>`
+or :doc:`EAL parameters (FreeBSD) </freebsd_gsg/freebsd_eal_parameters>` for
a list of available EAL command-line options.
diff --git a/doc/guides/sample_app_ug/ip_reassembly.rst b/doc/guides/sample_app_ug/ip_reassembly.rst
index 5a71644e38..b998c1b370 100644
--- a/doc/guides/sample_app_ug/ip_reassembly.rst
+++ b/doc/guides/sample_app_ug/ip_reassembly.rst
@@ -124,7 +124,7 @@ The following sections describe aspects that are specific to the IP reassemble s
IPv4 Fragment Table Initialization
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This application uses the :doc:`../prog_guide/ip_fragment_reassembly_lib` library.
+This application uses the :doc:`/prog_guide/ip_fragment_reassembly_lib` library.
The fragment table maintains information about already received fragments of the packet.
Each IP packet is uniquely identified by triple <Source IP address>, <Destination IP address>, <ID>.
To avoid lock contention, each Rx queue has its own fragment table.
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index 5888e393d1..4a771bbe9b 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -304,7 +304,7 @@ and has three available power management schemes:
The reaction time of the scale mode is longer
than the pause and monitor mode.
-See :doc:`Power Management<../prog_guide/power_man>` chapter
+See :doc:`Power Management </prog_guide/power_man>` chapter
in the DPDK Programmer's Guide for more details on PMD power management.
.. code-block:: console
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index d654484546..fc9e4f02a9 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -7,8 +7,8 @@ Running the Application
EAL Command-line Options
------------------------
-Please refer to :doc:`EAL parameters (Linux) <../linux_gsg/linux_eal_parameters>`
-or :doc:`EAL parameters (FreeBSD) <../freebsd_gsg/freebsd_eal_parameters>` for
+Please refer to :doc:`EAL parameters (Linux) </linux_gsg/linux_eal_parameters>`
+or :doc:`EAL parameters (FreeBSD) </freebsd_gsg/freebsd_eal_parameters>` for
a list of available EAL command-line options.
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 0bc267950a..f06856070b 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -2437,7 +2437,7 @@ Link Bonding Functions
The Link Bonding functions make it possible to dynamically create and
manage link bonding devices from within testpmd interactive prompt.
-See :doc:`../prog_guide/link_bonding_poll_mode_drv_lib` for more information.
+See :doc:`/prog_guide/link_bonding_poll_mode_drv_lib` for more information.
.. _testpmd_traffic_metering_and_policing:
diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
index 6c1d8bb951..fc47f23007 100644
--- a/doc/guides/tools/dts.rst
+++ b/doc/guides/tools/dts.rst
@@ -566,7 +566,7 @@ Building DTS API docs
---------------------
The documentation is built using the standard DPDK build system.
-See :doc:`../linux_gsg/build_dpdk` for more details on compiling DPDK with meson.
+See :doc:`/linux_gsg/build_dpdk` for more details on compiling DPDK with meson.
After executing the meson command, build the documentation with:
diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst
index 657f06fec7..1a437ed9d4 100644
--- a/doc/guides/tools/flow-perf.rst
+++ b/doc/guides/tools/flow-perf.rst
@@ -44,8 +44,8 @@ Running the Application
EAL Command-line Options
~~~~~~~~~~~~~~~~~~~~~~~~
-Please refer to :doc:`EAL parameters (Linux) <../linux_gsg/linux_eal_parameters>`
-or :doc:`EAL parameters (FreeBSD) <../freebsd_gsg/freebsd_eal_parameters>` for
+Please refer to :doc:`EAL parameters (Linux) </linux_gsg/linux_eal_parameters>`
+or :doc:`EAL parameters (FreeBSD) </freebsd_gsg/freebsd_eal_parameters>` for
a list of available EAL command-line options.
diff --git a/doc/guides/tools/securityperf.rst b/doc/guides/tools/securityperf.rst
index 5890eda436..fb70beb976 100644
--- a/doc/guides/tools/securityperf.rst
+++ b/doc/guides/tools/securityperf.rst
@@ -19,8 +19,8 @@ Running the Application
EAL Command-line Options
~~~~~~~~~~~~~~~~~~~~~~~~
-Please refer to :doc:`EAL parameters (Linux) <../linux_gsg/linux_eal_parameters>`
-or :doc:`EAL parameters (FreeBSD) <../freebsd_gsg/freebsd_eal_parameters>`
+Please refer to :doc:`EAL parameters (Linux) </linux_gsg/linux_eal_parameters>`
+or :doc:`EAL parameters (FreeBSD) </freebsd_gsg/freebsd_eal_parameters>`
for a list of available EAL command-line options.
Security Performance Options
diff --git a/doc/guides/tools/testbbdev.rst b/doc/guides/tools/testbbdev.rst
index 58de4a2fbe..a7c433aacd 100644
--- a/doc/guides/tools/testbbdev.rst
+++ b/doc/guides/tools/testbbdev.rst
@@ -41,7 +41,7 @@ The following are the command-line options:
``-e EAL_PARAMS, --eal_params EAL_PARAMS``
Specifies EAL arguments which are passed to the test app. For more details,
- refer to DPDK documentation at :doc:`../linux_gsg/linux_eal_parameters`.
+ refer to DPDK documentation at :doc:`/linux_gsg/linux_eal_parameters`.
``-t TIMEOUT, --timeout TIMEOUT``
Specifies timeout in seconds. If not specified timeout is set to 300 seconds.
diff --git a/doc/guides/vdpadevs/mlx5.rst b/doc/guides/vdpadevs/mlx5.rst
index 2ee8112131..4b604d5446 100644
--- a/doc/guides/vdpadevs/mlx5.rst
+++ b/doc/guides/vdpadevs/mlx5.rst
@@ -9,7 +9,7 @@ NVIDIA MLX5 vDPA Driver
The mlx5 vDPA (vhost data path acceleration) driver (``librte_vdpa_mlx5``)
provides support for NVIDIA NIC and DPU device families.
-See :doc:`../../platform/mlx5` guide for design details,
+See :doc:`/platform/mlx5` guide for design details,
and which PMDs can be combined with vDPA PMD.
diff --git a/doc/guides/windows_gsg/intro.rst b/doc/guides/windows_gsg/intro.rst
index 4ac7f97828..37be379060 100644
--- a/doc/guides/windows_gsg/intro.rst
+++ b/doc/guides/windows_gsg/intro.rst
@@ -19,6 +19,6 @@ compile. Support is being added in pieces so as to limit the overall scope
of any individual patch series. The goal is to be able to run any DPDK
application natively on Windows.
-The :doc:`../contributing/abi_policy` does not apply to the Windows build,
+The :doc:`/contributing/abi_policy` does not apply to the Windows build,
as function versioning is not supported on Windows,
therefore minor ABI versions may be incompatible.
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 5/8] doc: link whole-guide references to pages
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
` (3 preceding siblings ...)
2026-07-16 10:31 ` [PATCH v3 4/8] doc: shorten page references in guides Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 6/8] doc: remove redundant link captions Thomas Monjalon
` (4 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: Nicolas Chautru, Gagandeep Singh, Hemant Agrawal, Sachin Saxena,
Tirthendu Sarkar, Bruce Richardson, Konstantin Ananyev,
Shepard Siegel, Ed Czeck, John Miller, Selwin Sebastian,
Julien Aube, Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori,
Satha Rao, Harman Kalra, Potnuri Bharat Teja, Shai Brandes,
Evgeny Schemeilin, Ron Beider, Amit Bernstein, Wajeeh Atrash,
Vanshika Shukla, John Daley, Hyong Youb Kim, Gaetan Rivet,
Xiaoyun Wang, Feifei Wang, Xingui Yang, Chengwen Feng,
Anatoly Burakov, Rosen Xu, Long Li, Wei Hu, Zyta Szpak,
Liron Himi, Dimon Zhao, Leon Yu, Sam Chen, Chaoyong He, Jiawen Wu,
Zaiyu Wang, Devendra Singh Rawat, Alok Prasad, Jerin Jacob,
Maciej Czekaj, Renyong Wan, Na Na, Rong Qian, Xiaoxiong Zhang,
Dongwei Xu, Junlong Wang, Ming Ran, Yipeng Wang, Aman Singh
Some references point to labels placed at the beginning of a file
only to link to the page as a whole.
Use :doc: links instead.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/bbdevs/acc100.rst | 2 +-
doc/guides/bbdevs/fpga_lte_fec.rst | 2 +-
doc/guides/bbdevs/la12xx.rst | 4 ++--
doc/guides/bbdevs/vrb1.rst | 2 +-
doc/guides/bbdevs/vrb2.rst | 2 +-
doc/guides/contributing/abi_policy.rst | 10 +++++-----
doc/guides/contributing/abi_versioning.rst | 2 --
doc/guides/contributing/coding_style.rst | 2 --
doc/guides/contributing/documentation.rst | 4 +---
doc/guides/contributing/patches.rst | 6 +++---
doc/guides/contributing/stable.rst | 2 --
doc/guides/cryptodevs/caam_jr.rst | 2 +-
doc/guides/cryptodevs/dpaa2_sec.rst | 2 +-
doc/guides/cryptodevs/dpaa_sec.rst | 2 +-
doc/guides/dmadevs/dpaa.rst | 2 +-
doc/guides/dmadevs/dpaa2.rst | 2 +-
doc/guides/eventdevs/dlb2.rst | 3 +--
doc/guides/eventdevs/dpaa.rst | 2 +-
doc/guides/eventdevs/dpaa2.rst | 2 +-
doc/guides/freebsd_gsg/build_dpdk.rst | 2 --
doc/guides/freebsd_gsg/build_sample_apps.rst | 2 --
doc/guides/freebsd_gsg/index.rst | 2 --
doc/guides/freebsd_gsg/install_from_ports.rst | 6 ++----
doc/guides/freebsd_gsg/intro.rst | 2 +-
doc/guides/howto/virtio_user_as_exception_path.rst | 2 +-
doc/guides/linux_gsg/build_dpdk.rst | 2 --
doc/guides/linux_gsg/build_sample_apps.rst | 2 +-
doc/guides/linux_gsg/enable_func.rst | 2 --
doc/guides/linux_gsg/index.rst | 2 --
doc/guides/linux_gsg/linux_drivers.rst | 2 --
doc/guides/linux_gsg/nic_perf_intel_platform.rst | 2 +-
doc/guides/linux_gsg/sys_reqs.rst | 3 +--
doc/guides/nics/ark.rst | 6 ++----
doc/guides/nics/axgbe.rst | 6 ++----
doc/guides/nics/bnx2x.rst | 7 ++-----
doc/guides/nics/build_and_test.rst | 9 +++------
doc/guides/nics/cnxk.rst | 7 ++-----
doc/guides/nics/cxgbe.rst | 6 +++---
doc/guides/nics/dpaa.rst | 9 +++------
doc/guides/nics/dpaa2.rst | 9 +++------
doc/guides/nics/ena.rst | 7 +++----
doc/guides/nics/enetc.rst | 4 +---
doc/guides/nics/enetc4.rst | 4 +---
doc/guides/nics/enic.rst | 3 +--
doc/guides/nics/fail_safe.rst | 3 +--
doc/guides/nics/hinic.rst | 5 ++---
doc/guides/nics/hinic3.rst | 6 ++----
doc/guides/nics/hns3.rst | 6 ++----
doc/guides/nics/i40e.rst | 9 +++------
doc/guides/nics/ice.rst | 5 ++---
doc/guides/nics/igc.rst | 3 +--
doc/guides/nics/ipn3ke.rst | 5 ++---
doc/guides/nics/mana.rst | 3 +--
doc/guides/nics/mvneta.rst | 3 +--
doc/guides/nics/mvpp2.rst | 3 +--
doc/guides/nics/nbl.rst | 3 +--
doc/guides/nics/nfp.rst | 3 +--
doc/guides/nics/ngbe.rst | 5 ++---
doc/guides/nics/octeontx.rst | 7 ++-----
doc/guides/nics/pfe.rst | 4 +---
doc/guides/nics/qede.rst | 7 ++-----
doc/guides/nics/thunderx.rst | 9 +++------
doc/guides/nics/txgbe.rst | 5 ++---
doc/guides/nics/xsc.rst | 3 +--
doc/guides/nics/zxdh.rst | 3 +--
doc/guides/platform/dpaa.rst | 3 +--
doc/guides/platform/dpaa2.rst | 3 +--
doc/guides/prog_guide/asan.rst | 2 +-
doc/guides/rawdevs/dpaa2_cmdif.rst | 2 +-
doc/guides/sample_app_ug/compiling.rst | 4 ++--
doc/guides/sample_app_ug/server_node_efd.rst | 4 ++--
doc/guides/testpmd_app_ug/index.rst | 2 --
doc/guides/testpmd_app_ug/run_app.rst | 2 +-
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 --
doc/guides/tools/testbbdev.rst | 2 --
75 files changed, 99 insertions(+), 190 deletions(-)
diff --git a/doc/guides/bbdevs/acc100.rst b/doc/guides/bbdevs/acc100.rst
index 253ed3e81f..985fbb4d24 100644
--- a/doc/guides/bbdevs/acc100.rst
+++ b/doc/guides/bbdevs/acc100.rst
@@ -126,7 +126,7 @@ BBDEV provides a test application, ``test-bbdev.py`` and range of test data for
the functionality of the device, depending on the device's capabilities.
For more details on how to use the test application,
-see :ref:`test_bbdev_application`.
+see :doc:`/tools/testbbdev`.
Test Vectors
diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst
index b85112dae4..74151cbef9 100644
--- a/doc/guides/bbdevs/fpga_lte_fec.rst
+++ b/doc/guides/bbdevs/fpga_lte_fec.rst
@@ -166,7 +166,7 @@ BBDEV provides a test application, ``test-bbdev.py`` and range of test data for
the functionality of the device, depending on the device's capabilities.
For more details on how to use the test application,
-see :ref:`test_bbdev_application`.
+see :doc:`/tools/testbbdev`.
Test Vectors
~~~~~~~~~~~~
diff --git a/doc/guides/bbdevs/la12xx.rst b/doc/guides/bbdevs/la12xx.rst
index 9df4a39725..b2224cc90b 100644
--- a/doc/guides/bbdevs/la12xx.rst
+++ b/doc/guides/bbdevs/la12xx.rst
@@ -56,7 +56,7 @@ Currently supported by DPDK:
- NXP LA1224 BSP **1.0+**.
- NXP LA1224 PCIe Modem card connected to ARM host.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
* Use dev arg option ``modem=0`` to identify the modem instance for a given
device. This is required only if more than 1 modem cards are attached to host.
@@ -86,7 +86,7 @@ BBDEV provides a test application, ``test-bbdev.py`` and range of test data for
the functionality of the device, depending on the device's capabilities.
For more details on how to use the test application,
-see :ref:`test_bbdev_application`.
+see :doc:`/tools/testbbdev`.
Test Vectors
diff --git a/doc/guides/bbdevs/vrb1.rst b/doc/guides/bbdevs/vrb1.rst
index 134dc246e7..e16d6b9dbe 100644
--- a/doc/guides/bbdevs/vrb1.rst
+++ b/doc/guides/bbdevs/vrb1.rst
@@ -134,7 +134,7 @@ BBDEV provides a test application, ``test-bbdev.py`` and range of test data for
the functionality of the device, depending on the device's capabilities.
For more details on how to use the test application,
-see :ref:`test_bbdev_application`.
+see :doc:`/tools/testbbdev`.
Test Vectors
diff --git a/doc/guides/bbdevs/vrb2.rst b/doc/guides/bbdevs/vrb2.rst
index 4420780452..3a9ae1bf82 100644
--- a/doc/guides/bbdevs/vrb2.rst
+++ b/doc/guides/bbdevs/vrb2.rst
@@ -148,7 +148,7 @@ BBDEV provides a test application, ``test-bbdev.py`` and range of test data for
the functionality of the device, depending on the device's capabilities.
For more details on how to use the test application,
-see :ref:`test_bbdev_application`.
+see :doc:`/tools/testbbdev`.
Test Vectors
diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
index 09e72ef3aa..ee7775c1ec 100644
--- a/doc/guides/contributing/abi_policy.rst
+++ b/doc/guides/contributing/abi_policy.rst
@@ -17,13 +17,13 @@ General Guidelines
with the major ABI version is mandatory in subsequent releases until a
:ref:`new major ABI version <new_abi_version>` is declared.
#. Major ABI versions are usually but not always declared aligned with a
- :ref:`LTS release <stable_lts_releases>`.
+ :doc:`LTS release <stable>`.
#. The ABI version is managed at a project level in DPDK, and is reflected in
all non-experimental :ref:`library's soname <what_is_soname>`.
#. The ABI should be preserved and not changed lightly. ABI changes must follow
the outlined :ref:`deprecation process <abi_changes>`.
-#. The addition of symbols is generally not problematic. The modification of
- symbols is managed with :ref:`ABI Versioning <abi_versioning>`.
+#. The addition of symbols is generally not problematic.
+ The modification of symbols is managed with :doc:`abi_versioning`.
#. The removal of symbols is considered an :ref:`ABI breakage <abi_breakages>`,
once approved these will form part of the next ABI version.
#. Libraries or APIs marked as :ref:`experimental <experimental_apis>`
@@ -143,7 +143,7 @@ The requirements for changing the ABI are:
CPU vendors, end-users, etc.
#. Backward compatibility with the major ABI version must be maintained through
- :ref:`abi_versioning`, with :ref:`forward-only <forward-only>` compatibility
+ :doc:`abi_versioning`, with :ref:`forward-only <forward-only>` compatibility
offered for any ABI changes that are indicated to be part of the next ABI
version.
@@ -225,7 +225,7 @@ declarations of major ABI versions.
* DPDK 21.02 release defines a new function ``rte_foo(uint8_t bar)``.
This is not a problem as long as the symbol ``rte_foo@DPDK_21`` is
- preserved through :ref:`abi_versioning`.
+ preserved through :doc:`abi_versioning`.
- The new function may be marked with the ``__rte_experimental`` tag for a
number of releases, as described in the section :ref:`experimental_apis`.
diff --git a/doc/guides/contributing/abi_versioning.rst b/doc/guides/contributing/abi_versioning.rst
index d81b9aeea6..933abcba57 100644
--- a/doc/guides/contributing/abi_versioning.rst
+++ b/doc/guides/contributing/abi_versioning.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright 2018 The DPDK contributors
-.. _abi_versioning:
-
ABI Versioning
==============
diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index d6219cb6af..d5acbd3b97 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright 2018 The DPDK contributors
-.. _coding_style:
-
DPDK Coding Style
=================
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 8cca859c73..41cbd03a4f 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright 2018 The DPDK contributors
-.. _doc_guidelines:
-
DPDK Documentation Guidelines
=============================
@@ -685,7 +683,7 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
}
Note: postfix comments should be aligned with spaces not tabs in accordance
- with the :ref:`coding_style`.
+ with the :doc:`coding_style`.
* If a single comment type can't be used, due to line length limitations then
prefix comments should be preferred.
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 53cd20ff9c..0ffa447af1 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -140,7 +140,7 @@ Make your Changes
Make your planned changes in the cloned ``dpdk`` repo. Here are some guidelines and requirements:
-* Follow the :ref:`coding_style` guidelines.
+* Follow the :doc:`coding_style` guidelines.
* If you are a new contributor, or if your mail address changed,
you may update the ``.mailmap`` file.
@@ -161,7 +161,7 @@ Make your planned changes in the cloned ``dpdk`` repo. Here are some guidelines
* For other PMDs and more info, refer to the ``MAINTAINERS`` file.
* New external functions should be exported.
- See the :doc:`ABI policy <abi_policy>` and :ref:`ABI versioning <abi_versioning>`
+ See the :doc:`ABI policy <abi_policy>` and :doc:`abi_versioning`
guides.
* Any new API function should be used in ``/app`` test directory.
@@ -179,7 +179,7 @@ Make your planned changes in the cloned ``dpdk`` repo. Here are some guidelines
* Add tests to the ``app/test`` unit test framework where possible.
* Add documentation, if relevant, in the form of Doxygen comments or a User Guide in RST format.
- See the :ref:`Documentation Guidelines <doc_guidelines>`.
+ See the :doc:`documentation`.
* Code and related documentation must be updated atomically in the same patch.
diff --git a/doc/guides/contributing/stable.rst b/doc/guides/contributing/stable.rst
index 808e7fa779..9a59a95ec7 100644
--- a/doc/guides/contributing/stable.rst
+++ b/doc/guides/contributing/stable.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright 2018 The DPDK contributors
-.. _stable_lts_releases:
-
DPDK Stable Releases and Long Term Support
==========================================
diff --git a/doc/guides/cryptodevs/caam_jr.rst b/doc/guides/cryptodevs/caam_jr.rst
index ac1a26c5e6..422b697323 100644
--- a/doc/guides/cryptodevs/caam_jr.rst
+++ b/doc/guides/cryptodevs/caam_jr.rst
@@ -107,7 +107,7 @@ Currently supported by DPDK:
* NXP SDK **18.09+**.
* Supported architectures: **arm64 LE**.
-* Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+* Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Enabling logs
diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 209f56305c..f95c6282bb 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -163,7 +163,7 @@ The following dependencies are not part of DPDK and must be installed separately
See :doc:`/platform/dpaa2` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Enabling logs
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index 5ca0d90c41..eae88a8f85 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -109,7 +109,7 @@ DPAA_SEC driver has similar pre-requisites as described in :ref:`dpaa_overview`.
See :doc:`/platform/dpaa` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Enabling logs
diff --git a/doc/guides/dmadevs/dpaa.rst b/doc/guides/dmadevs/dpaa.rst
index 4056173fc1..01104d7f1e 100644
--- a/doc/guides/dmadevs/dpaa.rst
+++ b/doc/guides/dmadevs/dpaa.rst
@@ -29,7 +29,7 @@ Prerequisites
See :doc:`/platform/dpaa` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
.. note::
diff --git a/doc/guides/dmadevs/dpaa2.rst b/doc/guides/dmadevs/dpaa2.rst
index 3d75b5ed48..c2babefba6 100644
--- a/doc/guides/dmadevs/dpaa2.rst
+++ b/doc/guides/dmadevs/dpaa2.rst
@@ -36,7 +36,7 @@ Prerequisites
See :doc:`/platform/dpaa2` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
.. note::
diff --git a/doc/guides/eventdevs/dlb2.rst b/doc/guides/eventdevs/dlb2.rst
index f784204b20..06841ba312 100644
--- a/doc/guides/eventdevs/dlb2.rst
+++ b/doc/guides/eventdevs/dlb2.rst
@@ -16,8 +16,7 @@ Please follow the links below to download the Programmer Guides.
Prerequisites
-------------
-Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
-the basic DPDK environment.
+Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Configuration
-------------
diff --git a/doc/guides/eventdevs/dpaa.rst b/doc/guides/eventdevs/dpaa.rst
index 578c133f82..a467841e16 100644
--- a/doc/guides/eventdevs/dpaa.rst
+++ b/doc/guides/eventdevs/dpaa.rst
@@ -38,7 +38,7 @@ Currently supported by DPDK:
- NXP SDK **2.0+** or LSDK **18.09+**
- Supported architectures: **arm64 LE**.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Initialization
diff --git a/doc/guides/eventdevs/dpaa2.rst b/doc/guides/eventdevs/dpaa2.rst
index 5b28999ceb..b1e0a1435d 100644
--- a/doc/guides/eventdevs/dpaa2.rst
+++ b/doc/guides/eventdevs/dpaa2.rst
@@ -36,7 +36,7 @@ Prerequisites
See :doc:`/platform/dpaa2` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
.. note::
diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst
index 8de28f0314..faedee1384 100644
--- a/doc/guides/freebsd_gsg/build_dpdk.rst
+++ b/doc/guides/freebsd_gsg/build_dpdk.rst
@@ -3,8 +3,6 @@
.. include:: <isonum.txt>
-.. _building_from_source:
-
Compiling the DPDK Target from Source
=====================================
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index db01b16e18..a89518daa5 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
-.. _compiling_sample_apps:
-
Compiling and Running Sample Applications
=========================================
diff --git a/doc/guides/freebsd_gsg/index.rst b/doc/guides/freebsd_gsg/index.rst
index 9af5988dc6..8f3bd4203d 100644
--- a/doc/guides/freebsd_gsg/index.rst
+++ b/doc/guides/freebsd_gsg/index.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
-.. _freebsd_gsg:
-
Getting Started Guide for FreeBSD
=================================
diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst
index 3c98c46b29..d2e19a1248 100644
--- a/doc/guides/freebsd_gsg/install_from_ports.rst
+++ b/doc/guides/freebsd_gsg/install_from_ports.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
-.. _install_from_ports:
-
Installing DPDK from the Ports Collection
=========================================
@@ -61,7 +59,7 @@ Compiling and Running the Example Applications
When the DPDK has been installed from the ports collection it installs
its example applications in ``/usr/local/share/dpdk/examples``.
-These examples can be compiled and run as described in :ref:`compiling_sample_apps`.
+These examples can be compiled and run as described in :doc:`build_sample_apps`.
.. note::
@@ -73,7 +71,7 @@ These examples can be compiled and run as described in :ref:`compiling_sample_ap
To install a copy of the DPDK compiled using gcc, please download the
official DPDK package from https://core.dpdk.org/download/ and install manually using
- the instructions given in the next chapter, :ref:`building_from_source`
+ the instructions given in the next chapter, :doc:`build_dpdk`
An example application can therefore be copied to a user's home directory and
compiled and run as below, where we have 2 memory blocks of size 1G reserved
diff --git a/doc/guides/freebsd_gsg/intro.rst b/doc/guides/freebsd_gsg/intro.rst
index fca647efad..1524129533 100644
--- a/doc/guides/freebsd_gsg/intro.rst
+++ b/doc/guides/freebsd_gsg/intro.rst
@@ -18,7 +18,7 @@ handbook is available from the FreeBSD Documentation Project:
DPDK is now available as part of the FreeBSD ports collection and as a pre-built package.
Installing via the ports collection or FreeBSD `pkg` infrastructure is now the recommended
- way to install DPDK on FreeBSD, and is documented in the next chapter, :ref:`install_from_ports`.
+ way to install DPDK on FreeBSD, and is documented in the next chapter, :doc:`install_from_ports`.
Documentation Roadmap
---------------------
diff --git a/doc/guides/howto/virtio_user_as_exception_path.rst b/doc/guides/howto/virtio_user_as_exception_path.rst
index bb4b6e6fa2..9593831575 100644
--- a/doc/guides/howto/virtio_user_as_exception_path.rst
+++ b/doc/guides/howto/virtio_user_as_exception_path.rst
@@ -59,7 +59,7 @@ Example Usage With Testpmd
To run a simple test of virtio-user as exception path using testpmd:
-#. Compile DPDK and bind a NIC to vfio-pci as documented in :ref:`linux_gsg_linux_drivers`.
+#. Compile DPDK and bind a NIC to vfio-pci as documented in :doc:`/linux_gsg/linux_drivers`.
This physical NIC is for communicating with the outside world,
and serves as a packet source in this example.
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 242c07718d..4388e0a1ec 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2015 Intel Corporation.
-.. _linux_gsg_compiling_dpdk:
-
Compiling the DPDK Target from Source
=====================================
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 4d233c7d05..4f5930a5f6 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -24,7 +24,7 @@ Running a Sample Application
- In case needed, ports being used by the application should be
bound to the corresponding kernel driver.
- Refer to :ref:`linux_gsg_linux_drivers` for more details.
+ Refer to :doc:`linux_drivers` for more details.
The application is linked with the DPDK target environment's Environmental Abstraction Layer (EAL) library,
which provides some options that are generic to every DPDK application.
diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index 4e1a939f35..49c5afaeb4 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -3,8 +3,6 @@
.. include:: <isonum.txt>
-.. _Enabling_Additional_Functionality:
-
Enabling Additional Functionality
=================================
diff --git a/doc/guides/linux_gsg/index.rst b/doc/guides/linux_gsg/index.rst
index ecdaf35eec..f739edd6ca 100644
--- a/doc/guides/linux_gsg/index.rst
+++ b/doc/guides/linux_gsg/index.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2015 Intel Corporation.
-.. _linux_gsg:
-
Getting Started Guide for Linux
===============================
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 8ffd281330..08e72ace56 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -5,8 +5,6 @@
.. include:: <isonum.txt>
-.. _linux_gsg_linux_drivers:
-
Linux Drivers
=============
diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
index 601d7bdc7a..13ba461671 100644
--- a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
+++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
@@ -182,4 +182,4 @@ Configurations before running DPDK
In the example above ``85:00.0`` is on socket 1 and should be used by cores on socket 1 for the best performance.
#. Check which kernel drivers need to be loaded and whether there is a need to unbind the network ports from their kernel drivers.
- More details about DPDK setup and Linux kernel requirements see :ref:`linux_gsg_compiling_dpdk` and :ref:`linux_gsg_linux_drivers`.
+ More details about DPDK setup and Linux kernel requirements see :doc:`build_dpdk` and :doc:`linux_drivers`.
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 3e0c902555..0c9ad64776 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -14,8 +14,7 @@ BIOS Setting Prerequisite on x86
For the majority of platforms, no special BIOS settings are needed to use basic DPDK functionality.
However, for additional HPET timer and power management functionality,
and high performance of small packets, BIOS setting changes may be needed.
-Consult the section on :ref:`Enabling Additional Functionality <Enabling_Additional_Functionality>`
-for more information on the required changes.
+Consult the section on :doc:`enable_func` for more information on the required changes.
Compilation of the DPDK
-----------------------
diff --git a/doc/guides/nics/ark.rst b/doc/guides/nics/ark.rst
index 078435cfe7..77ecf7ba0c 100644
--- a/doc/guides/nics/ark.rst
+++ b/doc/guides/nics/ark.rst
@@ -276,8 +276,7 @@ See :doc:`/linux_gsg/build_dpdk` for instructions.
By default the ARK PMD library will be built into the DPDK library.
-For configuring and using UIO and VFIO frameworks, please also refer :ref:`the
-documentation that comes with DPDK suite <linux_gsg>`.
+For configuring and using UIO and VFIO frameworks, please also refer :doc:`the documentation that comes with DPDK suite </linux_gsg/index>`.
To build with a non-zero minimum tx packet length, set the above macro in your
CFLAGS environment prior to the meson build step. I.e.,
@@ -395,8 +394,7 @@ application runs to completion, the ARK PMD can be detached from igb_uio if nece
Usage Example
-------------
-Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to launch
+Follow instructions available in the document :doc:`build_and_test` to launch
**testpmd** with Atomic Rules ARK devices managed by librte_net_ark.
Example output:
diff --git a/doc/guides/nics/axgbe.rst b/doc/guides/nics/axgbe.rst
index 176d0c9133..49defef3c8 100644
--- a/doc/guides/nics/axgbe.rst
+++ b/doc/guides/nics/axgbe.rst
@@ -34,8 +34,7 @@ See :doc:`/linux_gsg/build_dpdk` for instructions.
By default the AXGBE PMD library will be built into the DPDK library.
-For configuring and using UIO frameworks, please also refer :ref:`the
-documentation that comes with DPDK suite <linux_gsg>`.
+For configuring and using UIO frameworks, please also refer :doc:`the documentation that comes with DPDK suite </linux_gsg/index>`.
Prerequisites and Pre-conditions
@@ -50,8 +49,7 @@ Now system is ready to run DPDK application.
Usage Example
-------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Example output:
diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst
index c39fa7bfb0..b7a8c96319 100644
--- a/doc/guides/nics/bnx2x.rst
+++ b/doc/guides/nics/bnx2x.rst
@@ -102,8 +102,7 @@ enabling debugging options may affect system performance.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Jumbo: Limitation
-----------------
@@ -195,9 +194,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
#. Running testpmd:
(Supply ``--log-level="pmd.net.bnx2x.driver",7`` to view informational messages):
- Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
- to run testpmd.
+ Follow instructions available in the document :doc:`build_and_test` to run testpmd.
Example output:
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index 57e9e5c382..988a602f4f 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2017 Cavium, Inc
-.. _pmd_build_and_test:
-
Compiling and testing a PMD for a NIC
=====================================
@@ -13,8 +11,8 @@ TestPMD is one of the reference applications distributed with the DPDK. Its main
purpose is to forward packets between Ethernet ports on a network interface and
as such is the best way to test a PMD.
-Refer to the :ref:`testpmd application user guide <testpmd_ug>` for detailed
-information on how to build and run testpmd.
+Refer to the :doc:`/testpmd_app_ug/index`
+for detailed information on how to build and run testpmd.
Driver Compilation
------------------
@@ -143,8 +141,7 @@ This section demonstrates how to setup and run ``testpmd`` in Linux.
testpmd>
- Refer to the :ref:`testpmd runtime functions <testpmd_runtime>` for a list
- of available commands.
+ Refer to the :doc:`/testpmd_app_ug/testpmd_funcs` for a list of available commands.
.. note::
When ``testpmd`` is built with shared library, use option ``-d`` to load
diff --git a/doc/guides/nics/cnxk.rst b/doc/guides/nics/cnxk.rst
index 441b3ce5c4..cb7a86e8fc 100644
--- a/doc/guides/nics/cnxk.rst
+++ b/doc/guides/nics/cnxk.rst
@@ -52,14 +52,11 @@ See :doc:`/platform/cnxk` for setup information.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
#. Running testpmd:
- Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
- to run testpmd.
+ Follow instructions available in the document :doc:`build_and_test` to run testpmd.
Example output:
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 9cb411b729..aa46f0bd82 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -324,7 +324,7 @@ CXGBE PF Only Runtime Options
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+Refer to the document :doc:`build_and_test`
for details.
Linux
@@ -434,7 +434,7 @@ devices managed by librte_net_cxgbe in Linux operating system.
#. Running testpmd
Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+ :doc:`build_and_test`
to run testpmd.
.. note::
@@ -547,7 +547,7 @@ virtual functions.
#. Running testpmd
Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+ :doc:`build_and_test`
to bind virtual functions and run testpmd.
Example output:
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 4354c57828..c6aab46828 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -191,7 +191,7 @@ Prerequisites
See :doc:`/platform/dpaa` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
+- Follow the DPDK :doc:`/linux_gsg/index`
to setup the basic DPDK environment.
- DPAA driver has dependency on kernel to perform various functionalities.
So kernel and DPDK version should be compatible for proper working.
@@ -241,14 +241,11 @@ state during application initialization:
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
#. Running testpmd:
- Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
- to run testpmd.
+ Follow instructions available in the document :doc:`build_and_test` to run testpmd.
Example output:
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 2368173432..4ae63c7cc2 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -422,7 +422,7 @@ Prerequisites
See :doc:`/platform/dpaa2` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
.. note::
@@ -433,14 +433,11 @@ See :doc:`/platform/dpaa2` for setup information
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
#. Running testpmd:
- Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
- to run testpmd.
+ Follow instructions available in the document :doc:`build_and_test` to run testpmd.
Example output:
diff --git a/doc/guides/nics/ena.rst b/doc/guides/nics/ena.rst
index 52156a9fdf..d829e8854f 100644
--- a/doc/guides/nics/ena.rst
+++ b/doc/guides/nics/ena.rst
@@ -179,8 +179,8 @@ See :doc:`/linux_gsg/build_dpdk` for instructions.
By default the ENA PMD library will be built into the DPDK library.
-For configuring and using UIO and VFIO frameworks, please also refer :ref:`the
-documentation that comes with DPDK suite <linux_gsg>`.
+For configuring and using UIO and VFIO frameworks,
+please also refer the :doc:`/linux_gsg/index`.
Supported Operating Systems
---------------------------
@@ -292,8 +292,7 @@ Note that ``uio_pci_generic`` lacks IOMMU support and cannot be used for metal i
Usage example
-------------
-Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to launch
+Follow instructions available in the document :doc:`build_and_test` to launch
**testpmd** with Amazon ENA devices managed by librte_net_ena.
Example output:
diff --git a/doc/guides/nics/enetc.rst b/doc/guides/nics/enetc.rst
index e96260f96a..36f97b2d89 100644
--- a/doc/guides/nics/enetc.rst
+++ b/doc/guides/nics/enetc.rst
@@ -107,6 +107,4 @@ separately:
Driver compilation and testing
------------------------------
-Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-to launch **testpmd**
+Follow instructions available in the document :doc:`build_and_test` to launch **testpmd**
diff --git a/doc/guides/nics/enetc4.rst b/doc/guides/nics/enetc4.rst
index 7a13dbbc79..f0dd039f6e 100644
--- a/doc/guides/nics/enetc4.rst
+++ b/doc/guides/nics/enetc4.rst
@@ -87,9 +87,7 @@ The following dependencies are not part of DPDK and must be installed separately
Driver compilation and testing
------------------------------
-Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-to launch **testpmd**.
+Follow instructions available in the document :doc:`build_and_test` to launch **testpmd**.
Driver Arguments (devargs)
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index 6c468ea3af..a0a2ee4505 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -518,8 +518,7 @@ How to build the suite
The build instructions for the DPDK suite should be followed. By default
the ENIC PMD library will be built into the DPDK library.
-Refer to the document :ref:`compiling and testing a PMD for a NIC
-<pmd_build_and_test>` for details.
+Refer to the document :doc:`build_and_test` for details.
For configuring and using UIO and VFIO frameworks, please refer to the
documentation that comes with DPDK suite.
diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index c3922b9c39..822d561588 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -108,8 +108,7 @@ Usage example
This section shows some example of using **testpmd** with a fail-safe PMD.
-#. To build a PMD and configure DPDK, refer to the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`.
+#. To build a PMD and configure DPDK, refer to the document :doc:`build_and_test`.
#. Start testpmd. The sub-device ``84:00.0`` should be blocked from normal EAL
operations to avoid probing it twice, as the PCI bus is in blocklist mode.
diff --git a/doc/guides/nics/hinic.rst b/doc/guides/nics/hinic.rst
index c47737c714..2025a4e2d6 100644
--- a/doc/guides/nics/hinic.rst
+++ b/doc/guides/nics/hinic.rst
@@ -44,14 +44,13 @@ Prerequisites
- Getting the latest product documents and software supports using
`<https://support.huawei.com/enterprise/en/intelligent-accelerator-components/in500-solution-pid-23507369>`_.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Limitations or Known issues
---------------------------
diff --git a/doc/guides/nics/hinic3.rst b/doc/guides/nics/hinic3.rst
index a6117c713f..d07e8605c0 100644
--- a/doc/guides/nics/hinic3.rst
+++ b/doc/guides/nics/hinic3.rst
@@ -39,15 +39,13 @@ Features
Prerequisites
-------------
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
- to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Limitations or Known issues
diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 0d36f135f5..03cfc74b50 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -52,8 +52,7 @@ Prerequisites
- Get the information about Kunpeng920 chip using
`<https://www.hisilicon.com/en/products/Kunpeng>`_.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to
- setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Link status event Pre-conditions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -206,8 +205,7 @@ Runtime Configuration
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Sample Application Notes
------------------------
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 3e43ab3d2a..69b0fae10f 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -52,7 +52,7 @@ Linux Prerequisites
- Identifying your adapter using `Intel Support
<http://www.intel.com/support>`_ and get the latest NVM/FW images.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
- To get better performance on Intel platforms,
please follow :doc:`/linux_gsg/nic_perf_intel_platform`.
@@ -221,8 +221,7 @@ can use this assumption to do a bit mask using ``ring_size - 1``.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
SR-IOV: Prerequisites and sample Application Notes
@@ -277,9 +276,7 @@ SR-IOV: Prerequisites and sample Application Notes
#. Running testpmd:
- Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
- to run testpmd.
+ Follow instructions available in the document :doc:`build_and_test` to run testpmd.
Example output:
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index f5d575d22f..596b5a07a2 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -17,7 +17,7 @@ the following controllers,
Linux Prerequisites
-------------------
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
- To get better performance on Intel platforms,
please follow :doc:`/linux_gsg/nic_perf_intel_platform`.
@@ -365,8 +365,7 @@ Runtime Configuration
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Features
--------
diff --git a/doc/guides/nics/igc.rst b/doc/guides/nics/igc.rst
index 3de4d6d2fc..fadbd15f92 100644
--- a/doc/guides/nics/igc.rst
+++ b/doc/guides/nics/igc.rst
@@ -23,8 +23,7 @@ Supported Chipsets and NICs
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Sample Application Notes
diff --git a/doc/guides/nics/ipn3ke.rst b/doc/guides/nics/ipn3ke.rst
index c86037a3c2..ae2250df21 100644
--- a/doc/guides/nics/ipn3ke.rst
+++ b/doc/guides/nics/ipn3ke.rst
@@ -22,7 +22,7 @@ Prerequisites
- Identifying your adapter using `Intel Support
<http://www.intel.com/support>`_ and get the latest NVM/FW images.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
- To get better performance on Intel platforms,
please follow :doc:`/linux_gsg/nic_perf_intel_platform`.
@@ -61,8 +61,7 @@ Runtime Configuration
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Sample Application Notes
------------------------
diff --git a/doc/guides/nics/mana.rst b/doc/guides/nics/mana.rst
index 69bfbaa4e7..25580c1082 100644
--- a/doc/guides/nics/mana.rst
+++ b/doc/guides/nics/mana.rst
@@ -54,8 +54,7 @@ and must be installed separately:
Driver compilation and testing
------------------------------
-Refer to the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` for details.
+Refer to the document :doc:`build_and_test` for details.
Runtime Configuration
---------------------
diff --git a/doc/guides/nics/mvneta.rst b/doc/guides/nics/mvneta.rst
index f999525902..6b3890148a 100644
--- a/doc/guides/nics/mvneta.rst
+++ b/doc/guides/nics/mvneta.rst
@@ -72,8 +72,7 @@ Prerequisites
- DPDK environment
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
- DPDK environment.
+ Follow the DPDK :doc:`/linux_gsg/index` to setup DPDK environment.
Runtime Configuration
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 304ec25351..31595afd00 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -102,8 +102,7 @@ Prerequisites
- DPDK environment
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
- DPDK environment.
+ Follow the DPDK :doc:`/linux_gsg/index` to setup DPDK environment.
Building MUSDK
diff --git a/doc/guides/nics/nbl.rst b/doc/guides/nics/nbl.rst
index c85214e6e0..81ed1633ac 100644
--- a/doc/guides/nics/nbl.rst
+++ b/doc/guides/nics/nbl.rst
@@ -84,8 +84,7 @@ Only PF supports coexistence between DPDK and kernel driver; VF does not.
Prerequisites
-------------
-#. Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
- to setup the basic DPDK environment.
+#. Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
#. NBL PMD requires the ``vfio-pci`` kernel driver.
The ``igb_uio`` and ``uio_pci_generic`` drivers are not supported.
diff --git a/doc/guides/nics/nfp.rst b/doc/guides/nics/nfp.rst
index d756d7cc07..5712566971 100644
--- a/doc/guides/nics/nfp.rst
+++ b/doc/guides/nics/nfp.rst
@@ -57,8 +57,7 @@ the NFP PMD.
Driver compilation and testing
------------------------------
-Refer to the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` for details.
+Refer to the document :doc:`build_and_test` for details.
Using the PF
------------
diff --git a/doc/guides/nics/ngbe.rst b/doc/guides/nics/ngbe.rst
index fe9fb1b07d..9bcd98f67e 100644
--- a/doc/guides/nics/ngbe.rst
+++ b/doc/guides/nics/ngbe.rst
@@ -36,7 +36,7 @@ Prerequisites
- Learning about Wangxun 1 Gigabit Ethernet NICs using
`<https://www.net-swift.com/a/386.html>`_.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Configuration
@@ -74,8 +74,7 @@ NGBE PMD provides the following log types available for control:
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Limitations or Known issues
diff --git a/doc/guides/nics/octeontx.rst b/doc/guides/nics/octeontx.rst
index a13e3659ef..bb9f150dd9 100644
--- a/doc/guides/nics/octeontx.rst
+++ b/doc/guides/nics/octeontx.rst
@@ -55,14 +55,11 @@ Configuration
Driver compilation and testing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
#. Running testpmd:
- Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
- to run testpmd.
+ Follow instructions available in the document :doc:`build_and_test` to run testpmd.
Example output:
diff --git a/doc/guides/nics/pfe.rst b/doc/guides/nics/pfe.rst
index df33a50237..a5944c050c 100644
--- a/doc/guides/nics/pfe.rst
+++ b/doc/guides/nics/pfe.rst
@@ -156,9 +156,7 @@ separately:
Driver compilation and testing
------------------------------
-Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-to launch **testpmd**
+Follow instructions available in the document :doc:`build_and_test` to launch **testpmd**
Additionally, PFE driver needs `--vdev` as an input with value `net_pfe`
to execute DPDK application. There is an optional parameter `intf` available
diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index ddca443f36..917c18f39d 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -144,8 +144,7 @@ following error.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
RTE Flow Support
----------------
@@ -260,9 +259,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
#. Running testpmd
(Supply ``--log-level="pmd.net.qede.driver:info`` to view informational messages):
- Refer to the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to run
- ``testpmd`` application.
+ Refer to the document :doc:`build_and_test` to run ``testpmd`` application.
Example output:
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index 0b8584e00f..dfcce1d260 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -41,14 +41,13 @@ Features of the ThunderX PMD are:
Prerequisites
-------------
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Use config/arm/arm64-thunderx-linux-gcc as a meson cross-file when cross-compiling.
@@ -149,9 +148,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
#. Running testpmd:
- Follow instructions available in the document
- :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
- to run testpmd.
+ Follow instructions available in the document :doc:`build_and_test` to run testpmd.
Example output:
diff --git a/doc/guides/nics/txgbe.rst b/doc/guides/nics/txgbe.rst
index 35159fee11..90c55141f1 100644
--- a/doc/guides/nics/txgbe.rst
+++ b/doc/guides/nics/txgbe.rst
@@ -45,7 +45,7 @@ Prerequisites
- Learning about Wangxun 25 Gigabit Ethernet NICs using
`<https://www.net-swift.com/a/25GbE-tong-yong-lei-FF5025.html>`_.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
Configuration
-------------
@@ -180,8 +180,7 @@ Please note that following ``devargs`` are only set for Amber-Lite NICs.
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Sample Application Notes
------------------------
diff --git a/doc/guides/nics/xsc.rst b/doc/guides/nics/xsc.rst
index 18deb1d265..f8b622a3cb 100644
--- a/doc/guides/nics/xsc.rst
+++ b/doc/guides/nics/xsc.rst
@@ -22,8 +22,7 @@ The following Yunsilicon device models are supported by the same xsc driver:
Prerequisites
-------------
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
- to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
- Learn about `Yunsilicon metaScale Series NICs
<https://www.yunsilicon.com/#/productInformation>`_.
diff --git a/doc/guides/nics/zxdh.rst b/doc/guides/nics/zxdh.rst
index 60f33e0dc8..acab9c1122 100644
--- a/doc/guides/nics/zxdh.rst
+++ b/doc/guides/nics/zxdh.rst
@@ -55,8 +55,7 @@ Features of the ZXDH PMD are:
Driver compilation and testing
------------------------------
-Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
-for details.
+Refer to the document :doc:`build_and_test` for details.
Limitations or Known issues
diff --git a/doc/guides/platform/dpaa.rst b/doc/guides/platform/dpaa.rst
index caeeb03254..76e2d1588d 100644
--- a/doc/guides/platform/dpaa.rst
+++ b/doc/guides/platform/dpaa.rst
@@ -110,5 +110,4 @@ Currently supported by DPDK:
- NXP SDK **2.0+** (preferred: LSDK 18.09).
- Supported architectures: **arm64 LE**.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
- to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
diff --git a/doc/guides/platform/dpaa2.rst b/doc/guides/platform/dpaa2.rst
index 589c55d0b2..ecd4cdacaa 100644
--- a/doc/guides/platform/dpaa2.rst
+++ b/doc/guides/platform/dpaa2.rst
@@ -107,5 +107,4 @@ Currently supported by DPDK:
- MC Firmware version **10.37.0** and higher.
- Supported architectures: **arm64 LE**.
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
- to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
diff --git a/doc/guides/prog_guide/asan.rst b/doc/guides/prog_guide/asan.rst
index 9a6c5a7e4b..97272e131d 100644
--- a/doc/guides/prog_guide/asan.rst
+++ b/doc/guides/prog_guide/asan.rst
@@ -14,7 +14,7 @@ printing out detailed debug information whenever an error is detected.
AddressSanitizer is a part of LLVM (3.1+) and GCC (4.8+).
Enabling ASan is done by passing the -Db_sanitize=address option to the meson build system,
-see :ref:`linux_gsg_compiling_dpdk` for details.
+see :doc:`/linux_gsg/build_dpdk` for details.
The way ASan is integrated with clang requires to allow undefined symbols when linking code.
To do this, the -Db_lundef=false option must be added.
diff --git a/doc/guides/rawdevs/dpaa2_cmdif.rst b/doc/guides/rawdevs/dpaa2_cmdif.rst
index 0da0be0638..c419d841e4 100644
--- a/doc/guides/rawdevs/dpaa2_cmdif.rst
+++ b/doc/guides/rawdevs/dpaa2_cmdif.rst
@@ -31,7 +31,7 @@ Prerequisites
See :doc:`/platform/dpaa2` for setup information
-- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+- Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
.. note::
diff --git a/doc/guides/sample_app_ug/compiling.rst b/doc/guides/sample_app_ug/compiling.rst
index adde775d4e..d3e77f49e8 100644
--- a/doc/guides/sample_app_ug/compiling.rst
+++ b/doc/guides/sample_app_ug/compiling.rst
@@ -28,8 +28,8 @@ Build:
ninja
For additional information on compiling see
-:ref:`Compiling DPDK on Linux <linux_gsg_compiling_dpdk>` or
-:ref:`Compiling DPDK on FreeBSD <building_from_source>`.
+:doc:`Compiling DPDK on Linux </linux_gsg/build_dpdk>` or
+:doc:`Compiling DPDK on FreeBSD </freebsd_gsg/build_dpdk>`.
Applications are output to: ``dpdk/<build_dir>/examples``.
diff --git a/doc/guides/sample_app_ug/server_node_efd.rst b/doc/guides/sample_app_ug/server_node_efd.rst
index c90d74ae1c..43edb7016c 100644
--- a/doc/guides/sample_app_ug/server_node_efd.rst
+++ b/doc/guides/sample_app_ug/server_node_efd.rst
@@ -122,8 +122,8 @@ generator side.
For examples of application command lines and traffic generator flows, please
refer to the DPDK Test Report. For more details on how to set up and run the
sample applications provided with DPDK package, please refer to the
-:ref:`DPDK Getting Started Guide for Linux <linux_gsg>` and
-:ref:`DPDK Getting Started Guide for FreeBSD <freebsd_gsg>`.
+:doc:`DPDK Getting Started Guide for Linux </linux_gsg/index>` and
+:doc:`DPDK Getting Started Guide for FreeBSD </freebsd_gsg/index>`.
Explanation
diff --git a/doc/guides/testpmd_app_ug/index.rst b/doc/guides/testpmd_app_ug/index.rst
index 1ac0d25d57..79a2b4596a 100644
--- a/doc/guides/testpmd_app_ug/index.rst
+++ b/doc/guides/testpmd_app_ug/index.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
-.. _testpmd_ug:
-
Testpmd Application User Guide
==============================
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index fc9e4f02a9..52699efa78 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -29,7 +29,7 @@ The command line options are:
Run testpmd in interactive mode.
In this mode, the testpmd starts with a prompt that can be used to start and stop forwarding,
configure the application and display stats on the current packet processing session.
- See :ref:`testpmd_runtime` for more details.
+ See :doc:`testpmd_funcs` for more details.
In non-interactive mode,
the application starts with the configuration specified on the command-line and
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index f06856070b..3501f10a4a 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2016 Intel Corporation.
-.. _testpmd_runtime:
-
Testpmd Runtime Functions
=========================
diff --git a/doc/guides/tools/testbbdev.rst b/doc/guides/tools/testbbdev.rst
index a7c433aacd..cf5c3d2fd1 100644
--- a/doc/guides/tools/testbbdev.rst
+++ b/doc/guides/tools/testbbdev.rst
@@ -1,8 +1,6 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2017 Intel Corporation
-.. _test_bbdev_application:
-
dpdk-test-bbdev Application
===========================
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 6/8] doc: remove redundant link captions
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
` (4 preceding siblings ...)
2026-07-16 10:31 ` [PATCH v3 5/8] doc: link whole-guide references to pages Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 7/8] doc: avoid numbered guide references Thomas Monjalon
` (3 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: Vamsi Attunuru, Bruce Richardson, Kevin Laatz, Conor Walsh,
Gowrishankar Muthukrishnan, Vidya Sagar Velumuri, Hemant Agrawal,
Sachin Saxena, Liron Himi, Abhinandan Gujjar, Amit Prakash Shukla,
Erik Gabriel Carrillo, Vladimir Medvedkin, Jerin Jacob,
Kiran Kumar K, Nithin Dabilpuram, Zhirun Yan, Ori Kam,
Anatoly Burakov, Sivaprasad Tummala, Yipeng Wang, Luca Vizzarro,
Patrick Robb
Some explicit link captions duplicate the title
of the referenced section or document.
Let Sphinx use the referenced title directly
where the rendered text would stay the same.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/contributing/abi_versioning.rst | 6 +++---
doc/guides/contributing/patches.rst | 3 +--
doc/guides/dmadevs/cnxk.rst | 2 +-
doc/guides/dmadevs/idxd.rst | 2 +-
doc/guides/dmadevs/ioat.rst | 2 +-
doc/guides/dmadevs/odm.rst | 3 +--
doc/guides/howto/lm_bond_virtio_sriov.rst | 7 +++----
doc/guides/howto/lm_virtio_vhost_user.rst | 4 ++--
doc/guides/howto/packet_capture_framework.rst | 2 +-
doc/guides/linux_gsg/enable_func.rst | 2 +-
doc/guides/linux_gsg/sys_reqs.rst | 2 +-
doc/guides/nics/dpaa2.rst | 2 +-
doc/guides/nics/mvpp2.rst | 8 ++++----
doc/guides/prog_guide/eventdev/event_crypto_adapter.rst | 2 +-
doc/guides/prog_guide/eventdev/event_dma_adapter.rst | 2 +-
doc/guides/prog_guide/eventdev/event_timer_adapter.rst | 2 +-
doc/guides/prog_guide/fib_lib.rst | 2 +-
doc/guides/prog_guide/graph_lib.rst | 8 ++++----
doc/guides/regexdevs/mlx5.rst | 2 +-
doc/guides/rel_notes/deprecation.rst | 3 +--
doc/guides/sample_app_ug/l3_forward_power_man.rst | 2 +-
doc/guides/sample_app_ug/server_node_efd.rst | 3 +--
doc/guides/tools/dts.rst | 2 +-
23 files changed, 34 insertions(+), 39 deletions(-)
diff --git a/doc/guides/contributing/abi_versioning.rst b/doc/guides/contributing/abi_versioning.rst
index 933abcba57..6861517c5d 100644
--- a/doc/guides/contributing/abi_versioning.rst
+++ b/doc/guides/contributing/abi_versioning.rst
@@ -226,8 +226,8 @@ but now points to the above newly named function ``rte_acl_create_v21``.
We have now mapped the original rte_acl_create symbol to the original function
(but with a new name).
-Please see the section :ref:`Enabling versioning macros
-<enabling_versioning_macros>` to enable this macro in the meson/ninja build.
+Please see the section :ref:`enabling_versioning_macros`
+to enable this macro in the Meson/Ninja build.
Next, we need to create the new version of the symbol. We create a new
function name and implement it appropriately, then wrap it in a call to ``RTE_DEFAULT_SYMBOL``.
@@ -256,7 +256,7 @@ used by newly built applications.
.. note::
**Before you leave**, please take care reviewing the sections on
- :ref:`enabling versioning macros <enabling_versioning_macros>`,
+ :ref:`enabling_versioning_macros`,
and :ref:`ABI deprecation <abi_deprecation>`.
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 0ffa447af1..ab4d3ec916 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -161,8 +161,7 @@ Make your planned changes in the cloned ``dpdk`` repo. Here are some guidelines
* For other PMDs and more info, refer to the ``MAINTAINERS`` file.
* New external functions should be exported.
- See the :doc:`ABI policy <abi_policy>` and :doc:`abi_versioning`
- guides.
+ See the :doc:`abi_policy` and :doc:`abi_versioning` guides.
* Any new API function should be used in ``/app`` test directory.
diff --git a/doc/guides/dmadevs/cnxk.rst b/doc/guides/dmadevs/cnxk.rst
index e86ae83f01..1a7185deb9 100644
--- a/doc/guides/dmadevs/cnxk.rst
+++ b/doc/guides/dmadevs/cnxk.rst
@@ -53,7 +53,7 @@ by calling the ``rte_dma_start()`` API.
Performing Data Copies
~~~~~~~~~~~~~~~~~~~~~~
-Refer to the :ref:`Enqueue / Dequeue APIs <dmadev_enqueue_dequeue>` section
+Refer to the :ref:`dmadev_enqueue_dequeue` section
of the dmadev library documentation
for details on operation enqueue and submission API usage.
diff --git a/doc/guides/dmadevs/idxd.rst b/doc/guides/dmadevs/idxd.rst
index 1b33e23d30..3aee98c92c 100644
--- a/doc/guides/dmadevs/idxd.rst
+++ b/doc/guides/dmadevs/idxd.rst
@@ -197,7 +197,7 @@ Once configured, the device can then be made ready for use by calling the
Performing Data Copies
~~~~~~~~~~~~~~~~~~~~~~
-Refer to the :ref:`Enqueue / Dequeue APIs <dmadev_enqueue_dequeue>` section of the dmadev library
+Refer to the :ref:`dmadev_enqueue_dequeue` section of the dmadev library
documentation for details on operation enqueue, submission and completion API usage.
It is expected that, for efficiency reasons, a burst of operations will be enqueued to the
diff --git a/doc/guides/dmadevs/ioat.rst b/doc/guides/dmadevs/ioat.rst
index 9ee7852dde..36fdd3feee 100644
--- a/doc/guides/dmadevs/ioat.rst
+++ b/doc/guides/dmadevs/ioat.rst
@@ -89,7 +89,7 @@ Once configured, the device can then be made ready for use by calling the
Performing Data Copies
~~~~~~~~~~~~~~~~~~~~~~
-Refer to the :ref:`Enqueue / Dequeue APIs <dmadev_enqueue_dequeue>` section of the dmadev library
+Refer to the :ref:`dmadev_enqueue_dequeue` section of the dmadev library
documentation for details on operation enqueue, submission and completion API usage.
It is expected that, for efficiency reasons, a burst of operations will be enqueued to the
diff --git a/doc/guides/dmadevs/odm.rst b/doc/guides/dmadevs/odm.rst
index 88fec231d7..4dc5cf5c8b 100644
--- a/doc/guides/dmadevs/odm.rst
+++ b/doc/guides/dmadevs/odm.rst
@@ -48,8 +48,7 @@ by calling the ``rte_dma_start()`` API.
Performing Data Copies
~~~~~~~~~~~~~~~~~~~~~~
-Refer to the :ref:`Enqueue / Dequeue API <dmadev_enqueue_dequeue>`
-section of the dmadev library documentation
+Refer to the :ref:`dmadev_enqueue_dequeue` section of the dmadev library documentation
for details on operation enqueue and submission API usage.
Performance Tuning Parameters
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index c98cbc9023..68dd1b12e9 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -31,8 +31,7 @@ The NIC's on both servers are connected to a switch
which is also connected to the traffic generator.
The switch is configured to broadcast traffic on all the NIC ports.
-A :ref:`Sample switch configuration <lm_bond_virtio_sriov_switch_conf>`
-can be found in this section.
+A :ref:`lm_bond_virtio_sriov_switch_conf` can be found in this section.
The host is running the Kernel PF driver (ixgbe or i40e).
@@ -46,8 +45,8 @@ Live Migration steps
--------------------
The sample scripts mentioned in the steps below can be found in the
-:ref:`Sample host scripts <lm_bond_virtio_sriov_host_scripts>` and
-:ref:`Sample VM scripts <lm_bond_virtio_sriov_vm_scripts>` sections.
+:ref:`lm_bond_virtio_sriov_host_scripts` and
+:ref:`lm_bond_virtio_sriov_vm_scripts` sections.
On host_server_1: Terminal 1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index cef6aa87f2..b4f21e15c1 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -38,8 +38,8 @@ Live Migration steps
--------------------
The sample scripts mentioned in the steps below can be found in the
-:ref:`Sample host scripts <lm_virtio_vhost_user_host_scripts>` and
-:ref:`Sample VM scripts <lm_virtio_vhost_user_vm_scripts>` sections.
+:ref:`lm_virtio_vhost_user_host_scripts` and
+:ref:`lm_virtio_vhost_user_vm_scripts` sections.
On host_server_1: Terminal 1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/howto/packet_capture_framework.rst b/doc/guides/howto/packet_capture_framework.rst
index 417bd7ba7b..b0db8bde04 100644
--- a/doc/guides/howto/packet_capture_framework.rst
+++ b/doc/guides/howto/packet_capture_framework.rst
@@ -28,7 +28,7 @@ and its usage is recommended for debugging purposes.
The :doc:`librte_pcapng </prog_guide/pcapng_lib>` library provides the API
to format packets and write them to a file in Pcapng format.
-The :doc:`dpdk-dumpcap </tools/dumpcap>` is a tool that captures packets in
+The :doc:`/tools/dumpcap` is a tool that captures packets in
like Wireshark dumpcap does for Linux.
It runs as a DPDK secondary process and captures packets
from one or more interfaces and writes them to a file in Pcapng format.
diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index 49c5afaeb4..c3f5be481a 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -83,7 +83,7 @@ need to be adjusted in order to ensure normal DPDK operation:
The above limits can usually be adjusted by editing
``/etc/security/limits.conf`` file, and rebooting.
-See :ref:`Hugepage Mapping <hugepage_mapping>` section to learn how these limits affect EAL.
+See :ref:`hugepage_mapping` section to learn how these limits affect EAL.
Device Control
~~~~~~~~~~~~~~
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 0c9ad64776..a596400178 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -131,7 +131,7 @@ System Software
* PROC_PAGE_MONITOR support
* HPET and HPET_MMAP configuration options should also be enabled if HPET support is required.
- See the section on :ref:`High Precision Event Timer (HPET) Functionality <High_Precision_Event_Timer>` for more details.
+ See the section on :ref:`High_Precision_Event_Timer` for more details.
.. _linux_gsg_hugepages:
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 4ae63c7cc2..6e2884b897 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -407,7 +407,7 @@ Features of the DPAA2 PMD are:
- Link flow control
- Scattered and gather for TX and RX
- Rx queue interrupts
-- :ref:`Traffic Management API <dptmapi>`
+- :ref:`dptmapi`
Supported DPAA2 SoCs
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 31595afd00..f20987b4d7 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -35,13 +35,13 @@ Features of the MVPP2 PMD are:
- L4 checksum offload
- Packet type parsing
- Basic stats
-- :ref:`Extended stats <extstats>`
+- :ref:`extstats`
- RX flow control
- Scattered TX frames
- :ref:`QoS <extconf>`
-- :ref:`Flow API <flowapi>`
-- :ref:`Traffic metering and policing <mtrapi>`
-- :ref:`Traffic Management API <tmapi>`
+- :ref:`flowapi`
+- :ref:`mtrapi`
+- :ref:`tmapi`
Limitations
-----------
diff --git a/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst b/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
index 9bbba69777..78c69665ef 100644
--- a/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
@@ -4,7 +4,7 @@
Event Crypto Adapter Library
============================
-The DPDK :doc:`Eventdev library <eventdev>` provides event driven
+The DPDK :doc:`eventdev` provides event driven
programming model with features to schedule events.
The :doc:`../cryptodev_lib` provides an interface to
the crypto poll mode drivers that support different crypto operations.
diff --git a/doc/guides/prog_guide/eventdev/event_dma_adapter.rst b/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
index 436be45a62..f7c02d5b25 100644
--- a/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
@@ -4,7 +4,7 @@
Event DMA Adapter Library
=========================
-DPDK :doc:`eventdev library <eventdev>` provides event driven programming model
+DPDK :doc:`eventdev` provides event driven programming model
with features to schedule events.
:doc:`../dmadev` provides an interface to DMA poll mode drivers
that support DMA operations.
diff --git a/doc/guides/prog_guide/eventdev/event_timer_adapter.rst b/doc/guides/prog_guide/eventdev/event_timer_adapter.rst
index 879105fa35..ea777c13cf 100644
--- a/doc/guides/prog_guide/eventdev/event_timer_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_timer_adapter.rst
@@ -4,7 +4,7 @@
Event Timer Adapter Library
===========================
-The DPDK :doc:`Event Device library <eventdev>`
+The DPDK :doc:`eventdev`
introduces an event driven programming model which presents applications with
an alternative to the polling model traditionally used in DPDK
applications. Event devices can be coupled with arbitrary components to provide
diff --git a/doc/guides/prog_guide/fib_lib.rst b/doc/guides/prog_guide/fib_lib.rst
index a81da2d491..ea99670b5a 100644
--- a/doc/guides/prog_guide/fib_lib.rst
+++ b/doc/guides/prog_guide/fib_lib.rst
@@ -21,7 +21,7 @@ FIB API Overview
The main configuration struct contains:
-* Type of :ref:`dataplane algorithm <fib_dataplane_algorithms>`.
+* Type of :ref:`fib_dataplane_algorithms`.
* Default next hop ID.
diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst
index c72065c9f3..f1264fdcb6 100644
--- a/doc/guides/prog_guide/graph_lib.rst
+++ b/doc/guides/prog_guide/graph_lib.rst
@@ -537,8 +537,8 @@ Feature arc
An ordered list of feature nodes in a given network layer is called as feature arc.
It consists of three objects:
-- :ref:`Start node <Start_Node>`
-- :ref:`End feature node <End_Feature_Node>`
+- :ref:`Start_Node`
+- :ref:`End_Feature_Node`
- :ref:`Zero or more feature nodes <Feature_Nodes>`
In order to :ref:`create <Feature_Arc_Registration>` a feature arc object,
@@ -774,7 +774,7 @@ using ``rte_graph_feature_enable()`` and ``rte_graph_feature_disable()`` functio
.. note::
RCU argument is optional argument to enable/disable API.
- See :ref:`control/data plane synchronization <Control_Data_Plane_Synchronization>`
+ See :ref:`Control_Data_Plane_Synchronization`
and :ref:`notifier_cb <Feature_Notifier_Cb>` for more details on when RCU is needed.
Fast path traversal rules
@@ -845,7 +845,7 @@ whenever any feature is enabled at runtime.
*****************
Following code-snippet explains fast path traversal rule for ``Feature-1``
-:ref:`feature node <Feature_Nodes>` shown in :ref:`figure <Figure_Arc_2>`.
+:ref:`Feature_Nodes` shown in :ref:`figure <Figure_Arc_2>`.
.. code-block:: c
diff --git a/doc/guides/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst
index 4094eb9a79..40c51ea0c3 100644
--- a/doc/guides/regexdevs/mlx5.rst
+++ b/doc/guides/regexdevs/mlx5.rst
@@ -27,7 +27,7 @@ Configuration
-------------
See :ref:`mlx5 common compilation <mlx5_common_compilation>`,
-:ref:`mlx5 firmware configuration <mlx5_firmware_config>`,
+:ref:`mlx5_firmware_config`,
and :ref:`mlx5 common driver options <mlx5_common_driver_options>`.
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index b74215341f..c1c2a94455 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -4,8 +4,7 @@
ABI and API Deprecation
=======================
-See the guidelines document for details
-of the :doc:`ABI policy </contributing/abi_policy>`.
+See the guidelines document for details of the :doc:`/contributing/abi_policy`.
With DPDK 23.11, there will be a new major ABI version: 24.
This means that during the development of 23.11,
diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
index 4a771bbe9b..f33f3b2f94 100644
--- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
+++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
@@ -304,7 +304,7 @@ and has three available power management schemes:
The reaction time of the scale mode is longer
than the pause and monitor mode.
-See :doc:`Power Management </prog_guide/power_man>` chapter
+See :doc:`/prog_guide/power_man` chapter
in the DPDK Programmer's Guide for more details on PMD power management.
.. code-block:: console
diff --git a/doc/guides/sample_app_ug/server_node_efd.rst b/doc/guides/sample_app_ug/server_node_efd.rst
index 43edb7016c..d25b39e89b 100644
--- a/doc/guides/sample_app_ug/server_node_efd.rst
+++ b/doc/guides/sample_app_ug/server_node_efd.rst
@@ -122,8 +122,7 @@ generator side.
For examples of application command lines and traffic generator flows, please
refer to the DPDK Test Report. For more details on how to set up and run the
sample applications provided with DPDK package, please refer to the
-:doc:`DPDK Getting Started Guide for Linux </linux_gsg/index>` and
-:doc:`DPDK Getting Started Guide for FreeBSD </freebsd_gsg/index>`.
+:doc:`/linux_gsg/index` and :doc:`/freebsd_gsg/index`.
Explanation
diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
index fc47f23007..9a877eef8a 100644
--- a/doc/guides/tools/dts.rst
+++ b/doc/guides/tools/dts.rst
@@ -385,7 +385,7 @@ Framework Coding Guidelines
When contributing code to the DTS framework,
follow existing conventions to ensure consistency.
-The :ref:`DTS developer tools <dts_dev_tools>` will flag basic issues.
+The :ref:`dts_dev_tools` will flag basic issues.
Also, be sure to :ref:`build the API documentation <building_api_docs>`
to catch any problems during the build.
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 7/8] doc: avoid numbered guide references
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
` (5 preceding siblings ...)
2026-07-16 10:31 ` [PATCH v3 6/8] doc: remove redundant link captions Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 10:31 ` [PATCH v3 8/8] doc: add prefixes to guide labels Thomas Monjalon
` (2 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: Nicolas Chautru, Gagandeep Singh, Hemant Agrawal, Matan Azrad,
Viacheslav Ovsiienko, Cristian Dumitrescu
Chapter and section numbers may change as guides are reorganized.
Replace visible numbers with links to named sections or pages.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/bbdevs/acc100.rst | 4 +--
doc/guides/bbdevs/fpga_5gnr_fec.rst | 4 +--
doc/guides/bbdevs/fpga_lte_fec.rst | 4 +--
doc/guides/bbdevs/la12xx.rst | 4 +--
doc/guides/bbdevs/vrb1.rst | 4 +--
doc/guides/bbdevs/vrb2.rst | 4 +--
doc/guides/nics/mlx4.rst | 2 +-
.../prog_guide/ethdev/qos_framework.rst | 25 +++++++++++--------
doc/guides/prog_guide/thread_safety.rst | 2 +-
9 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/doc/guides/bbdevs/acc100.rst b/doc/guides/bbdevs/acc100.rst
index 985fbb4d24..6582110f3a 100644
--- a/doc/guides/bbdevs/acc100.rst
+++ b/doc/guides/bbdevs/acc100.rst
@@ -78,9 +78,9 @@ ACC100 5G/4G FEC PMDs support the following BBDEV capabilities:
Installation
------------
-Section 3 of the DPDK manual provides instructions on installing and compiling DPDK.
+See :doc:`/linux_gsg/build_dpdk` for build instructions.
-DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
+DPDK requires hugepages to be configured as described in :ref:`linux_gsg_hugepages`.
The bbdev test application has been tested with a configuration 40 x 1GB hugepages. The
hugepage configuration of a server may be examined using:
diff --git a/doc/guides/bbdevs/fpga_5gnr_fec.rst b/doc/guides/bbdevs/fpga_5gnr_fec.rst
index b181527c45..07ad51eada 100644
--- a/doc/guides/bbdevs/fpga_5gnr_fec.rst
+++ b/doc/guides/bbdevs/fpga_5gnr_fec.rst
@@ -53,9 +53,9 @@ FPGA 5GNR FEC does not support the following:
Installation
------------
-Section 3 of the DPDK manual provides instructions on installing and compiling DPDK.
+See :doc:`/linux_gsg/build_dpdk` for build instructions.
-DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
+DPDK requires hugepages to be configured as described in :ref:`linux_gsg_hugepages`.
The bbdev test application has been tested with a configuration 40 x 1GB hugepages. The
hugepage configuration of a server may be examined using:
diff --git a/doc/guides/bbdevs/fpga_lte_fec.rst b/doc/guides/bbdevs/fpga_lte_fec.rst
index 74151cbef9..2ffc07891b 100644
--- a/doc/guides/bbdevs/fpga_lte_fec.rst
+++ b/doc/guides/bbdevs/fpga_lte_fec.rst
@@ -51,9 +51,9 @@ FPGA LTE FEC does not support the following:
Installation
------------
-Section 3 of the DPDK manual provides instructions on installing and compiling DPDK.
+See :doc:`/linux_gsg/build_dpdk` for build instructions.
-DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
+DPDK requires hugepages to be configured as described in :ref:`linux_gsg_hugepages`.
The bbdev test application has been tested with a configuration 40 x 1GB hugepages. The
hugepage configuration of a server may be examined using:
diff --git a/doc/guides/bbdevs/la12xx.rst b/doc/guides/bbdevs/la12xx.rst
index b2224cc90b..3191fc5116 100644
--- a/doc/guides/bbdevs/la12xx.rst
+++ b/doc/guides/bbdevs/la12xx.rst
@@ -23,9 +23,9 @@ LA12xx PMD supports the following features:
Installation
------------
-Section 3 of the DPDK manual provides instructions on installing and compiling DPDK.
+See :doc:`/linux_gsg/build_dpdk` for build instructions.
-DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
+DPDK requires hugepages to be configured as described in :ref:`linux_gsg_hugepages`.
Initialization
--------------
diff --git a/doc/guides/bbdevs/vrb1.rst b/doc/guides/bbdevs/vrb1.rst
index e16d6b9dbe..f60ead1ec9 100644
--- a/doc/guides/bbdevs/vrb1.rst
+++ b/doc/guides/bbdevs/vrb1.rst
@@ -83,9 +83,9 @@ The Intel vRAN Boost v1.0 PMD supports the following bbdev capabilities:
Installation
------------
-Section 3 of the DPDK manual provides instructions on installing and compiling DPDK.
+See :doc:`/linux_gsg/build_dpdk` for build instructions.
-DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
+DPDK requires hugepages to be configured as described in :ref:`linux_gsg_hugepages`.
The bbdev test application has been tested with a configuration 40 x 1GB hugepages.
The hugepage configuration of a server may be examined using:
diff --git a/doc/guides/bbdevs/vrb2.rst b/doc/guides/bbdevs/vrb2.rst
index 3a9ae1bf82..c7488b4dd1 100644
--- a/doc/guides/bbdevs/vrb2.rst
+++ b/doc/guides/bbdevs/vrb2.rst
@@ -100,9 +100,9 @@ The Intel vRAN Boost v2.0 PMD supports the following bbdev capabilities:
Installation
------------
-Section 3 of the DPDK manual provides instructions on installing and compiling DPDK.
+See :doc:`/linux_gsg/build_dpdk` for build instructions.
-DPDK requires hugepages to be configured as detailed in section 2 of the DPDK manual.
+DPDK requires hugepages to be configured as described in :ref:`linux_gsg_hugepages`.
The bbdev test application has been tested with a configuration 40 x 1GB hugepages.
The hugepage configuration of a server may be examined using:
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 63b1c548d2..1d3e42bcbb 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -267,7 +267,7 @@ Installing NVIDIA MLNX_OFED
connectx_port_config
-#. Continue with :ref:`section 2 of the Quick Start Guide <mlx4_QSG_2>`.
+#. Continue with the :ref:`Quick Start Guide <mlx4_QSG_2>`.
Quick Start Guide
diff --git a/doc/guides/prog_guide/ethdev/qos_framework.rst b/doc/guides/prog_guide/ethdev/qos_framework.rst
index f7089190fd..fcefa9d481 100644
--- a/doc/guides/prog_guide/ethdev/qos_framework.rst
+++ b/doc/guides/prog_guide/ethdev/qos_framework.rst
@@ -456,6 +456,8 @@ Usually, once the occupancy of the NIC TX input queue drops below a predefined t
the port scheduler is woken up (interrupt based or polling based,
by continuously monitoring the queue occupancy) to push more packets into the queue.
+.. _qos_internal_time_reference:
+
Internal Time Reference
"""""""""""""""""""""""
@@ -625,8 +627,8 @@ while the implementation of the token bucket operations is described in :numref:
| | | | or CPU cycles for ease of credit consumption operation |
| | | | (as the current time is also maintained in bytes). |
| | | | |
- | | | | See Section 26.2.4.5.1 "Internal Time Reference" for an |
- | | | | explanation of why the time is maintained in byte units. |
+ | | | | See :ref:`qos_internal_time_reference` for an |
+ | | | | explanation of why time is maintained in byte units. |
| | | | |
+---+------------------------+-------+----------------------------------------------------------------------+
| 2 | tb_period | Bytes | Time period that should elapse since the last credit update in order |
@@ -1205,9 +1207,9 @@ The use cases supported by the dropper are:
* * Mark empty (record the time at which a packet queue becomes empty)
-The configuration use case is explained in :ref:`Section 2.23.3.1 <Configuration>`,
-the enqueue operation is explained in :ref:`Section 2.23.3.2 <Enqueue_Operation>`
-and the mark empty operation is explained in :ref:`Section 2.23.3.3 <Queue_Empty_Operation>`.
+The configuration use case is explained in :ref:`Configuration`,
+the enqueue operation is explained in :ref:`Enqueue_Operation`
+and the mark empty operation is explained in :ref:`Queue_Empty_Operation`.
.. _Configuration:
@@ -1321,8 +1323,8 @@ Where:
.. note::
- The filter weight, wq = 1/2^n, where n is the filter weight parameter value passed to the dropper module
- on configuration (see :ref:`Section2.23.3.1 <Configuration>` ).
+ The filter weight, wq = 1/2^n, where n is the filter weight parameter value
+ passed to the dropper module on configuration (see :ref:`Configuration`).
Average Queue Size Calculation when the Queue is Empty
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1368,6 +1370,8 @@ Since the time reference is in bytes, the port speed is implied in the expressio
The dropper does not have to be configured with the actual port speed.
It adjusts automatically to low speed and high speed links.
+.. _qos_dropper_implementation:
+
Implementation
""""""""""""""
@@ -1406,7 +1410,8 @@ These approaches include:
* Large look-up table (76 KB)
-The method that was finally selected (described above in Section 26.3.2.2.1) outperforms all of these approaches
+The method described in the :ref:`implementation section <qos_dropper_implementation>`
+outperforms all of these approaches
in terms of run-time performance and memory requirements and
also achieves accuracy comparable to floating-point evaluation.
:numref:`table_qos_17` lists the performance of each of these alternative approaches relative to the method that is used in the dropper.
@@ -1420,7 +1425,7 @@ As can be seen, the floating-point implementation achieved the worst performance
| Method | Relative Performance |
| | |
+====================================================================================+======================+
- | Current dropper method (see :ref:`Section 23.3.2.1.3 <Droppers>`) | 100% |
+ | Current dropper method (see :ref:`Droppers`) | 100% |
| | |
+------------------------------------------------------------------------------------+----------------------+
| Fixed-point method with small (512B) look-up table | 148% |
@@ -1560,7 +1565,7 @@ Integration with the DPDK QoS Scheduler Sample Application
The DPDK QoS Scheduler Application reads a configuration file on start-up.
The configuration file includes a section containing RED parameters.
-The format of these parameters is described in :ref:`Section2.23.3.1 <Configuration>`.
+The format of these parameters is described in :ref:`Configuration`.
A sample RED configuration is shown below. In this example, the queue size is 64 packets.
.. note::
diff --git a/doc/guides/prog_guide/thread_safety.rst b/doc/guides/prog_guide/thread_safety.rst
index f7cda8bb32..f1e0ea4578 100644
--- a/doc/guides/prog_guide/thread_safety.rst
+++ b/doc/guides/prog_guide/thread_safety.rst
@@ -44,7 +44,7 @@ The mempool library is based on the DPDK lockless ring library and therefore is
Performance Insensitive API
---------------------------
-Outside of the performance sensitive areas described in Section 25.1,
+Outside of the performance sensitive areas described above,
the DPDK provides a thread-safe API for most other libraries.
For example, malloc and memzone functions are safe for use in multi-threaded and multi-process environments.
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 8/8] doc: add prefixes to guide labels
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
` (6 preceding siblings ...)
2026-07-16 10:31 ` [PATCH v3 7/8] doc: avoid numbered guide references Thomas Monjalon
@ 2026-07-16 10:31 ` Thomas Monjalon
2026-07-16 15:29 ` [PATCH v3 0/8] doc: clean-up links in guides David Marchand
2026-07-17 9:42 ` fengchengwen
9 siblings, 0 replies; 18+ messages in thread
From: Thomas Monjalon @ 2026-07-16 10:31 UTC (permalink / raw)
To: dev
Cc: Nandini Persad, Bruce Richardson, Hemant Agrawal, David Marchand,
Kai Ji, Konstantin Ananyev, Wathsala Vithanage,
Potnuri Bharat Teja, Sachin Saxena, Anatoly Burakov,
Vladimir Medvedkin, Matan Azrad, Viacheslav Ovsiienko,
Dariusz Sosnowski, Bing Zhao, Ori Kam, Suanming Mou, Liron Himi,
Long Li, Wei Hu, Nithin Dabilpuram, Kiran Kumar K,
Sunil Kumar Kori, Satha Rao, Harman Kalra, Nicolas Chautru,
Yipeng Wang, Cristian Dumitrescu, Mattias Rönnblom, Jiayu Hu,
Jerin Jacob, Zhirun Yan, Morten Brørup, Andrew Rybchenko,
Honnappa Nagarahalli, Sameh Gobriel, Pavan Nikhilesh,
Sivaprasad Tummala, Aman Singh, Luca Vizzarro, Patrick Robb,
Rakesh Kudurumalla
From: Nandini Persad <nandinipersad361@gmail.com>
Sphinx labels are global across the documentation.
Rename guide labels with document- or component-specific prefixes
to avoid collisions and make their ownership clear.
Signed-off-by: Nandini Persad <nandinipersad361@gmail.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
doc/guides/compressdevs/qat_comp.rst | 2 +-
doc/guides/contributing/abi_policy.rst | 38 ++++----
doc/guides/contributing/abi_versioning.rst | 26 ++---
doc/guides/contributing/coding_style.rst | 8 +-
doc/guides/contributing/design.rst | 2 +-
doc/guides/contributing/documentation.rst | 26 ++---
doc/guides/contributing/new_driver.rst | 6 +-
doc/guides/contributing/patches.rst | 6 +-
doc/guides/cryptodevs/qat.rst | 4 +-
doc/guides/faq/faq.rst | 2 +-
doc/guides/freebsd_gsg/build_dpdk.rst | 6 +-
doc/guides/freebsd_gsg/build_sample_apps.rst | 6 +-
doc/guides/freebsd_gsg/install_from_ports.rst | 8 +-
doc/guides/howto/avx512.rst | 3 +-
doc/guides/howto/flow_bifurcation.rst | 2 +-
doc/guides/howto/packet_capture_framework.rst | 7 +-
.../howto/virtio_user_as_exception_path.rst | 4 +-
.../virtio_user_for_container_networking.rst | 8 +-
doc/guides/linux_gsg/build_dpdk.rst | 2 +-
doc/guides/linux_gsg/build_sample_apps.rst | 3 +-
.../linux_gsg/cross_build_dpdk_for_arm64.rst | 8 +-
doc/guides/linux_gsg/enable_func.rst | 6 +-
doc/guides/linux_gsg/linux_drivers.rst | 14 +--
doc/guides/linux_gsg/sys_reqs.rst | 2 +-
doc/guides/nics/cxgbe.rst | 26 ++---
doc/guides/nics/dpaa2.rst | 4 +-
doc/guides/nics/i40e.rst | 6 +-
doc/guides/nics/intel_vf.rst | 18 ++--
doc/guides/nics/ixgbe.rst | 2 +-
doc/guides/nics/mlx4.rst | 8 +-
doc/guides/nics/mlx5.rst | 8 +-
doc/guides/nics/mvpp2.rst | 23 ++---
doc/guides/nics/netvsc.rst | 4 +-
doc/guides/platform/cnxk.rst | 14 +--
doc/guides/platform/dpaa.rst | 4 +-
doc/guides/platform/mlx5.rst | 2 +-
doc/guides/platform/octeontx.rst | 7 +-
doc/guides/prog_guide/bbdev.rst | 8 +-
doc/guides/prog_guide/efd_lib.rst | 52 +++++-----
.../prog_guide/env_abstraction_layer.rst | 22 ++---
.../prog_guide/ethdev/qos_framework.rst | 94 +++++++++----------
.../ethdev/traffic_metering_and_policing.rst | 4 +-
.../prog_guide/eventdev/dispatcher_lib.rst | 4 +-
doc/guides/prog_guide/fib_lib.rst | 4 +-
.../generic_receive_offload_lib.rst | 4 +-
.../generic_segmentation_offload_lib.rst | 8 +-
doc/guides/prog_guide/graph_lib.rst | 52 +++++-----
doc/guides/prog_guide/mbuf_lib.rst | 6 +-
doc/guides/prog_guide/mempool_lib.rst | 10 +-
.../prog_guide/packet_classif_access_ctrl.rst | 2 +-
doc/guides/prog_guide/packet_framework.rst | 80 +++++++++-------
doc/guides/prog_guide/rcu_lib.rst | 4 +-
doc/guides/prog_guide/rib_lib.rst | 12 +--
doc/guides/prog_guide/toeplitz_hash_lib.rst | 12 +--
doc/guides/sample_app_ug/compiling.rst | 2 +-
doc/guides/sample_app_ug/dist_app.rst | 4 +-
doc/guides/sample_app_ug/l2_forward_event.rst | 4 +-
.../sample_app_ug/l2_forward_job_stats.rst | 10 +-
.../sample_app_ug/l2_forward_real_virtual.rst | 14 +--
doc/guides/sample_app_ug/server_node_efd.rst | 4 +-
doc/guides/sample_app_ug/test_pipeline.rst | 4 +-
.../sample_app_ug/vm_power_management.rst | 32 ++++---
.../sample_app_ug/vmdq_dcb_forwarding.rst | 5 +-
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 +-
doc/guides/tools/dts.rst | 20 ++--
doc/guides/tools/graph.rst | 66 +++++++------
doc/guides/tools/testeventdev.rst | 16 ++--
67 files changed, 459 insertions(+), 431 deletions(-)
diff --git a/doc/guides/compressdevs/qat_comp.rst b/doc/guides/compressdevs/qat_comp.rst
index e2044b2601..78b1ad9c23 100644
--- a/doc/guides/compressdevs/qat_comp.rst
+++ b/doc/guides/compressdevs/qat_comp.rst
@@ -55,4 +55,4 @@ Installation
The QAT compression PMD is built by default with a standard DPDK build.
-It depends on a QAT kernel driver, see :ref:`building_qat`.
+It depends on a QAT kernel driver, see :ref:`qat_building`.
diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
index ee7775c1ec..7e65607e6c 100644
--- a/doc/guides/contributing/abi_policy.rst
+++ b/doc/guides/contributing/abi_policy.rst
@@ -15,23 +15,23 @@ General Guidelines
#. Major ABI versions are declared no more frequently than yearly. Compatibility
with the major ABI version is mandatory in subsequent releases until a
- :ref:`new major ABI version <new_abi_version>` is declared.
+ :ref:`new major ABI version <abi_new_version>` is declared.
#. Major ABI versions are usually but not always declared aligned with a
:doc:`LTS release <stable>`.
#. The ABI version is managed at a project level in DPDK, and is reflected in
- all non-experimental :ref:`library's soname <what_is_soname>`.
+ all non-experimental :ref:`library's soname <abi_what_is_soname>`.
#. The ABI should be preserved and not changed lightly. ABI changes must follow
the outlined :ref:`deprecation process <abi_changes>`.
#. The addition of symbols is generally not problematic.
The modification of symbols is managed with :doc:`abi_versioning`.
#. The removal of symbols is considered an :ref:`ABI breakage <abi_breakages>`,
once approved these will form part of the next ABI version.
-#. Libraries or APIs marked as :ref:`experimental <experimental_apis>`
+#. Libraries or APIs marked as :ref:`experimental <abi_experimental_apis>`
may be changed or removed without prior notice,
as they are not considered part of an ABI version.
- The :ref:`experimental <experimental_apis>` status of an API
+ The :ref:`experimental <abi_experimental_apis>` status of an API
is not an indefinite state.
-#. Updates to the :ref:`minimum hardware requirements <hw_rqmts>`, which drop
+#. Updates to the :ref:`minimum hardware requirements <abi_hw_requirements>`, which drop
support for hardware which was previously supported, should be treated as an
ABI change.
@@ -65,14 +65,14 @@ An ABI version is an instance of a library's ABI at a specific release. Certain
releases are considered to be milestone releases, the yearly LTS release for
example. The ABI of a milestone release may be declared as a 'major ABI
version', where this ABI version is then supported for some number of subsequent
-releases and is annotated in the library's :ref:`soname<what_is_soname>`.
+releases and is annotated in the library's :ref:`soname <abi_what_is_soname>`.
ABI version support in subsequent releases facilitates application upgrades, by
enabling applications built against the milestone release to upgrade to
subsequent releases of a library without a rebuild.
More details on major ABI version can be found in the :ref:`ABI versioning
-<major_abi_versions>` guide.
+<abi_major_versions>` guide.
The DPDK ABI policy
-------------------
@@ -143,7 +143,7 @@ The requirements for changing the ABI are:
CPU vendors, end-users, etc.
#. Backward compatibility with the major ABI version must be maintained through
- :doc:`abi_versioning`, with :ref:`forward-only <forward-only>` compatibility
+ :doc:`abi_versioning`, with :ref:`forward-only <abi_forward_only>` compatibility
offered for any ABI changes that are indicated to be part of the next ABI
version.
@@ -152,7 +152,7 @@ The requirements for changing the ABI are:
- No backward or forward compatibility is offered for API changes marked as
``experimental``, as described in the section on :ref:`Experimental APIs
- and Libraries <experimental_apis>`.
+ and Libraries <abi_experimental_apis>`.
- In situations in which an ``experimental`` symbol has been stable for some
time. When promoting the symbol to become part of the next ABI version, the
@@ -164,7 +164,7 @@ The requirements for changing the ABI are:
``__rte_deprecated``.
- The deprecated API should follow the notification process to be removed,
- see :ref:`deprecation_notices`.
+ see :ref:`abi_deprecation_notices`.
- At the declaration of the next major ABI version, those ABI changes then
become a formal part of the new ABI and the requirement to preserve ABI
@@ -174,7 +174,7 @@ The requirements for changing the ABI are:
with the original contributor of the ABI changes, failing that, then with
the contributor's company and then finally with the maintainer.
-.. _forward-only:
+.. _abi_forward_only:
.. Note::
@@ -186,7 +186,7 @@ The requirements for changing the ABI are:
of these ABI changes can only ensure that its runtime dependencies are met
through Operating System package versioning.
-.. _hw_rqmts:
+.. _abi_hw_requirements:
.. Note::
@@ -228,14 +228,14 @@ declarations of major ABI versions.
preserved through :doc:`abi_versioning`.
- The new function may be marked with the ``__rte_experimental`` tag for a
- number of releases, as described in the section :ref:`experimental_apis`.
+ number of releases, as described in the section :ref:`abi_experimental_apis`.
- Once ``rte_foo(uint8_t bar)`` becomes non-experimental, ``rte_foo()`` is
declared as ``__rte_deprecated`` and an deprecation notice is provided.
* DPDK 20.11 is not re-released to include ``rte_foo(uint8_t bar)``, the new
version of ``rte_foo`` only exists from DPDK 21.02 onwards as described in the
- :ref:`note on forward-only compatibility<forward-only>`.
+ :ref:`note on forward-only compatibility <abi_forward_only>`.
* DPDK 21.02 release defines the experimental function ``__rte_experimental
rte_baz()``. This function may or may not exist in the DPDK 21.05 release.
@@ -250,7 +250,7 @@ declarations of major ABI versions.
formally part of then new major ABI version DPDK ``22`` and ``rte_foo()`` may be
removed.
-.. _deprecation_notices:
+.. _abi_deprecation_notices:
Examples of Deprecation Notices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -281,7 +281,7 @@ added to the Release Notes:
require updating and recompilation.
-.. _new_abi_version:
+.. _abi_new_version:
New ABI versions
----------------
@@ -299,9 +299,9 @@ and some amended rules apply during this cycle:
as described in the section :ref:`abi_changes`.
* Symbol versioning references to the old ABI version are updated
to reference the new ABI version,
- as described in the section :ref:`deprecating_entire_abi`.
+ as described in the section :ref:`abi_deprecating_entire_abi`.
* Contributors of aliases to experimental in previous releases,
- as described in section :ref:`aliasing_experimental_symbols`,
+ as described in section :ref:`abi_aliasing_experimental_symbols`,
are now required to remove these aliases.
* Finally, the *ABI breakage window* is *not* permission to circumvent
the other aspects of the procedures to make ABI changes
@@ -309,7 +309,7 @@ and some amended rules apply during this cycle:
to break the ABI and the observance of a deprecation notice
are still considered mandatory.
-.. _experimental_apis:
+.. _abi_experimental_apis:
Experimental
------------
diff --git a/doc/guides/contributing/abi_versioning.rst b/doc/guides/contributing/abi_versioning.rst
index 6861517c5d..6d093a6950 100644
--- a/doc/guides/contributing/abi_versioning.rst
+++ b/doc/guides/contributing/abi_versioning.rst
@@ -6,7 +6,7 @@ ABI Versioning
This document details the mechanics of ABI version management in DPDK.
-.. _what_is_soname:
+.. _abi_what_is_soname:
What is a library's soname?
---------------------------
@@ -29,7 +29,7 @@ ABI version. The library loaded at runtime therefore, may be a minor revision
supporting the same major ABI version (e.g. ``librte_eal.21.2``), as the library
used to link the application (e.g ``librte_eal.21.0``).
-.. _major_abi_versions:
+.. _abi_major_versions:
Major ABI versions
------------------
@@ -68,7 +68,7 @@ persists over multiple releases.
When an ABI change is made between major ABI versions to a given library, a new
section is added to that library's version map describing the impending new ABI
-version, as described in the section :ref:`example_abi_macro_usage`. The
+version, as described in the section :ref:`abi_example_macro_usage`. The
library's soname and filename however do not change, e.g. ``libacl.so.21``, as
ABI compatibility with the last major ABI version continues to be preserved for
that library.
@@ -93,7 +93,7 @@ that library.
However when a new ABI version is declared, for example DPDK ``22``, old
deprecated functions may be safely removed at this point and the entire old
-major ABI version removed, see the section :ref:`deprecating_entire_abi` on
+major ABI version removed, see the section :ref:`abi_deprecating_entire_abi` on
how this may be done.
.. code-block:: none
@@ -150,7 +150,7 @@ The macros are:
to become part of the stable ABI, to provide an alias to experimental
until the next major ABI version.
-.. _example_abi_macro_usage:
+.. _abi_example_macro_usage:
Examples of ABI Macro use
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -226,7 +226,7 @@ but now points to the above newly named function ``rte_acl_create_v21``.
We have now mapped the original rte_acl_create symbol to the original function
(but with a new name).
-Please see the section :ref:`enabling_versioning_macros`
+Please see the section :ref:`abi_enabling_versioning_macros`
to enable this macro in the Meson/Ninja build.
Next, we need to create the new version of the symbol. We create a new
@@ -256,11 +256,11 @@ used by newly built applications.
.. note::
**Before you leave**, please take care reviewing the sections on
- :ref:`enabling_versioning_macros`,
+ :ref:`abi_enabling_versioning_macros`,
and :ref:`ABI deprecation <abi_deprecation>`.
-.. _enabling_versioning_macros:
+.. _abi_enabling_versioning_macros:
Enabling versioning macros
__________________________
@@ -279,7 +279,7 @@ at the start of the head of the file. This will indicate to the tool-chain to
enable the function version macros when building.
-.. _aliasing_experimental_symbols:
+.. _abi_aliasing_experimental_symbols:
Aliasing experimental symbols
_____________________________
@@ -291,7 +291,7 @@ promoting the symbol, the maintainer may choose to provide an alias to the
This alias is then dropped in the next major ABI version.
The process to provide an alias to ``experimental`` is similar to that, of
-:ref:`symbol versioning <example_abi_macro_usage>` described above.
+:ref:`symbol versioning <abi_example_macro_usage>` described above.
Assume we have an experimental function ``rte_acl_create`` as follows:
.. code-block:: c
@@ -327,7 +327,7 @@ When we promote the symbol to the stable ABI, we simply strip the
}
Although there are strictly no guarantees or commitments associated with
-:ref:`experimental symbols <experimental_apis>`, a maintainer may wish to offer
+:ref:`experimental symbols <abi_experimental_apis>`, a maintainer may wish to offer
an alias to experimental. The process to add an alias to experimental,
is similar to the symbol versioning process. Assuming we have an experimental
symbol as before, we now add the symbol to both the ``EXPERIMENTAL``
@@ -372,7 +372,7 @@ Note that the internal function definition must also be removed, but it is used
in our example by the newer version ``v22``, so we leave it in place and declare
it as static. This is a coding style choice.
-.. _deprecating_entire_abi:
+.. _abi_deprecating_entire_abi:
Deprecating an entire ABI version
_________________________________
@@ -413,4 +413,4 @@ and <newdir> specifies the DPDK build directory to check the ABI of.
The ABI compatibility is automatically verified when using a build script
from ``devtools``, if the variable ``DPDK_ABI_REF_VERSION`` is set with a tag,
-as described in :ref:`ABI check recommendations<integrated_abi_check>`.
+as described in :ref:`ABI check recommendations <contrib_integrated_abi_check>`.
diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index d5acbd3b97..8b7ae30cf8 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -34,7 +34,7 @@ Usual Comments
~~~~~~~~~~~~~~
These comments should be used in normal cases.
-To document a public API, a doxygen-like format must be used: refer to :ref:`doxygen_guidelines`.
+To document a public API, a doxygen-like format must be used: refer to :ref:`style_doxygen_guidelines`.
.. code-block:: c
@@ -588,7 +588,9 @@ Prototypes
* Function prototypes should be listed in a logical order, preferably alphabetical unless there is a compelling reason to use a different ordering.
* Functions that are used locally in more than one module go into a separate header file, for example, "extern.h".
* Do not use the ``__P`` macro.
-* Functions that are part of an external API should be documented using Doxygen-like comments above declarations. See :ref:`doxygen_guidelines` for details.
+* Functions that are part of an external API
+ should be documented using Doxygen-like comments above declarations.
+ See :ref:`style_doxygen_guidelines` for details.
* Functions that are part of the external API must have an ``rte_`` prefix on the function name.
* Do not use uppercase letters - either in the form of ALL_UPPERCASE, or CamelCase - in function names. Lower-case letters and underscores only.
* When prototyping functions, associate names with parameter types, for example:
@@ -825,7 +827,7 @@ Control Statements
/* NOTREACHED */
}
-.. _dynamic_logging:
+.. _style_dynamic_logging:
Dynamic Logging
---------------
diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst
index 0e5cb60053..41431f063e 100644
--- a/doc/guides/contributing/design.rst
+++ b/doc/guides/contributing/design.rst
@@ -76,7 +76,7 @@ It is often desirable to provide information to the end-user
as to what is happening to the application at runtime.
DPDK provides a number of built-in mechanisms to provide this introspection:
-* :ref:`Logging <dynamic_logging>`
+* :ref:`Logging <style_dynamic_logging>`
* :doc:`Tracing </prog_guide/trace_lib>`
* :doc:`Telemetry </prog_guide/telemetry_lib>`
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 41cbd03a4f..14ca10804c 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -56,7 +56,7 @@ Role of the Documentation
The following items outline the roles of the different parts of the documentation and when they need to be updated or
added to by the developer.
-.. _contrib_doc_guidelines_release_notes:
+.. _style_release_notes_guidelines:
* **Release Notes**
@@ -489,8 +489,10 @@ Images
* Images in the documentation should be formatted as follows:
- * The image should be preceded by a label in the format ``.. _figure_XXXX:`` with a leading underscore and
- where ``XXXX`` is a unique descriptive name.
+ * The image should be preceded by a label
+ in the format ``.. _prefix_figure_name:`` with a leading underscore,
+ where ``prefix`` is the document or component name,
+ and ``name`` makes it unique and descriptive.
* Images should be included using the ``.. figure::`` directive and the file type should be set to ``*`` (not ``.svg``).
This allows the format of the image to be changed if required, without updating the documentation.
@@ -499,26 +501,26 @@ Images
* Here is an example of the previous three guidelines::
- .. _figure_mempool:
+ .. _mempool_figure_cache:
.. figure:: img/mempool.*
A mempool in memory with its associated ring.
-.. _mock_label:
+.. _style_mock_label:
* Images can then be linked to using the ``:numref:`` directive::
- The mempool layout is shown in :numref:`figure_mempool`.
+ The mempool layout is shown in :numref:`mempool_figure_cache`.
- This would be rendered as: *The mempool layout is shown in* :ref:`Fig 6.3 <mock_label>`.
+ This would be rendered as: *The mempool layout is shown in* :ref:`Fig 6.3 <style_mock_label>`.
**Note**: The ``:numref:`` directive requires Sphinx 1.3.1 or later.
With earlier versions it will still be rendered as a link but won't have an automatically generated number.
* The caption of the image can be generated, with a link, using the ``:ref:`` directive::
- :ref:`figure_mempool`
+ :ref:`mempool_figure_cache`
This would be rendered as: *A mempool in memory with its associated ring.*
@@ -533,7 +535,7 @@ Tables
* Tables should be included using the ``.. table::`` directive and must have a caption.
-.. _links:
+.. _style_links:
Hyperlinks
~~~~~~~~~~
@@ -550,14 +552,14 @@ Hyperlinks
* An internal link can be generated by placing labels in the document with the format ``.. _label_name``.
-* The following links to the top of this section: :ref:`links`::
+* The following links to the top of this section: :ref:`style_links`::
.. _links:
Hyperlinks
~~~~~~~~~~
- * The following links to the top of this section: :ref:`links`:
+ * The following links to the top of this section: :ref:`style_links`:
.. Note::
@@ -567,7 +569,7 @@ Hyperlinks
* The use of a label is preferred since it works across files and will still work if the header text changes.
-.. _doxygen_guidelines:
+.. _style_doxygen_guidelines:
Doxygen Guidelines
------------------
diff --git a/doc/guides/contributing/new_driver.rst b/doc/guides/contributing/new_driver.rst
index ea433b8d9a..c7976d042a 100644
--- a/doc/guides/contributing/new_driver.rst
+++ b/doc/guides/contributing/new_driver.rst
@@ -95,7 +95,7 @@ This approach ensures a clear and manageable development process.
We suggest splitting patches following this approach:
* Each patch should be organized logically as a new feature.
-* Run test tools per patch (See :ref:`tool_list`).
+* Run test tools per patch (See :ref:`contrib_tool_list`).
* Update relevant documentation and `<driver>.ini` file with each patch.
The following order in the patch series is as suggested below.
@@ -193,7 +193,7 @@ If the required dependency is not yet publicly available,
then wait to submit the driver until the dependent library is available.
-.. _tool_list:
+.. _contrib_tool_list:
Test Tools
----------
@@ -211,4 +211,4 @@ Be sure to run the following test tools per patch in a patch series:
* `check-spdx-tag.sh`
* Build documentation and validate how output looks
* Optionally run ``review-patch.py`` for AI-assisted review
- (see :ref:`ai_assisted_review` in the Contributing Guide)
+ (see :ref:`contrib_ai_assisted_review` in the Contributing Guide)
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index ab4d3ec916..4c7ffe5f36 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -168,7 +168,7 @@ Make your planned changes in the cloned ``dpdk`` repo. Here are some guidelines
* When introducing a new device API, at least one driver should implement it.
* Important changes will require an addition to the release notes in ``doc/guides/rel_notes/``.
- See the :ref:`release notes guidelines <contrib_doc_guidelines_release_notes>`.
+ See the :ref:`release notes guidelines <style_release_notes_guidelines>`.
* Test the compilation works with different targets, compilers and options, see :ref:`contrib_check_compilation`.
@@ -501,7 +501,7 @@ the ``dts-check-format.sh`` script in the ``devtools`` directory of the DPDK rep
To run the script, extra :ref:`Python dependencies <dts_deps>` are needed.
-.. _ai_assisted_review:
+.. _contrib_ai_assisted_review:
AI-Assisted Patch Review
------------------------
@@ -575,7 +575,7 @@ in a single subfolder called "__builds" created in the current directory.
Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g. ``/tmp`` is also supported.
-.. _integrated_abi_check:
+.. _contrib_integrated_abi_check:
Checking ABI compatibility
--------------------------
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index d929e9d731..6c96c5f88d 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -10,7 +10,7 @@ QAT documentation consists of three parts:
* Details of the :doc:`compression service </compressdevs/qat_comp>`
in the compressdev drivers section.
* Details of building the common QAT infrastructure and the PMDs to support the
- above services. See :ref:`building_qat` below.
+ above services. See :ref:`qat_building` below.
Symmetric Crypto Service on QAT
@@ -203,7 +203,7 @@ Limitations
in different threads.)
* RSA-2560, RSA-3584 are not supported
-.. _building_qat:
+.. _qat_building:
Building PMDs on QAT
--------------------
diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst
index 9503bdec59..5def8d453d 100644
--- a/doc/guides/faq/faq.rst
+++ b/doc/guides/faq/faq.rst
@@ -6,7 +6,7 @@ What does "EAL: map_all_hugepages(): open failed: Permission denied Cannot init
This is most likely due to the test application not being run with sudo to promote the user to a superuser.
Alternatively, applications can also be run as regular user.
-For more information, please refer to :ref:`Running_Without_Root_Privileges`.
+For more information, please refer to :ref:`linux_gsg_running_without_root_privileges`.
If I want to change the number of hugepages allocated, how do I remove the original pages allocated?
diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst
index faedee1384..9dafa64e84 100644
--- a/doc/guides/freebsd_gsg/build_dpdk.rst
+++ b/doc/guides/freebsd_gsg/build_dpdk.rst
@@ -65,7 +65,7 @@ the next section.
variable.
-.. _loading_contigmem:
+.. _freebsd_gsg_loading_contigmem:
Loading the DPDK contigmem Module
---------------------------------
@@ -153,7 +153,7 @@ available and can be verified via dmesg or ``/var/log/messages``::
To avoid this error, reduce the number of buffers or the buffer size.
-.. _loading_nic_uio:
+.. _freebsd_gsg_loading_nic_uio:
Loading the DPDK nic_uio Module
-------------------------------
@@ -190,7 +190,7 @@ already bound to a driver other than ``nic_uio``. The following sub-section desc
how to query and modify the device ownership of the ports to be used by
DPDK applications.
-.. _binding_network_ports:
+.. _freebsd_gsg_binding_network_ports:
Binding Network Ports to the nic_uio Module
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index a89518daa5..5cbe5fb0dd 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -42,7 +42,7 @@ the installation of DPDK using `meson install` as described previously::
ln -sf helloworld-shared build/helloworld
-.. _running_sample_app:
+.. _freebsd_gsg_running_sample_app:
Running a Sample Application
----------------------------
@@ -50,14 +50,14 @@ Running a Sample Application
#. The ``contigmem`` and ``nic_uio`` modules must be set up prior to running an application.
#. Any ports to be used by the application must be already bound to the ``nic_uio`` module,
- as described in section :ref:`binding_network_ports`, prior to running the application.
+ as described in section :ref:`freebsd_gsg_binding_network_ports`, prior to running the application.
The application is linked with the DPDK target environment's Environment
Abstraction Layer (EAL) library, which provides some options that are generic
to every DPDK application.
You can refer to :doc:`freebsd_eal_parameters` for the list of EAL options.
-.. _running_non_root:
+.. _freebsd_gsg_running_non_root:
Running DPDK Applications Without Root Privileges
-------------------------------------------------
diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst
index d2e19a1248..888ab3e0fc 100644
--- a/doc/guides/freebsd_gsg/install_from_ports.rst
+++ b/doc/guides/freebsd_gsg/install_from_ports.rst
@@ -26,8 +26,8 @@ DPDK can be installed on FreeBSD using the command::
After the installation of the DPDK package, instructions will be printed on
how to install the kernel modules required to use the DPDK. A more
complete version of these instructions can be found in the sections
-:ref:`loading_contigmem` and :ref:`loading_nic_uio`. Normally, lines like
-those below would be added to the file ``/boot/loader.conf``.
+:ref:`freebsd_gsg_loading_contigmem` and :ref:`freebsd_gsg_loading_nic_uio`.
+Normally, lines like those below would be added to the file ``/boot/loader.conf``.
.. code-block:: shell
@@ -115,9 +115,9 @@ via the contigmem module, and 4 NIC ports bound to the nic_uio module::
To run a DPDK process as a non-root user, adjust the permissions on
the ``/dev/contigmem`` and ``/dev/uio device`` nodes as described in section
- :ref:`running_non_root`
+ :ref:`freebsd_gsg_running_non_root`
.. note::
For an explanation of the command-line parameters that can be passed to an
- DPDK application, see section :ref:`running_sample_app`.
+ DPDK application, see section :ref:`freebsd_gsg_running_sample_app`.
diff --git a/doc/guides/howto/avx512.rst b/doc/guides/howto/avx512.rst
index a9ff770740..c417a90b71 100644
--- a/doc/guides/howto/avx512.rst
+++ b/doc/guides/howto/avx512.rst
@@ -22,7 +22,8 @@ which does not allow for AVX-512.
rte_vect_set_max_simd_bitwidth(RTE_VECT_SIMD_512);
This API should only be called once at initialization, before EAL init.
-For more information on the possible enum values to use as a parameter, go to :ref:`max_simd_bitwidth`:
+For more information on the possible enum values to use as a parameter,
+go to :ref:`eal_max_simd_bitwidth`:
Using the command-line argument
diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst
index c1e125072a..4bbe207dc8 100644
--- a/doc/guides/howto/flow_bifurcation.rst
+++ b/doc/guides/howto/flow_bifurcation.rst
@@ -44,7 +44,7 @@ module.
Using Flow Bifurcation on NVIDIA ConnectX
-----------------------------------------
-The NVIDIA devices are :ref:`natively bifurcated <bifurcated_driver>`,
+The NVIDIA devices are :ref:`natively bifurcated <linux_gsg_bifurcated_driver>`,
so there is no need to split into SR-IOV PF/VF
in order to get the flow bifurcation mechanism.
The full device is already shared with the kernel driver.
diff --git a/doc/guides/howto/packet_capture_framework.rst b/doc/guides/howto/packet_capture_framework.rst
index b0db8bde04..3d12901d68 100644
--- a/doc/guides/howto/packet_capture_framework.rst
+++ b/doc/guides/howto/packet_capture_framework.rst
@@ -70,10 +70,9 @@ Test Environment
----------------
The overview of using the Packet Capture Framework and the ``dpdk-dumpcap`` utility
-for packet capturing on the DPDK port in
-:numref:`figure_packet_capture_framework`.
+for packet capturing on the DPDK port in :numref:`packet_capture_framework_figure_overview`.
-.. _figure_packet_capture_framework:
+.. _packet_capture_framework_figure_overview:
.. figure:: img/packet_capture_framework.*
@@ -84,7 +83,7 @@ Running the Application
-----------------------
The following steps demonstrate how to run the ``dpdk-dumpcap`` tool to capture
-Rx side packets on dpdk_port0 in :numref:`figure_packet_capture_framework` and
+Rx side packets on dpdk_port0 in :numref:`packet_capture_framework_figure_overview` and
inspect them using ``tcpdump``.
#. Launch testpmd as the primary application::
diff --git a/doc/guides/howto/virtio_user_as_exception_path.rst b/doc/guides/howto/virtio_user_as_exception_path.rst
index 9593831575..03d061498e 100644
--- a/doc/guides/howto/virtio_user_as_exception_path.rst
+++ b/doc/guides/howto/virtio_user_as_exception_path.rst
@@ -39,9 +39,9 @@ This solution has a number of advantages over alternatives such as KNI:
which minimises the impact on the polling DPDK threads.
The overview of an application using virtio-user as exception path is shown
-in :numref:`figure_virtio_user_as_exception_path`.
+in :numref:`virtio_user_exception_path_figure_overview`.
-.. _figure_virtio_user_as_exception_path:
+.. _virtio_user_exception_path_figure_overview:
.. figure:: img/virtio_user_as_exception_path.*
diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst b/doc/guides/howto/virtio_user_for_container_networking.rst
index 1798cdf327..be4425bef5 100644
--- a/doc/guides/howto/virtio_user_for_container_networking.rst
+++ b/doc/guides/howto/virtio_user_for_container_networking.rst
@@ -8,9 +8,9 @@ Container becomes more and more popular for strengths, like low overhead, fast
boot-up time, and easy to deploy, etc. How to use DPDK to accelerate container
networking becomes a common question for users. There are two use models of
running DPDK inside containers, as shown in
-:numref:`figure_use_models_for_running_dpdk_in_containers`.
+:numref:`virtio_user_container_figure_use_models`.
-.. _figure_use_models_for_running_dpdk_in_containers:
+.. _virtio_user_container_figure_use_models:
.. figure:: img/use_models_for_running_dpdk_in_containers.*
@@ -26,9 +26,9 @@ for high performance user space container networking or inter-process
communication (IPC).
The overview of accelerating container networking by virtio-user is shown
-in :numref:`figure_virtio_user_for_container_networking`.
+in :numref:`virtio_user_container_figure_networking`.
-.. _figure_virtio_user_for_container_networking:
+.. _virtio_user_container_figure_networking:
.. figure:: img/virtio_user_for_container_networking.*
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 4388e0a1ec..00bf3262da 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -291,7 +291,7 @@ By adhering to these guidelines, you will ensure the most optimized build
for ARM-based DPDK targets.
-.. _building_app_using_installed_dpdk:
+.. _linux_gsg_building_app_using_installed_dpdk:
Building Applications Using Installed DPDK
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 4f5930a5f6..57ce568359 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -10,7 +10,8 @@ It also provides a pointer to where sample applications are stored.
Compiling a Sample Application
------------------------------
-Please refer to :ref:`building_app_using_installed_dpdk` for details on compiling sample apps.
+Please refer to :ref:`linux_gsg_building_app_using_installed_dpdk`
+for details on compiling sample apps.
Running a Sample Application
----------------------------
diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index 6485943da0..e443be6369 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -64,7 +64,7 @@ For aarch32, install ``pkg-config-arm-linux-gnueabihf``::
GNU toolchain
-------------
-.. _obtain_GNU_toolchain:
+.. _linux_gsg_obtain_gnu_toolchain:
Get the cross toolchain
~~~~~~~~~~~~~~~~~~~~~~~
@@ -94,7 +94,7 @@ For aarch32::
For the host requirements and other info, refer to the release note section:
https://releases.linaro.org/components/toolchain/binaries/
-.. _augment_the_gnu_toolchain_with_numa_support:
+.. _linux_gsg_augment_the_gnu_toolchain_with_numa_support:
Augment the GNU toolchain with NUMA support
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -198,7 +198,7 @@ https://developer.arm.com/tools-and-software/open-source-software/developer-tool
The LLVM/Clang toolchain does not implement the standard c library.
The GNU toolchain ships an implementation we can use.
-Refer to obtain_GNU_toolchain_ to get the GNU toolchain.
+Refer to linux_gsg_obtain_gnu_toolchain_ to get the GNU toolchain.
Unzip and add into the PATH
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -214,7 +214,7 @@ Cross Compiling DPDK with LLVM/Clang toolchain using Meson
.. note::
To use the NUMA library follow the same steps as for
- augment_the_gnu_toolchain_with_numa_support_.
+ linux_gsg_augment_the_gnu_toolchain_with_numa_support_.
The paths to GNU stdlib must be specified in a cross file.
Augmenting the default cross-file's ``c_args`` and ``c_link_args``
diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index c3f5be481a..d99fafbde0 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -6,7 +6,7 @@
Enabling Additional Functionality
=================================
-.. _Running_Without_Root_Privileges:
+.. _linux_gsg_running_without_root_privileges:
Running DPDK Applications Without Root Privileges
-------------------------------------------------
@@ -83,7 +83,7 @@ need to be adjusted in order to ensure normal DPDK operation:
The above limits can usually be adjusted by editing
``/etc/security/limits.conf`` file, and rebooting.
-See :ref:`hugepage_mapping` section to learn how these limits affect EAL.
+See :ref:`eal_hugepage_mapping` section to learn how these limits affect EAL.
Device Control
~~~~~~~~~~~~~~
@@ -160,7 +160,7 @@ Also see
`CPU isolation example <https://www.suse.com/c/cpu-isolation-practical-example-part-5/>`_
and `systemd core isolation example <https://www.rcannings.com/systemd-core-isolation/>`_.
-.. _High_Precision_Event_Timer:
+.. _linux_gsg_high_precision_event_timer:
High Precision Event Timer (HPET) Functionality
-----------------------------------------------
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 08e72ace56..12e9faf4a2 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -21,14 +21,14 @@ Binding and Unbinding Network Ports to/from the Kernel Modules
PMDs which use the bifurcated driver should not be unbound from their kernel drivers.
This section is for PMDs which use the UIO or VFIO drivers.
- See :ref:`bifurcated_driver` section for more details.
+ See :ref:`linux_gsg_bifurcated_driver` section for more details.
.. note::
It is recommended that ``vfio-pci`` be used as the kernel module for DPDK-bound ports in all cases.
- If an IOMMU is unavailable, the ``vfio-pci`` can be used in :ref:`no-iommu<vfio_noiommu>` mode.
+ If an IOMMU is unavailable, the ``vfio-pci`` can be used in :ref:`no-iommu <linux_gsg_vfio_noiommu>` mode.
If, for some reason, vfio is unavailable, then UIO-based modules, ``igb_uio`` and ``uio_pci_generic`` may be used.
- See section :ref:`uio` for details.
+ See section :ref:`linux_gsg_uio` for details.
Most devices require that the hardware to be used by DPDK be unbound from the kernel driver it uses,
and instead be bound to the ``vfio-pci`` kernel module before the application is run.
@@ -130,10 +130,10 @@ to use IO virtualization (such as Intel\ |reg| VT-d).
configure the Linux kernel to use IOMMU.
For proper operation of VFIO when running DPDK applications as a non-privileged user, correct permissions should also be set up.
-For more information, please refer to :ref:`Running_Without_Root_Privileges`.
+For more information, please refer to :ref:`linux_gsg_running_without_root_privileges`.
-.. _vfio_noiommu:
+.. _linux_gsg_vfio_noiommu:
VFIO no-IOMMU mode
~~~~~~~~~~~~~~~~~~
@@ -359,7 +359,7 @@ running on these systems.
Consult your distribution's documentation to make sure that is the case.
-.. _bifurcated_driver:
+.. _linux_gsg_bifurcated_driver:
Bifurcated Driver
-----------------
@@ -384,7 +384,7 @@ More about the bifurcated driver can be found in
NVIDIA `bifurcated PMD
<https://www.dpdk.org/wp-content/uploads/sites/23/2016/10/Day02-Session04-RonyEfraim-Userspace2016.pdf>`_ presentation.
-.. _uio:
+.. _linux_gsg_uio:
UIO
---
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index a596400178..0e6a2e2e78 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -131,7 +131,7 @@ System Software
* PROC_PAGE_MONITOR support
* HPET and HPET_MMAP configuration options should also be enabled if HPET support is required.
- See the section on :ref:`High_Precision_Event_Timer` for more details.
+ See the section on :ref:`linux_gsg_high_precision_event_timer` for more details.
.. _linux_gsg_hugepages:
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index aa46f0bd82..063cb16d85 100644
--- a/doc/guides/nics/cxgbe.rst
+++ b/doc/guides/nics/cxgbe.rst
@@ -15,7 +15,7 @@ and has support for the latest Linux operating systems.
More information can be found at `Chelsio Communications Official Website
<http://www.chelsio.com>`_.
-.. _t5-nics:
+.. _cxgbe_t5_nics:
Supported Chelsio T5 NICs
-------------------------
@@ -25,7 +25,7 @@ Supported Chelsio T5 NICs
- 40G NICs: T580-CR, T580-LP-CR, T580-SO-CR
- Other T5 NICs: T522-CR
-.. _t6-nics:
+.. _cxgbe_t6_nics:
Supported Chelsio T6 NICs
-------------------------
@@ -37,7 +37,7 @@ Supported SR-IOV Chelsio NICs
-----------------------------
SR-IOV virtual functions are supported on all the Chelsio NICs listed
-in :ref:`t5-nics` and :ref:`t6-nics`.
+in :ref:`cxgbe_t5_nics` and :ref:`cxgbe_t6_nics`.
Features
--------
@@ -73,7 +73,7 @@ Prerequisites
repository.
Instructions on how to manually flash the firmware are given in section
- :ref:`linux-installation` for Linux and section :ref:`freebsd-installation`
+ :ref:`cxgbe_linux_installation` for Linux and section :ref:`cxgbe_freebsd_installation`
for FreeBSD.
@@ -319,7 +319,7 @@ CXGBE PF Only Runtime Options
dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
-.. _driver-compilation:
+.. _cxgbe_driver_compilation:
Driver compilation and testing
------------------------------
@@ -330,7 +330,7 @@ for details.
Linux
-----
-.. _linux-installation:
+.. _cxgbe_linux_installation:
Linux Installation
~~~~~~~~~~~~~~~~~~
@@ -468,8 +468,8 @@ devices managed by librte_net_cxgbe in Linux operating system.
.. note::
- Flow control pause TX/RX is disabled by default and can be enabled via
- testpmd. Refer section :ref:`flow-control` for more details.
+ Flow control pause TX/RX is disabled by default and can be enabled via testpmd.
+ Refer section :ref:`cxgbe_flow_control` for more details.
Configuring SR-IOV Virtual Functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -582,7 +582,7 @@ virtual functions.
FreeBSD
-------
-.. _freebsd-installation:
+.. _cxgbe_freebsd_installation:
FreeBSD Installation
~~~~~~~~~~~~~~~~~~~~
@@ -652,7 +652,7 @@ This section demonstrates how to launch **testpmd** with Chelsio
devices managed by librte_net_cxgbe in FreeBSD operating system.
#. Change to DPDK source directory where the target has been compiled in
- section :ref:`driver-compilation`:
+ section :ref:`cxgbe_driver_compilation`:
.. code-block:: console
@@ -778,13 +778,13 @@ devices managed by librte_net_cxgbe in FreeBSD operating system.
.. note::
- Flow control pause TX/RX is disabled by default and can be enabled via
- testpmd. Refer section :ref:`flow-control` for more details.
+ Flow control pause TX/RX is disabled by default and can be enabled via testpmd.
+ Refer section :ref:`cxgbe_flow_control` for more details.
Sample Application Notes
------------------------
-.. _flow-control:
+.. _cxgbe_flow_control:
Enable/Disable Flow Control
~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 6e2884b897..ae8b32af2c 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -407,7 +407,7 @@ Features of the DPAA2 PMD are:
- Link flow control
- Scattered and gather for TX and RX
- Rx queue interrupts
-- :ref:`dptmapi`
+- :ref:`dpaa2_dptmapi`
Supported DPAA2 SoCs
@@ -589,7 +589,7 @@ Other Limitations
- RSS hash key cannot be modified.
- RSS RETA cannot be configured.
-.. _dptmapi:
+.. _dpaa2_dptmapi:
Traffic Management API
----------------------
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 69b0fae10f..f71191b686 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -699,7 +699,7 @@ Mirror rule limitation for X722
Due to firmware restriction of X722, the same VSI cannot have more than one mirror rule.
-.. _net_i40e_testpmd_commands:
+.. _i40e_testpmd_commands:
Testpmd driver specific commands
--------------------------------
@@ -924,9 +924,9 @@ The following is an example of running the DPDK ``l3fwd`` sample application to
server with Intel Xeon processors and Intel Ethernet CNA XL710.
The example scenario is to get best performance with two Intel Ethernet CNA XL710 40GbE ports.
-See :numref:`figure_intel_perf_test_setup` for the performance test setup.
+See :numref:`i40e_figure_intel_perf_test_setup` for the performance test setup.
-.. _figure_intel_perf_test_setup:
+.. _i40e_figure_intel_perf_test_setup:
.. figure:: img/intel_perf_test_setup.*
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index e010f852cf..8f8ce32cac 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -24,9 +24,9 @@ SR-IOV Mode Utilization in a DPDK Environment
The DPDK uses the SR-IOV feature for hardware-based I/O sharing in IOV mode.
Therefore, it is possible to partition SR-IOV capability on Ethernet controller NIC resources logically and
expose them to a virtual machine as a separate PCI function called a "Virtual Function".
-Refer to :numref:`figure_single_port_nic`.
+Refer to :numref:`intel_vf_figure_single_port_nic`.
-Therefore, a NIC is logically distributed among multiple virtual machines (as shown in :numref:`figure_single_port_nic`),
+Therefore, a NIC is logically distributed among multiple virtual machines (as shown in :numref:`intel_vf_figure_single_port_nic`),
while still having global data in common to share with the Physical Function and other Virtual Functions.
The DPDK fm10kvf, iavf, igbvf or ixgbevf as a Poll Mode Driver (PMD) serves for the Intel® 82576 Gigabit Ethernet Controller,
Intel® Ethernet Controller I350 family, Intel® 82599 10 Gigabit Ethernet Controller NIC,
@@ -47,7 +47,7 @@ For more detail on SR-IOV, please refer to the following documents:
* `Scalable I/O Virtualized Servers <http://www.intel.com/content/www/us/en/virtualization/server-virtualization/scalable-i-o-virtualized-servers-paper.html>`_
-.. _figure_single_port_nic:
+.. _intel_vf_figure_single_port_nic:
.. figure:: img/single_port_nic.*
@@ -585,9 +585,9 @@ The setup procedure is as follows:
can also be used to bind and unbind devices to a virtual machine in Ubuntu.
If this option is used, step 6 in the instructions provided will be different.
- * The Virtual Machine Monitor (see :numref:`figure_perf_benchmark`) is equivalent to a Host OS with KVM installed as described in the instructions.
+ * The Virtual Machine Monitor (see :numref:`intel_vf_figure_perf_benchmark`) is equivalent to a Host OS with KVM installed as described in the instructions.
-.. _figure_perf_benchmark:
+.. _intel_vf_figure_perf_benchmark:
.. figure:: img/perf_benchmark.*
@@ -607,10 +607,10 @@ the DPDK VF PMD performs the same throughput result as a non-VT native environme
With such host instance fast packet processing, lots of services such as filtering, QoS,
DPI can be offloaded on the host fast path.
-:numref:`figure_fast_pkt_proc` shows the scenario where some VMs directly communicate externally via a VFs,
+:numref:`intel_vf_figure_fast_pkt_proc` shows the scenario where some VMs directly communicate externally via a VFs,
while others connect to a virtual switch and share the same uplink bandwidth.
-.. _figure_fast_pkt_proc:
+.. _intel_vf_figure_fast_pkt_proc:
.. figure:: img/fast_pkt_proc.*
@@ -626,7 +626,7 @@ So VF-to-VF traffic within the same physical port (VM0<->VM1) have hardware acce
However, when VF crosses physical ports (VM0<->VM2), there is no such hardware bridge.
In this case, the DPDK PMD PF driver provides host forwarding between such VMs.
-:numref:`figure_inter_vm_comms` shows an example.
+:numref:`intel_vf_figure_inter_vm_comms` shows an example.
In this case an update of the MAC address lookup tables in both the NIC and host DPDK application is required.
In the NIC, writing the destination of a MAC address belongs to another cross device VM to the PF specific pool.
@@ -637,7 +637,7 @@ that is, the packet is forwarded to the correct PF pool.
The SR-IOV NIC switch forwards the packet to a specific VM according to the MAC destination address
which belongs to the destination VF on the VM.
-.. _figure_inter_vm_comms:
+.. _intel_vf_figure_inter_vm_comms:
.. figure:: img/inter_vm_comms.*
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index db1c8b1aea..5f7131e925 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -379,7 +379,7 @@ the VFs which are required.::
Currently hot-plugging of representor ports is not supported so all required
representors must be specified on the creation of the PF.
-.. _net_ixgbe_testpmd_commands:
+.. _ixgbe_testpmd_commands:
Testpmd driver specific commands
--------------------------------
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 1d3e42bcbb..852df1b789 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -221,9 +221,9 @@ Current RDMA core package and Linux kernel (recommended)
ninja
ninja install
-.. _`RDMA core installation documentation`: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md
+.. _RDMA core installation documentation: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md
-.. _OFED_as_a_fallback:
+.. _mlx4_ofed_as_a_fallback:
NVIDIA MLNX_OFED as a fallback
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -231,7 +231,7 @@ NVIDIA MLNX_OFED as a fallback
- `NVIDIA MLNX_OFED`_ version: **4.4, 4.5, 4.6**.
- firmware version: **2.42.5000** and above.
-.. _`NVIDIA MLNX_OFED`: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/
+.. _NVIDIA MLNX_OFED: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/
.. note::
@@ -283,7 +283,7 @@ Quick Start Guide
If using NVIDIA MLNX_OFED one can permanently set the port link
to Ethernet using connectx_port_config tool provided by it.
- :ref:`OFED_as_a_fallback`:
+ :ref:`mlx4_ofed_as_a_fallback`:
.. _mlx4_QSG_2:
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 3a419d7d97..9f4cc28bf2 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -893,7 +893,7 @@ Extended statistics can be queried using ``rte_eth_xstats_get()``.
The extended statistics expose a wider set of counters counted by the device.
The extended port statistics counts the number of packets
received or sent successfully by the port.
-As NVIDIA NICs are using a :ref:`bifurcated Linux driver <bifurcated_driver>`,
+As NVIDIA NICs are using a :ref:`bifurcated Linux driver <linux_gsg_bifurcated_driver>`,
those counters counts also packet received or sent by the Linux kernel.
Finally per-flow statistics can by queried using ``rte_flow_query()``
@@ -1499,7 +1499,7 @@ Limitations
Bifurcated Driver
~~~~~~~~~~~~~~~~~
-The same device is managed by both :ref:`kernel <bifurcated_driver>` and DPDK drivers.
+The same device is managed by both :ref:`kernel <linux_gsg_bifurcated_driver>` and DPDK drivers.
After enabling the :ref:`isolated mode <flow_isolated_mode>`,
non-matched packets are routed directly from the hardware to the kernel.
@@ -4786,14 +4786,14 @@ Port Attach with Socket Path
It is possible to allocate a port with ``libibverbs`` from external application.
For importing the external port with extra device arguments,
there is a specific testpmd command
-similar to :ref:`port attach command <port_attach>`::
+similar to :ref:`port attach command <testpmd_port_attach>`::
testpmd> mlx5 port attach (identifier) socket=(path)
where:
* ``identifier``: device identifier with optional parameters
- as same as :ref:`port attach command <port_attach>`.
+ as same as :ref:`port attach command <testpmd_port_attach>`.
* ``path``: path to IPC server socket created by the external application.
This command performs:
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index f20987b4d7..72e301bbb4 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -35,13 +35,13 @@ Features of the MVPP2 PMD are:
- L4 checksum offload
- Packet type parsing
- Basic stats
-- :ref:`extstats`
+- :ref:`mvpp2_extstats`
- RX flow control
- Scattered TX frames
-- :ref:`QoS <extconf>`
-- :ref:`flowapi`
-- :ref:`mtrapi`
-- :ref:`tmapi`
+- :ref:`QoS <mvpp2_extconf>`
+- :ref:`mvpp2_flowapi`
+- :ref:`mvpp2_mtrapi`
+- :ref:`mvpp2_tmapi`
Limitations
-----------
@@ -163,7 +163,7 @@ In order to run testpmd example application following command can be used:
--burst=128 --txd=2048 --rxd=1024 --rxq=2 --txq=2 --nb-cores=2 \
-i -a --rss-udp
-.. _extstats:
+.. _mvpp2_extstats:
Extended stats
--------------
@@ -185,7 +185,7 @@ MVPP2 PMD supports the following extended statistics:
- ``tx_errors``: number of TX MAC errors
-.. _extconf:
+.. _mvpp2_extconf:
External Configuration
----------------------
@@ -390,7 +390,7 @@ Usage example
./dpdk-testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2,cfg=/home/user/mrvl.conf \
-l 0-2 -- -i -a --disable-hw-vlan-strip --rxq=3 --txq=3
-.. _flowapi:
+.. _mvpp2_flowapi:
Flow API
--------
@@ -562,7 +562,7 @@ Following limitations need to be taken into account while creating flow rules:
For additional information about classifier please consult
``doc/musdk_cls_user_guide.txt``.
-.. _mtrapi:
+.. _mvpp2_mtrapi:
Traffic metering and policing
-----------------------------
@@ -577,7 +577,8 @@ MVPP2 PMD supports DPDK traffic metering and policing that allows the following:
For an additional description please refer to DPDK :doc:`/prog_guide/ethdev/traffic_metering_and_policing`.
-The policer objects defined by this feature can work with the default policer defined via config file as described in :ref:`QoS Support <extconf>`.
+The policer objects defined by this feature can work with the default policer
+defined via config file as described in :ref:`QoS Support <mvpp2_extconf>`.
Limitations
~~~~~~~~~~~
@@ -618,7 +619,7 @@ Usage example
For a detailed usage description please refer to :ref:`testpmd_traffic_metering_and_policing`.
-.. _tmapi:
+.. _mvpp2_tmapi:
Traffic Management API
----------------------
diff --git a/doc/guides/nics/netvsc.rst b/doc/guides/nics/netvsc.rst
index 213d6d4745..de2754bf2d 100644
--- a/doc/guides/nics/netvsc.rst
+++ b/doc/guides/nics/netvsc.rst
@@ -60,7 +60,7 @@ store it in a shell variable:
DEV_UUID=$(basename $(readlink /sys/class/net/eth1/device))
-.. _`UUID`: https://en.wikipedia.org/wiki/Universally_unique_identifier
+.. _UUID: https://en.wikipedia.org/wiki/Universally_unique_identifier
There are several possible ways to assign the UIO device driver for a device.
The easiest way (but only on 4.18 or later)
@@ -71,7 +71,7 @@ the normal kernel device.
driverctl -b vmbus set-override $DEV_UUID uio_hv_generic
-.. _`driverctl Device Driver control utility`: https://gitlab.com/driverctl/driverctl
+.. _driverctl Device Driver control utility: https://gitlab.com/driverctl/driverctl
Any settings done with driverctl are by default persistent and will be reapplied
on reboot.
diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst
index 06202bcbc2..2c6de1ae7d 100644
--- a/doc/guides/platform/cnxk.rst
+++ b/doc/guides/platform/cnxk.rst
@@ -23,10 +23,10 @@ Supported OCTEON cnxk SoCs
Resource Virtualization Unit architecture
-----------------------------------------
-The :numref:`figure_cnxk_resource_virtualization` diagram depicts the
+The :numref:`cnxk_figure_resource_virtualization` diagram depicts the
RVU architecture and a resource provisioning example.
-.. _figure_cnxk_resource_virtualization:
+.. _cnxk_figure_resource_virtualization:
.. figure:: img/cnxk_resource_virtualization.*
@@ -41,11 +41,11 @@ Each functional block has multiple local functions (LFs) for
provisioning to different PCIe devices. RVU supports multiple PCIe SRIOV
physical functions (PFs) and virtual functions (VFs).
-The :numref:`table_cnxk_rvu_dpdk_mapping` shows the various local
+The :numref:`cnxk_table_rvu_dpdk_mapping` shows the various local
functions (LFs) provided by the RVU and its functional mapping to
DPDK subsystem.
-.. _table_cnxk_rvu_dpdk_mapping:
+.. _cnxk_table_rvu_dpdk_mapping:
.. table:: RVU managed functional blocks and its mapping to DPDK subsystem
@@ -94,7 +94,7 @@ handle provisioning/configuration requests sent by any device from any domain.
The AF driver does not receive or process any data.
It is only a configuration driver used in control path.
-The :numref:`figure_cnxk_resource_virtualization` diagram also shows a
+The :numref:`cnxk_figure_resource_virtualization` diagram also shows a
resource provisioning example where,
#. PFx and PFx-VF0 bound to Linux netdev driver.
@@ -145,10 +145,10 @@ The primary use case for SDP is to enable the smart NIC use case. Typical usage
cnxk packet flow
----------------
-The :numref:`figure_cnxk_packet_flow_hw_accelerators` diagram depicts
+The :numref:`cnxk_figure_packet_flow_hw_accelerators` diagram depicts
the packet flow on cnxk SoC in conjunction with use of various HW accelerators.
-.. _figure_cnxk_packet_flow_hw_accelerators:
+.. _cnxk_figure_packet_flow_hw_accelerators:
.. figure:: img/cnxk_packet_flow_hw_accelerators.*
diff --git a/doc/guides/platform/dpaa.rst b/doc/guides/platform/dpaa.rst
index 76e2d1588d..9536401b42 100644
--- a/doc/guides/platform/dpaa.rst
+++ b/doc/guides/platform/dpaa.rst
@@ -67,7 +67,7 @@ compatible board:
This tool can be obtained from `NXP (Freescale) Public Git Repository <https://source.codeaurora.org/external/qoriq/qoriq-components/fmc>`_.
This tool needs configuration files which are available in the
- :ref:`DPDK Extra Scripts <extra_scripts>`, described below for DPDK usages.
+ :ref:`DPDK Extra Scripts <dpaa_extra_scripts>`, described below for DPDK usages.
Note that DPAA PMD can also be executed using images provided
as part of SDK from NXP. The SDK includes all the above prerequisites
@@ -96,7 +96,7 @@ separately:
SDK and related information can be obtained from: `NXP QorIQ SDK <http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX>`_.
-.. _extra_scripts:
+.. _dpaa_extra_scripts:
- **DPDK Extra Scripts**
diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst
index 611d9bec19..81924ee7ea 100644
--- a/doc/guides/platform/mlx5.rst
+++ b/doc/guides/platform/mlx5.rst
@@ -433,7 +433,7 @@ Run as Non-Root
^^^^^^^^^^^^^^^
Hugepage and resource limit setup are documented
-in the :ref:`common Linux guide <Running_Without_Root_Privileges>`.
+in the :ref:`common Linux guide <linux_gsg_running_without_root_privileges>`.
This PMD can operate without access to physical addresses,
therefore it does not require ``SYS_ADMIN`` to access ``/proc/self/pagemaps``.
Note that this requirement may still come from other drivers.
diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst
index f266f81f4e..7015050b31 100644
--- a/doc/guides/platform/octeontx.rst
+++ b/doc/guides/platform/octeontx.rst
@@ -43,7 +43,7 @@ OCTEON TX compatible board:
The PF driver and the required microcode for the crypto offload block will be
available with OCTEON TX SDK only. So for using crypto offload, follow the steps
- mentioned in :ref:`setup_platform_using_OCTEON_TX_SDK`.
+ mentioned in :ref:`octeontx_setup_platform_using_octeon_tx_sdk`.
#. **ARM64 Tool Chain**
@@ -58,11 +58,12 @@ OCTEON TX compatible board:
As an alternative method, Platform drivers can also be executed using images provided
as part of SDK from Cavium. The SDK includes all the above prerequisites necessary
- to bring up a OCTEON TX board. Please refer :ref:`setup_platform_using_OCTEON_TX_SDK`.
+ to bring up a OCTEON TX board.
+ Please refer :ref:`octeontx_setup_platform_using_octeon_tx_sdk`.
#. Follow the DPDK :doc:`/linux_gsg/index` to setup the basic DPDK environment.
-.. _setup_platform_using_OCTEON_TX_SDK:
+.. _octeontx_setup_platform_using_octeon_tx_sdk:
Setup Platform Using OCTEON TX SDK
----------------------------------
diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
index 6fd849436d..dc1e2b7c7f 100644
--- a/doc/guides/prog_guide/bbdev.rst
+++ b/doc/guides/prog_guide/bbdev.rst
@@ -641,7 +641,7 @@ is 1. Therefore, it requires to get processed in TB-mode.
The figure below visualizes the encoding of CBs using BBDEV interface in
TB-mode. CB-mode is a reduced version, where only one CB exists:
-.. _figure_turbo_tb_encode:
+.. _bbdev_figure_turbo_tb_encode:
.. figure:: img/turbo_tb_encode.*
@@ -733,7 +733,7 @@ with enough room for the output data.
The figure below visualizes the decoding of CBs using BBDEV interface in
TB-mode. CB-mode is a reduced version, where only one CB exists:
-.. _figure_turbo_tb_decode:
+.. _bbdev_figure_turbo_tb_decode:
.. figure:: img/turbo_tb_decode.*
@@ -878,7 +878,7 @@ calculated by BBDEV before signalling to the driver.
The number of CBs in the group should not be confused with ``c``, the
total number of CBs in the full TB (``C`` as per 3GPP TS 38.212 section 5.2.2)
-Figure :numref:`figure_turbo_tb_encode` above
+Figure :numref:`bbdev_figure_turbo_tb_encode` above
showing the Turbo encoding of CBs using BBDEV interface in TB-mode
is also valid for LDPC encode.
@@ -1112,7 +1112,7 @@ total number of CBs in the full TB (``C`` as per 3GPP TS 38.212 section 5.2.2)
The ``length`` is total size of the CBs inclusive of any CRC24A and CRC24B in
case they were appended by the application.
-Figure :numref:`figure_turbo_tb_decode` above
+Figure :numref:`bbdev_figure_turbo_tb_decode` above
showing the Turbo decoding of CBs using BBDEV interface in TB-mode
is also valid for LDPC decode.
diff --git a/doc/guides/prog_guide/efd_lib.rst b/doc/guides/prog_guide/efd_lib.rst
index b6296961db..df91c62a85 100644
--- a/doc/guides/prog_guide/efd_lib.rst
+++ b/doc/guides/prog_guide/efd_lib.rst
@@ -42,26 +42,26 @@ function can be used to direct a certain flow to a target based on
the flow key (e.g. ``h(key) mod n``) where h(key) is the hash value of the
flow key and n is the number of possible targets.
-.. _figure_efd1:
+.. _efd_figure_1:
.. figure:: img/efd_i1.*
Load Balancing Using Front End Node
-In this scheme (:numref:`figure_efd1`), the front end server/distributor/load balancer
+In this scheme (:numref:`efd_figure_1`), the front end server/distributor/load balancer
extracts the flow key from the input packet and applies a computation to determine where
this flow should be directed. Intuitively, this scheme is very simple
and requires no state to be kept at the front end node, and hence,
storage requirements are minimum.
-.. _figure_efd2:
+.. _efd_figure_2:
.. figure:: img/efd_i2.*
Consistent Hashing
A widely used flow distributor that belongs to the same category of
-computation-based schemes is ``consistent hashing``, shown in :numref:`figure_efd2`.
+computation-based schemes is ``consistent hashing``, shown in :numref:`efd_figure_2`.
Target destinations (shown in red) are hashed into the same space as the flow
keys (shown in blue), and keys are mapped to the nearest target in a clockwise
fashion. Dynamically adding and removing targets with consistent hashing
@@ -87,13 +87,13 @@ has the flexibility of assigning a given flow to any given
target. The flow table (e.g. DPDK RTE Hash Library) will simply store
both the flow key and the target value.
-.. _figure_efd3:
+.. _efd_figure_3:
.. figure:: img/efd_i3.*
Table Based Flow Distribution
-As shown in :numref:`figure_efd3`, when doing a lookup, the flow-table
+As shown in :numref:`efd_figure_3`, when doing a lookup, the flow-table
is indexed with the hash of the flow key and the keys (more than one is possible,
because of hash collision) stored in this index and corresponding values
are retrieved. The retrieved key(s) is matched with the input flow key
@@ -114,7 +114,7 @@ schemes. It doesn't require the large storage necessary for
flow-table based schemes (because EFD doesn't store the key as explained
below), and it supports any arbitrary value for any given key.
-.. _figure_efd4:
+.. _efd_figure_4:
.. figure:: img/efd_i4.*
@@ -122,7 +122,7 @@ below), and it supports any arbitrary value for any given key.
The basic idea of EFD is when a given key is to be inserted, a family of
hash functions is searched until the correct hash function that maps the
-input key to the correct value is found, as shown in :numref:`figure_efd4`.
+input key to the correct value is found, as shown in :numref:`efd_figure_4`.
However, rather than explicitly storing all keys and their associated values,
EFD stores only indices of hash functions that map keys to values, and
thereby consumes much less space than conventional flow-based tables.
@@ -130,7 +130,7 @@ The lookup operation is very simple, similar to a computational-based
scheme: given an input key the lookup operation is reduced to hashing
that key with the correct hash function.
-.. _figure_efd5:
+.. _efd_figure_5:
.. figure:: img/efd_i5.*
@@ -138,7 +138,7 @@ that key with the correct hash function.
Intuitively, finding a hash function that maps each of a large number
(millions) of input keys to the correct output value is effectively
-impossible, as a result EFD, as shown in :numref:`figure_efd5`,
+impossible, as a result EFD, as shown in :numref:`efd_figure_5`,
breaks the problem into smaller pieces (divide and conquer).
EFD divides the entire input key set into many small groups.
Each group consists of approximately 20-28 keys (a configurable parameter
@@ -162,7 +162,7 @@ Example of EFD Library Usage
EFD can be used along the data path of many network functions and middleboxes.
As previously mentioned, it can used as an index table for
<key,value> pairs, meta-data for objects, a flow-level load balancer, etc.
-:numref:`figure_efd6` shows an example of using EFD as a flow-level load
+:numref:`efd_figure_6` shows an example of using EFD as a flow-level load
balancer, where flows are received at a front end server before being forwarded
to the target back end server for processing. The system designer would
deterministically co-locate flows together in order to minimize cross-server
@@ -170,13 +170,13 @@ interaction.
(For example, flows requesting certain webpage objects are co-located
together, to minimize forwarding of common objects across servers).
-.. _figure_efd6:
+.. _efd_figure_6:
.. figure:: img/efd_i6.*
EFD as a Flow-Level Load Balancer
-As shown in :numref:`figure_efd6`, the front end server will have an EFD table that
+As shown in :numref:`efd_figure_6`, the front end server will have an EFD table that
stores for each group what is the perfect hash index that satisfies the
correct output. Because the table size is small and fits in cache (since
keys are not stored), it sustains a large number of flows (N*X, where N
@@ -307,30 +307,30 @@ stores two version of the <key,value> table:
the online version, as previously mentioned, the keys are not stored
but rather only the hash index for each group.
-.. _figure_efd7:
+.. _efd_figure_7:
.. figure:: img/efd_i7.*
Group Assignment
-:numref:`figure_efd7` depicts the group assignment for 7 flow keys as an example.
+:numref:`efd_figure_7` depicts the group assignment for 7 flow keys as an example.
Given a flow key, a hash function (in our implementation CRC hash) is
used to get the group id. As shown in the figure, the groups can be
unbalanced. (We highlight group rebalancing further below).
-.. _figure_efd8:
+.. _efd_figure_8:
.. figure:: img/efd_i8.*
Perfect Hash Search - Assigned Keys & Target Value
-Focusing on one group that has four keys, :numref:`figure_efd8` depicts the search
+Focusing on one group that has four keys, :numref:`efd_figure_8` depicts the search
algorithm to find the perfect hash function. Assuming that the target
value bit for the keys is as shown in the figure, then the online EFD
table will store a 16 bit hash index and 16 bit lookup table per group
per value bit.
-.. _figure_efd9:
+.. _efd_figure_9:
.. figure:: img/efd_i9.*
@@ -338,11 +338,11 @@ per value bit.
For a given keyX, a hash function ``(h(keyX, seed1) + index * h(keyX, seed2))``
is used to point to certain bit index in the 16bit lookup_table value,
-as shown in :numref:`figure_efd9`.
+as shown in :numref:`efd_figure_9`.
The insert function will brute force search for all possible values for the
hash index until a non conflicting lookup_table is found.
-.. _figure_efd10:
+.. _efd_figure_10:
.. figure:: img/efd_i10.*
@@ -352,7 +352,7 @@ For example, since both key3 and key7 have a target bit value of 1, it
is okay if the hash function of both keys point to the same bit in the
lookup table. A conflict will occur if a hash index is used that maps
both Key4 and Key7 to the same index in the lookup_table,
-as shown in :numref:`figure_efd10`, since their target value bit are not the same.
+as shown in :numref:`efd_figure_10`, since their target value bit are not the same.
Once a hash index is found that produces a lookup_table with no
contradictions, this index is stored for this group. This procedure is
repeated for each bit of target value.
@@ -365,13 +365,13 @@ inserts, and hence, EFD's design optimizes for the lookups which are
faster and much simpler than the slower insert procedure (inserts are
slow, because of perfect hash search as previously discussed).
-.. _figure_efd11:
+.. _efd_figure_11:
.. figure:: img/efd_i11.*
EFD Lookup Operation
-:numref:`figure_efd11` depicts the lookup operation for EFD. Given an input key,
+:numref:`efd_figure_11` depicts the lookup operation for EFD. Given an input key,
the group id is computed (using CRC hash) and then the hash index for this
group is retrieved from the EFD table. Using the retrieved hash index,
the hash function ``h(key, seed1) + index *h(key, seed2)`` is used which will
@@ -394,17 +394,17 @@ index. In order to achieve this target, groups are rebalanced during
runtime inserts, and keys are moved around from a busy group to a less
crowded group as the more keys are inserted.
-.. _figure_efd12:
+.. _efd_figure_12:
.. figure:: img/efd_i12.*
Runtime Group Rebalancing
-:numref:`figure_efd12` depicts the high level idea of group rebalancing, given an
+:numref:`efd_figure_12` depicts the high level idea of group rebalancing, given an
input key the hash result is split into two parts a chunk id and 8-bit
bin id. A chunk contains 64 different groups and 256 bins (i.e. for any
given bin it can map to 4 distinct groups). When a key is inserted, the
-bin id is computed, for example in :numref:`figure_efd12` bin_id=2,
+bin id is computed, for example in :numref:`efd_figure_12` bin_id=2,
and since each bin can be mapped to one of four different groups (2 bit storage),
the four possible mappings are evaluated and the one that will result in a
balanced key distribution across these four is selected the mapping result
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index f63325bd24..f8d172097b 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -241,7 +241,7 @@ Multiple page sizes can be specified by repeating the option::
can later be mapped into that preallocated VA space (if dynamic memory mode
is enabled), and can optionally be mapped into it at startup.
-.. _hugepage_mapping:
+.. _eal_hugepage_mapping:
Hugepage Mapping
^^^^^^^^^^^^^^^^
@@ -277,7 +277,7 @@ that share a hugetlbfs mount point.
Each backing file by default corresponds to one hugepage,
it is opened and locked for the entire time the hugepage is used.
This may exhaust the number of open files limit (``NOFILE``).
-See :ref:`segment-file-descriptors` section
+See :ref:`eal_segment_file_descriptors` section
on how the number of open backing file descriptors can be reduced.
In dynamic memory mode, EAL removes a backing hugepage file
@@ -291,7 +291,7 @@ if ``--huge-unlink`` is given to avoid polluting hugetlbfs.
However, since it disables multi-process anyway,
using anonymous mapping (``--in-memory``) is recommended instead.
-:ref:`EAL memory allocator <malloc>` relies on hugepages being zero-filled.
+:ref:`EAL memory allocator <eal_malloc>` relies on hugepages being zero-filled.
Hugepages are cleared by the kernel when a file in hugetlbfs or its part
is mapped for the first time system-wide
to prevent data leaks from previous users of the same hugepage.
@@ -320,10 +320,10 @@ DPDK memory manager can provide file descriptors for memory segments,
which are required for VirtIO with vhost-user backend.
This can exhaust the number of open files limit (``NOFILE``)
despite not creating any visible files.
-See :ref:`segment-file-descriptors` section
+See :ref:`eal_segment_file_descriptors` section
on how the number of open file descriptors used by EAL can be reduced.
-.. _segment-file-descriptors:
+.. _eal_segment_file_descriptors:
Segment File Descriptors
^^^^^^^^^^^^^^^^^^^^^^^^
@@ -663,7 +663,7 @@ the desired addressing mode when virtual devices that are not directly attached
To facilitate forcing the IOVA mode to a specific value the EAL command line option ``--iova-mode`` can
be used to select either physical addressing('pa') or virtual addressing('va').
-.. _max_simd_bitwidth:
+.. _eal_max_simd_bitwidth:
Max SIMD bitwidth
@@ -782,7 +782,7 @@ There are two kinds of non-EAL pthreads:
For non registered non-EAL pthread (with a LCORE_ID_ANY *_lcore_id*), some libraries will use an alternative unique ID (e.g. TID), some will not be impacted at all, and some will work but with limitations (e.g. timer and mempool libraries).
-All these impacts are mentioned in :ref:`known_issue_label` section.
+All these impacts are mentioned in :ref:`eal_known_issue_label` section.
Public Thread API
~~~~~~~~~~~~~~~~~
@@ -819,7 +819,7 @@ controlled with tools like taskset (Linux) or cpuset (FreeBSD),
- with affinity restricted to 2-3, the Control Threads will end up on
CPU 2 (main lcore, which is the default when no CPU is available).
-.. _known_issue_label:
+.. _eal_known_issue_label:
Known Issues
~~~~~~~~~~~~
@@ -977,7 +977,7 @@ We expect only 50% of CPU spend on packet IO.
echo 100000 > pkt_io/cpu.cfs_period_us
echo 50000 > pkt_io/cpu.cfs_quota_us
-.. _malloc:
+.. _eal_malloc:
Malloc
------
@@ -1061,7 +1061,7 @@ The key fields of the heap structure and their function are described below
Example of a malloc heap and malloc elements within the malloc library
-.. _malloc_elem:
+.. _eal_malloc_elem:
Structure: malloc_elem
""""""""""""""""""""""
@@ -1142,7 +1142,7 @@ Memory Allocation
^^^^^^^^^^^^^^^^^
On EAL initialization, all preallocated memory segments are setup as part of the
-malloc heap. This setup involves placing an :ref:`element header<malloc_elem>`
+malloc heap. This setup involves placing an :ref:`element header <eal_malloc_elem>`
with ``FREE`` at the start of each virtually contiguous segment of memory.
The ``FREE`` element is then added to the ``free_list`` for the malloc heap.
diff --git a/doc/guides/prog_guide/ethdev/qos_framework.rst b/doc/guides/prog_guide/ethdev/qos_framework.rst
index fcefa9d481..ef48b2a1b1 100644
--- a/doc/guides/prog_guide/ethdev/qos_framework.rst
+++ b/doc/guides/prog_guide/ethdev/qos_framework.rst
@@ -118,7 +118,7 @@ See `Worst Case Scenarios for Performance`_ for a more detailed discussion.
Scheduling Hierarchy
~~~~~~~~~~~~~~~~~~~~
-The scheduling hierarchy is shown in :numref:`figure_sched_hier_per_port`.
+The scheduling hierarchy is shown in :numref:`qos_figure_sched_hier_per_port`.
The first level of the hierarchy is the Ethernet TX port 1/10/40 GbE,
with subsequent hierarchy levels defined as subport, pipe, traffic class and queue.
@@ -127,7 +127,7 @@ Each traffic class is the representation of a different traffic type with specif
delay and jitter requirements, such as voice, video or data transfers.
Each queue hosts packets from one or multiple connections of the same type belonging to the same user.
-.. _figure_sched_hier_per_port:
+.. _qos_figure_sched_hier_per_port:
.. figure:: ../img/sched_hier_per_port.*
@@ -394,10 +394,10 @@ the processor should not attempt to access the data structure currently under pr
The only other work available is to execute different stages of the enqueue sequence of operations on other input packets,
thus resulting in a pipelined implementation for the enqueue operation.
-:numref:`figure_prefetch_pipeline` illustrates a pipelined implementation for the enqueue operation with 4 pipeline stages and each stage executing 2 different input packets.
+:numref:`qos_figure_prefetch_pipeline` illustrates a pipelined implementation for the enqueue operation with 4 pipeline stages and each stage executing 2 different input packets.
No input packet can be part of more than one pipeline stage at a given time.
-.. _figure_prefetch_pipeline:
+.. _qos_figure_prefetch_pipeline:
.. figure:: ../img/prefetch_pipeline.*
@@ -570,9 +570,9 @@ Traffic Shaping
The traffic shaping for subport and pipe is implemented using a token bucket per subport/per pipe.
Each token bucket is implemented using one saturated counter that keeps track of the number of available credits.
-The token bucket generic parameters and operations are presented in :numref:`table_qos_6` and :numref:`table_qos_7`.
+The token bucket generic parameters and operations are presented in :numref:`qos_table_6` and :numref:`qos_table_7`.
-.. _table_qos_6:
+.. _qos_table_6:
.. table:: Token Bucket Generic Parameters
@@ -587,7 +587,7 @@ The token bucket generic parameters and operations are presented in :numref:`tab
| | | | |
+---+------------------------+--------------------+---------------------------------------------------------+
-.. _table_qos_7:
+.. _qos_table_7:
.. table:: Token Bucket Generic Operations
@@ -612,10 +612,10 @@ The token bucket generic parameters and operations are presented in :numref:`tab
+---+------------------------+------------------------------------------------------------------------------+
To implement the token bucket generic operations described above,
-the current design uses the persistent data structure presented in :numref:`table_qos_8`,
-while the implementation of the token bucket operations is described in :numref:`table_qos_9`.
+the current design uses the persistent data structure presented in :numref:`qos_table_8`,
+while the implementation of the token bucket operations is described in :numref:`qos_table_9`.
-.. _table_qos_8:
+.. _qos_table_8:
.. table:: Token Bucket Persistent Data Structure
@@ -651,7 +651,7 @@ The bucket rate (in bytes per second) can be computed with the following formula
where, r = port line rate (in bytes per second).
-.. _table_qos_9:
+.. _qos_table_9:
.. table:: Token Bucket Operations
@@ -732,9 +732,9 @@ so there is no token bucket maintained in this context.
The upper limit for the traffic classes at the subport and
pipe levels is enforced by periodically refilling the subport / pipe traffic class credit counter,
out of which credits are consumed every time a packet is scheduled for that subport / pipe,
-as described in :numref:`table_qos_10` and :numref:`table_qos_11`.
+as described in :numref:`qos_table_10` and :numref:`qos_table_11`.
-.. _table_qos_10:
+.. _qos_table_10:
.. table:: Subport/Pipe Traffic Class Upper Limit Enforcement Persistent Data Structure
@@ -764,7 +764,7 @@ as described in :numref:`table_qos_10` and :numref:`table_qos_11`.
| | | | |
+---+-----------------------+-------+-----------------------------------------------------------------------+
-.. _table_qos_11:
+.. _qos_table_11:
.. table:: Subport/Pipe Traffic Class Upper Limit Enforcement Operations
@@ -804,9 +804,9 @@ as described in :numref:`table_qos_10` and :numref:`table_qos_11`.
Weighted Round Robin (WRR)
""""""""""""""""""""""""""
-The evolution of the WRR design solution for the lowest priority traffic class (best effort TC) from simple to complex is shown in :numref:`table_qos_12`.
+The evolution of the WRR design solution for the lowest priority traffic class (best effort TC) from simple to complex is shown in :numref:`qos_table_12`.
-.. _table_qos_12:
+.. _qos_table_12:
.. table:: Weighted Round Robin (WRR)
@@ -995,9 +995,9 @@ as a result of demand increase (when the watermark needs to be lowered) or deman
When demand is low, the watermark is set high to prevent it from impeding the subport member pipes from consuming more bandwidth.
The highest value for the watermark is picked as the highest rate configured for a subport member pipe.
-:numref:`table_qos_14` and :numref:`table_qos_15` illustrates the watermark operation.
+:numref:`qos_table_14` and :numref:`qos_table_15` illustrates the watermark operation.
-.. _table_qos_14:
+.. _qos_table_14:
.. table:: Watermark Propagation from Subport Level to Member Pipes at the Beginning of Each Traffic Class Upper Limit Enforcement Period
@@ -1048,7 +1048,7 @@ The highest value for the watermark is picked as the highest rate configured for
| | | |
+-----+---------------------------------+----------------------------------------------------+
-.. _table_qos_15:
+.. _qos_table_15:
.. table:: Watermark Calculation
@@ -1137,7 +1137,7 @@ If the number of queues is small,
then the performance of the port scheduler for the same level of active traffic is expected to be worse than
the performance of a small set of message passing queues.
-.. _Droppers:
+.. _qos_droppers:
Droppers
--------
@@ -1145,11 +1145,11 @@ Droppers
The purpose of the DPDK dropper is to drop packets arriving at a packet scheduler to avoid congestion.
The dropper supports the Proportional Integral Controller Enhanced (PIE), Random Early Detection (RED),
Weighted Random Early Detection (WRED), and tail drop algorithms.
-:numref:`figure_blk_diag_dropper` illustrates how the dropper integrates with the scheduler.
+:numref:`qos_figure_blk_diag_dropper` illustrates how the dropper integrates with the scheduler.
The DPDK currently does not support congestion management
so the dropper provides the only method for congestion avoidance.
-.. _figure_blk_diag_dropper:
+.. _qos_figure_blk_diag_dropper:
.. figure:: ../img/blk_diag_dropper.*
@@ -1177,10 +1177,10 @@ In the case of severe congestion, the dropper resorts to tail drop.
This occurs when a packet queue has reached maximum capacity and cannot store any more packets.
In this situation, all arriving packets are dropped.
-The flow through the dropper is illustrated in :numref:`figure_flow_tru_dropper`,
+The flow through the dropper is illustrated in :numref:`qos_figure_flow_tru_dropper`,
The RED/WRED/PIE algorithm is exercised first and tail drop second.
-.. _figure_flow_tru_dropper:
+.. _qos_figure_flow_tru_dropper:
.. figure:: ../img/flow_tru_dropper.*
@@ -1207,18 +1207,18 @@ The use cases supported by the dropper are:
* * Mark empty (record the time at which a packet queue becomes empty)
-The configuration use case is explained in :ref:`Configuration`,
-the enqueue operation is explained in :ref:`Enqueue_Operation`
-and the mark empty operation is explained in :ref:`Queue_Empty_Operation`.
+The configuration use case is explained in :ref:`qos_dropper_configuration`,
+the enqueue operation is explained in :ref:`qos_dropper_enqueue_operation`
+and the mark empty operation is explained in :ref:`qos_dropper_queue_empty_operation`.
-.. _Configuration:
+.. _qos_dropper_configuration:
Configuration
~~~~~~~~~~~~~
-A RED configuration contains the parameters given in :numref:`table_qos_16`.
+A RED configuration contains the parameters given in :numref:`qos_table_16`.
-.. _table_qos_16:
+.. _qos_table_16:
.. table:: RED Configuration Parameters
@@ -1249,9 +1249,9 @@ to a mark probability of 1/10 (that is, 1 in 10 packets will be dropped).
The EWMA filter weight parameter is specified as an inverse log value,
for example, a filter weight parameter value of 9 corresponds to a filter weight of 1/29.
-A PIE configuration contains the parameters given in :numref:`table_qos_16a`.
+A PIE configuration contains the parameters given in :numref:`qos_table_16a`.
-.. _table_qos_16a:
+.. _qos_table_16a:
.. table:: PIE Configuration Parameters
@@ -1279,16 +1279,16 @@ The format of these parameters is specified to the dropper module API
and can be fine-tuned within applications.
They could be made self-calculated for fine tuning within the apps.
-.. _Enqueue_Operation:
+.. _qos_dropper_enqueue_operation:
Enqueue Operation
~~~~~~~~~~~~~~~~~
-In the example shown in :numref:`figure_ex_data_flow_tru_dropper`, q (actual queue size) is the input value,
+In the example shown in :numref:`qos_figure_ex_data_flow_tru_dropper`, q (actual queue size) is the input value,
avg (average queue size) and count (number of packets since the last drop) are run-time values,
decision is the output value and the remaining values are configuration parameters.
-.. _figure_ex_data_flow_tru_dropper:
+.. _qos_figure_ex_data_flow_tru_dropper:
.. figure:: ../img/ex_data_flow_tru_dropper.*
@@ -1324,7 +1324,7 @@ Where:
.. note::
The filter weight, wq = 1/2^n, where n is the filter weight parameter value
- passed to the dropper module on configuration (see :ref:`Configuration`).
+ passed to the dropper module on configuration (see :ref:`qos_dropper_configuration`).
Average Queue Size Calculation when the Queue is Empty
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1414,10 +1414,10 @@ The method described in the :ref:`implementation section <qos_dropper_implementa
outperforms all of these approaches
in terms of run-time performance and memory requirements and
also achieves accuracy comparable to floating-point evaluation.
-:numref:`table_qos_17` lists the performance of each of these alternative approaches relative to the method that is used in the dropper.
+:numref:`qos_table_17` lists the performance of each of these alternative approaches relative to the method that is used in the dropper.
As can be seen, the floating-point implementation achieved the worst performance.
-.. _table_qos_17:
+.. _qos_table_17:
.. table:: Relative Performance of Alternative Approaches
@@ -1425,7 +1425,7 @@ As can be seen, the floating-point implementation achieved the worst performance
| Method | Relative Performance |
| | |
+====================================================================================+======================+
- | Current dropper method (see :ref:`Droppers`) | 100% |
+ | Current dropper method (see :ref:`qos_droppers`) | 100% |
| | |
+------------------------------------------------------------------------------------+----------------------+
| Fixed-point method with small (512B) look-up table | 148% |
@@ -1481,13 +1481,13 @@ Where:
* *maxth* = maximum threshold
-The calculation of the packet drop probability using Equation 3 is illustrated in :numref:`figure_pkt_drop_probability`.
+The calculation of the packet drop probability using Equation 3 is illustrated in :numref:`qos_figure_pkt_drop_probability`.
If the average queue size is below the minimum threshold, an arriving packet is enqueued.
If the average queue size is at or above the maximum threshold, an arriving packet is dropped.
If the average queue size is between the minimum and maximum thresholds,
a drop probability is calculated to determine if the packet should be enqueued or dropped.
-.. _figure_pkt_drop_probability:
+.. _qos_figure_pkt_drop_probability:
.. figure:: ../img/pkt_drop_probability.*
@@ -1513,7 +1513,7 @@ given in the reference document where a value of 1 is used instead.
It should be noted that the value pa computed from can be negative or greater than 1.
If this is the case, then a value of 1 should be used instead.
-The initial and actual drop probabilities are shown in :numref:`figure_drop_probability_graph`.
+The initial and actual drop probabilities are shown in :numref:`qos_figure_drop_probability_graph`.
The actual drop probability is shown for the case where
the formula given in the reference document1 is used (blue curve)
and also for the case where the formula implemented in the dropper module,
@@ -1523,7 +1523,7 @@ compared to the mark probability configuration parameter specified by the user.
The choice to deviate from the reference document is simply a design decision and
one that has been taken by other RED implementations, for example, FreeBSD* ALTQ RED.
-.. _figure_drop_probability_graph:
+.. _qos_figure_drop_probability_graph:
.. figure:: ../img/drop_probability_graph.*
@@ -1531,7 +1531,7 @@ one that has been taken by other RED implementations, for example, FreeBSD* ALTQ
a Factor 1 (Blue Curve) and a Factor 2 (Red Curve)
-.. _Queue_Empty_Operation:
+.. _qos_dropper_queue_empty_operation:
Queue Empty Operation
~~~~~~~~~~~~~~~~~~~~~
@@ -1565,7 +1565,7 @@ Integration with the DPDK QoS Scheduler Sample Application
The DPDK QoS Scheduler Application reads a configuration file on start-up.
The configuration file includes a section containing RED parameters.
-The format of these parameters is described in :ref:`Configuration`.
+The format of these parameters is described in :ref:`qos_dropper_configuration`.
A sample RED configuration is shown below. In this example, the queue size is 64 packets.
.. note::
@@ -1645,9 +1645,9 @@ A sample RED configuration is shown below. In this example, the queue size is 64
tc 12 wred weight = 9 9 9
With this configuration file, the RED configuration that applies to green,
-yellow and red packets in traffic class 0 is shown in :numref:`table_qos_18`.
+yellow and red packets in traffic class 0 is shown in :numref:`qos_table_18`.
-.. _table_qos_18:
+.. _qos_table_18:
.. table:: RED Configuration Corresponding to RED Configuration File
diff --git a/doc/guides/prog_guide/ethdev/traffic_metering_and_policing.rst b/doc/guides/prog_guide/ethdev/traffic_metering_and_policing.rst
index de8d643fb1..50ae832f61 100644
--- a/doc/guides/prog_guide/ethdev/traffic_metering_and_policing.rst
+++ b/doc/guides/prog_guide/ethdev/traffic_metering_and_policing.rst
@@ -72,7 +72,7 @@ The processing done for each input packet hitting an MTR object is:
API walk-through
----------------
-.. _figure_rte_mtr_chaining:
+.. _mtr_figure_chaining:
.. figure:: ../img/rte_mtr_meter_chaining.*
@@ -107,7 +107,7 @@ traffic meter and policing library.
* Adding one (or multiple) actions of the type ``RTE_FLOW_ACTION_TYPE_METER``
to the list of meter actions (``struct rte_mtr_meter_policy_params::actions``)
- specified per color as shown in :numref:`figure_rte_mtr_chaining`.
+ specified per color as shown in :numref:`mtr_figure_chaining`.
#. The ``rte_mtr_meter_profile_get()`` and ``rte_mtr_meter_policy_get()``
API functions are available for getting the object pointers directly.
diff --git a/doc/guides/prog_guide/eventdev/dispatcher_lib.rst b/doc/guides/prog_guide/eventdev/dispatcher_lib.rst
index 262343d1bf..265787c569 100644
--- a/doc/guides/prog_guide/eventdev/dispatcher_lib.rst
+++ b/doc/guides/prog_guide/eventdev/dispatcher_lib.rst
@@ -200,7 +200,7 @@ further decouple sub-modules. However, the dispatcher may impose an
upper limit of the number of handlers. In addition, installing a large
number of handlers increase dispatcher overhead, although this does
not necessarily translate to a system-level performance degradation. See
-the section on :ref:`Event Clustering` for more information.
+the section on :ref:`dispatcher_event_clustering` for more information.
Handler registration and unregistration cannot safely be done while
the dispatcher's service function is running on any lcore.
@@ -242,7 +242,7 @@ until the destination handler for both events have been determined.
The events provided in a single process call always belong to the same
event port dequeue burst.
-.. _Event Clustering:
+.. _dispatcher_event_clustering:
Event Clustering
^^^^^^^^^^^^^^^^
diff --git a/doc/guides/prog_guide/fib_lib.rst b/doc/guides/prog_guide/fib_lib.rst
index ea99670b5a..162ae93ea7 100644
--- a/doc/guides/prog_guide/fib_lib.rst
+++ b/doc/guides/prog_guide/fib_lib.rst
@@ -99,9 +99,9 @@ The main elements of the dataplane struct for the DIR-24-8 algorithm are:
* TBL8: An array of ``num_tbl8`` tbl8 groups.
-The lookup algorithms logic can be seen in :numref:`figure_dir_24_8_alg`:
+The lookup algorithms logic can be seen in :numref:`fib_figure_dir_24_8_alg`:
-.. _figure_dir_24_8_alg:
+.. _fib_figure_dir_24_8_alg:
.. figure:: img/dir_24_8_alg.*
diff --git a/doc/guides/prog_guide/generic_receive_offload_lib.rst b/doc/guides/prog_guide/generic_receive_offload_lib.rst
index f2b5ff9eed..565a630c7f 100644
--- a/doc/guides/prog_guide/generic_receive_offload_lib.rst
+++ b/doc/guides/prog_guide/generic_receive_offload_lib.rst
@@ -109,7 +109,7 @@ In DPDK GRO, we use a key-based algorithm to address the two challenges.
Key-based Reassembly Algorithm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-:numref:`figure_gro-key-algorithm` illustrates the procedure of the
+:numref:`gro_figure_key_algorithm` illustrates the procedure of the
key-based algorithm. Packets are classified into "flows" by some header
fields (we call them as "key"). To process an input packet, the algorithm
searches for a matched "flow" (i.e., the same value of key) for the
@@ -131,7 +131,7 @@ The key-based algorithm has two characters:
- storing out-of-order packets makes it possible to merge later (address
challenge 2).
-.. _figure_gro-key-algorithm:
+.. _gro_figure_key_algorithm:
.. figure:: img/gro-key-algorithm.*
:align: center
diff --git a/doc/guides/prog_guide/generic_segmentation_offload_lib.rst b/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
index 618297044b..817b18588c 100644
--- a/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
+++ b/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
@@ -91,9 +91,9 @@ original packet.
The combination of the 'header' segment and the 'data' segment constitutes a
single logical output GSO segment of the original packet. This is illustrated
-in :numref:`figure_gso-output-segment-format`.
+in :numref:`gso_figure_output_segment_format`.
-.. _figure_gso-output-segment-format:
+.. _gso_figure_output_segment_format:
.. figure:: img/gso-output-segment-format.*
:align: center
@@ -126,14 +126,14 @@ all of the data 'contained' in the output segment reaches ``segsz``. This
ensures that the amount of data contained within each output segment is uniform,
with the possible exception of the last segment, as previously described.
-:numref:`figure_gso-three-seg-mbuf` illustrates an example of a three-part
+:numref:`gso_figure_three_seg_mbuf` illustrates an example of a three-part
output segment. In this example, the output segment needs to include data from
the end of one input segment, and the beginning of another. To achieve this,
an additional indirect mbuf is chained to the second part of the output segment,
and is attached to the next input segment (i.e. it points to the data in the
next input segment).
-.. _figure_gso-three-seg-mbuf:
+.. _gso_figure_three_seg_mbuf:
.. figure:: img/gso-three-seg-mbuf.*
:align: center
diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst
index f1264fdcb6..03559f3b32 100644
--- a/doc/guides/prog_guide/graph_lib.rst
+++ b/doc/guides/prog_guide/graph_lib.rst
@@ -418,7 +418,7 @@ Graph feature arc is an abstraction to manage more than one network protocols
Feature arc abstraction is introduced as an optional functionality
to the graph library.
Feature arc is a ``NOP`` to application which skips
- :ref:`feature arc initialization <Feature_Arc_Initialization>`
+ :ref:`feature arc initialization <graph_feature_arc_initialization>`
Runtime network configurability
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -456,7 +456,7 @@ Feature arc provides application to overload default node path
by providing hook points (like netfilter)
to insert out-of-tree or another protocol nodes in packet path.
-.. _Control_Data_Plane_Synchronization:
+.. _graph_control_data_plane_synchronization:
Control/Data plane synchronization
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -477,7 +477,7 @@ Furthermore, when IPsec gets disabled for same ``[feature, index]`` in later poi
cleanup would be required to free resources associated with SA.
Cleanup can only be done in control thread when it ensures that no worker thread is using the SA.
For this use case, application can use RCU mechanism provided with enable/disable API.
-See :ref:`notifier_cb <Feature_Notifier_Cb>`.
+See :ref:`notifier_cb <graph_feature_notifier_cb>`.
Objects
~~~~~~~
@@ -487,7 +487,7 @@ Feature
Feature is analogous to a protocol.
-.. _Feature_Nodes:
+.. _graph_feature_nodes:
Features nodes
^^^^^^^^^^^^^^
@@ -498,7 +498,7 @@ and are part of a unique arc.
Not all nodes in graph required to be made feature nodes.
-.. _Start_Node:
+.. _graph_start_node:
Start node
^^^^^^^^^^
@@ -509,7 +509,7 @@ Each feature arc object has unique ``start node``.
It can be a new node or any existing node in a graph.
Start node is not counted as a feature node in an arc.
-.. _End_Feature_Node:
+.. _graph_end_feature_node:
End feature node
^^^^^^^^^^^^^^^^
@@ -525,7 +525,7 @@ this node does not uses any feature arc fast path API.
Feature arc
^^^^^^^^^^^
-.. _Figure_Arc_1:
+.. _graph_figure_arc_1:
.. figure:: img/feature_arc-1.*
:alt: feature-arc-1
@@ -537,13 +537,13 @@ Feature arc
An ordered list of feature nodes in a given network layer is called as feature arc.
It consists of three objects:
-- :ref:`Start_Node`
-- :ref:`End_Feature_Node`
-- :ref:`Zero or more feature nodes <Feature_Nodes>`
+- :ref:`graph_start_node`
+- :ref:`graph_end_feature_node`
+- :ref:`Zero or more feature nodes <graph_feature_nodes>`
-In order to :ref:`create <Feature_Arc_Registration>` a feature arc object,
+In order to :ref:`create <graph_feature_arc_registration>` a feature arc object,
only ``start node`` and ``end feature node`` are required.
-Once created, feature nodes can be :ref:`added <Feature_Registration>` to the arc.
+Once created, feature nodes can be :ref:`added <graph_feature_registration>` to the arc.
Feature data
^^^^^^^^^^^^
@@ -565,18 +565,18 @@ the feature registration adds provided node to a feature arc object.
During registration, no memory is allocated associated with any feature arc.
Actual memory allocation, object creation and connecting of nodes via edges
corresponding to all registered feature arcs happens as part of
- :ref:`feature arc initialization <Feature_Arc_Initialization>`.
+ :ref:`feature arc initialization <graph_feature_arc_initialization>`.
-.. _Feature_Arc_Registration:
+.. _graph_feature_arc_registration:
Feature arc registration
************************
A feature arc object creation require ``feature arc registration``.
Once registered, feature arc is created as part of
-:ref:`initialization <Feature_Arc_Initialization>`.
+:ref:`initialization <graph_feature_arc_initialization>`.
A feature arc is registered via ``RTE_GRAPH_FEATURE_ARC_REGISTER()``.
-An arc shown in :ref:`figure <Figure_Arc_1>` can be registered as follows:
+An arc shown in :ref:`figure <graph_figure_arc_1>` can be registered as follows:
.. code-block:: c
@@ -608,7 +608,7 @@ An arc shown in :ref:`figure <Figure_Arc_1>` can be registered as follows:
Feature arc can also be created using ``rte_graph_feature_arc_create()`` API as well.
-.. _Feature_Registration:
+.. _graph_feature_registration:
Feature registration
********************
@@ -618,7 +618,7 @@ which would be added to a unique ``arc``.
A feature nodes needs to know ``arc name`` to which it wants to connect to.
Registration happens via ``RTE_GRAPH_FEATURE_REGISTER()``.
-A ``Feature-1`` shown in :ref:`figure <Figure_Arc_1>` can be registered as follows:
+A ``Feature-1`` shown in :ref:`figure <graph_figure_arc_1>` can be registered as follows:
.. code-block:: c
@@ -645,7 +645,7 @@ A ``Feature-1`` shown in :ref:`figure <Figure_Arc_1>` can be registered as follo
Advance parameters
``````````````````
-.. _Figure_Arc_2:
+.. _graph_figure_arc_2:
.. figure:: img/feature_arc-2.*
:alt: feature-arc-2
@@ -692,7 +692,7 @@ it can be defined as shown above.
Similarly, if ``Feature-2`` needs to run before ``Custom-Feature`` but after ``Feature-1``,
it can be done as shown above.
-.. _Feature_Notifier_Cb:
+.. _graph_feature_notifier_cb:
notifier_cb()
.............
@@ -713,14 +713,14 @@ Application also needs to call ``rte_rcu_qsbr_quiescent()`` in worker thread
override_index_cb()
....................
-A feature arc is :ref:`registered <Feature_Arc_Registration>`
+A feature arc is :ref:`registered <graph_feature_arc_registration>`
to operate on certain number of ``max_indexes``.
If particular feature like to overload this ``max_indexes``
with a larger value, it can do so by returning larger value in this callback.
In case of multiple features, largest value returned by any feature
would be selected for creating feature arc.
-.. _Feature_Arc_Initialization:
+.. _graph_feature_arc_initialization:
Initializing Feature arc
^^^^^^^^^^^^^^^^^^^^^^^^
@@ -774,8 +774,8 @@ using ``rte_graph_feature_enable()`` and ``rte_graph_feature_disable()`` functio
.. note::
RCU argument is optional argument to enable/disable API.
- See :ref:`Control_Data_Plane_Synchronization`
- and :ref:`notifier_cb <Feature_Notifier_Cb>` for more details on when RCU is needed.
+ See :ref:`graph_control_data_plane_synchronization`
+ and :ref:`notifier_cb <graph_feature_notifier_cb>` for more details on when RCU is needed.
Fast path traversal rules
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -783,7 +783,7 @@ Fast path traversal rules
``Start node``
**************
-If feature arc is :ref:`initialized <Feature_Arc_Initialization>`,
+If feature arc is :ref:`initialized <graph_feature_arc_initialization>`,
``start_node_feature_process_fn()`` will be called by ``rte_graph_walk()``
instead of node's original ``process()``.
This function should allow packets to enter arc path
@@ -845,7 +845,7 @@ whenever any feature is enabled at runtime.
*****************
Following code-snippet explains fast path traversal rule for ``Feature-1``
-:ref:`Feature_Nodes` shown in :ref:`figure <Figure_Arc_2>`.
+:ref:`graph_feature_nodes` shown in :ref:`figure <graph_figure_arc_2>`.
.. code-block:: c
diff --git a/doc/guides/prog_guide/mbuf_lib.rst b/doc/guides/prog_guide/mbuf_lib.rst
index 8c4c038cbf..a7278a0b63 100644
--- a/doc/guides/prog_guide/mbuf_lib.rst
+++ b/doc/guides/prog_guide/mbuf_lib.rst
@@ -42,16 +42,16 @@ Message buffers may be used to carry control information, packets, events,
and so on between different entities in the system.
Message buffers may also use their buffer pointers to point to other message buffer data sections or other structures.
-:numref:`figure_mbuf1` and :numref:`figure_mbuf2` show some of these scenarios.
+:numref:`mbuf_figure_1` and :numref:`mbuf_figure_2` show some of these scenarios.
-.. _figure_mbuf1:
+.. _mbuf_figure_1:
.. figure:: img/mbuf1.*
An mbuf with One Segment
-.. _figure_mbuf2:
+.. _mbuf_figure_2:
.. figure:: img/mbuf2.*
diff --git a/doc/guides/prog_guide/mempool_lib.rst b/doc/guides/prog_guide/mempool_lib.rst
index 9bbe829411..7d8fb27b01 100644
--- a/doc/guides/prog_guide/mempool_lib.rst
+++ b/doc/guides/prog_guide/mempool_lib.rst
@@ -47,9 +47,9 @@ When running an application, the EAL command line options provide the ability to
Examples of alignment for different DIMM architectures are shown in
-:numref:`figure_memory-management` and :numref:`figure_memory-management2`.
+:numref:`mempool_figure_memory_management` and :numref:`mempool_figure_memory_management2`.
-.. _figure_memory-management:
+.. _mempool_figure_memory_management:
.. figure:: img/memory-management.*
@@ -61,7 +61,7 @@ In this case, the assumption is that a packet is 16 blocks of 64 bytes, which is
The Intel® 5520 chipset has three channels, so in most cases,
no padding is required between objects (except for objects whose size are n x 3 x 64 bytes blocks).
-.. _figure_memory-management2:
+.. _mempool_figure_memory_management2:
.. figure:: img/memory-management2.*
@@ -98,9 +98,9 @@ This internal cache can be enabled or disabled at creation of the pool.
The maximum size of the cache is static and is defined at compilation time (RTE_MEMPOOL_CACHE_MAX_SIZE).
-:numref:`figure_mempool` shows a cache in operation.
+:numref:`mempool_figure_cache` shows a cache in operation.
-.. _figure_mempool:
+.. _mempool_figure_cache:
.. figure:: img/mempool.*
diff --git a/doc/guides/prog_guide/packet_classif_access_ctrl.rst b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
index ea446ed2ab..ba25e9e3e4 100644
--- a/doc/guides/prog_guide/packet_classif_access_ctrl.rst
+++ b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
@@ -410,7 +410,7 @@ At startup ACL library determines the highest available classify method for the
.. note::
Runtime algorithm selection obeys EAL max SIMD bitwidth parameter.
- For more details about expected behaviour please see :ref:`max_simd_bitwidth`
+ For more details about expected behaviour please see :ref:`eal_max_simd_bitwidth`
Application Programming Interface (API) Usage
---------------------------------------------
diff --git a/doc/guides/prog_guide/packet_framework.rst b/doc/guides/prog_guide/packet_framework.rst
index a6b80899c3..5d43242539 100644
--- a/doc/guides/prog_guide/packet_framework.rst
+++ b/doc/guides/prog_guide/packet_framework.rst
@@ -39,9 +39,9 @@ one of the table entries (on lookup hit) or the default table entry (on lookup m
provides the set of actions to be applied on the current packet,
as well as the next hop for the packet, which can be either another table, an output port or packet drop.
-An example of packet processing pipeline is presented in :numref:`figure_figure32`:
+An example of packet processing pipeline is presented in :numref:`packet_framework_figure_32`:
-.. _figure_figure32:
+.. _packet_framework_figure_32:
.. figure:: img/figure32.*
@@ -55,9 +55,10 @@ Port Library Design
Port Types
~~~~~~~~~~
-:numref:`table_qos_19` is a non-exhaustive list of ports that can be implemented with the Packet Framework.
+:numref:`packet_framework_table_qos_19` is a non-exhaustive list of ports
+that can be implemented with the Packet Framework.
-.. _table_qos_19:
+.. _packet_framework_table_qos_19:
.. table:: Port Types
@@ -136,9 +137,10 @@ Table Library Design
Table Types
~~~~~~~~~~~
-:numref:`table_qos_21` is a non-exhaustive list of types of tables that can be implemented with the Packet Framework.
+:numref:`packet_framework_table_qos_21` is a non-exhaustive list of types of tables
+that can be implemented with the Packet Framework.
-.. _table_qos_21:
+.. _packet_framework_table_qos_21:
.. table:: Table Types
@@ -207,9 +209,9 @@ Table Interface
Each table is required to implement an abstract interface that defines the initialization
and run-time operation of the table.
-The table abstract interface is described in :numref:`table_qos_29_1`.
+The table abstract interface is described in :numref:`packet_framework_table_qos_29_1`.
-.. _table_qos_29_1:
+.. _packet_framework_table_qos_29_1:
.. table:: Table Abstract Interface
@@ -316,9 +318,10 @@ considering *n_bits* as the number of bits set in *bucket_mask = n_buckets - 1*,
this means that all the keys that end up in the same hash table bucket have the lower *n_bits* of their signature identical.
In order to reduce the number of keys in the same bucket (collisions), the number of hash table buckets needs to be increased.
-In packet processing context, the sequence of operations involved in hash table operations is described in :numref:`figure_figure33`:
+In packet processing context, the sequence of operations involved in hash table operations
+is described in :numref:`packet_framework_figure_33`:
-.. _figure_figure33:
+.. _packet_framework_figure_33:
.. figure:: img/figure33.*
@@ -363,9 +366,10 @@ The MAC address of the next hop station becomes the destination MAC address of t
Hash Table Types
^^^^^^^^^^^^^^^^
-:numref:`table_qos_22` lists the hash table configuration parameters shared by all different hash table types.
+:numref:`packet_framework_table_qos_22` lists the hash table configuration parameters
+shared by all different hash table types.
-.. _table_qos_22:
+.. _packet_framework_table_qos_22:
.. table:: Configuration Parameters Common for All Hash Table Types
@@ -522,17 +526,19 @@ This avoids the important cost associated with flushing the CPU core execution p
Configurable Key Size Hash Table
""""""""""""""""""""""""""""""""
-:numref:`figure_figure34`, :numref:`table_qos_25` and :numref:`table_qos_26` detail the main data structures used to implement configurable key size hash tables (either LRU or extendable bucket,
-either with pre-computed signature or "do-sig").
+:numref:`packet_framework_figure_34`, :numref:`packet_framework_table_qos_25`
+and :numref:`packet_framework_table_qos_26`
+detail the main data structures used to implement configurable key size hash tables
+(either LRU or extendable bucket, either with pre-computed signature or "do-sig").
-.. _figure_figure34:
+.. _packet_framework_figure_34:
.. figure:: img/figure34.*
Data Structures for Configurable Key Size Hash Tables
-.. _table_qos_25:
+.. _packet_framework_table_qos_25:
.. table:: Main Large Data Structures (Arrays) used for Configurable Key Size Hash Tables
@@ -556,7 +562,7 @@ either with pre-computed signature or "do-sig").
| | | | | |
+---+-------------------------+------------------------------+---------------------------+-------------------------------+
-.. _table_qos_26:
+.. _packet_framework_table_qos_26:
.. table:: Field Description for Bucket Array Entry (Configurable Key Size Hash Tables)
@@ -595,11 +601,12 @@ either with pre-computed signature or "do-sig").
+---+------------------+--------------------+------------------------------------------------------------------+
-:numref:`figure_figure35` and :numref:`table_qos_27` detail the bucket search pipeline stages (either LRU or extendable bucket,
-either with pre-computed signature or "do-sig").
+:numref:`packet_framework_figure_35` and :numref:`packet_framework_table_qos_27`
+detail the bucket search pipeline stages
+(either LRU or extendable bucket, either with pre-computed signature or "do-sig").
For each pipeline stage, the described operations are applied to each of the two packets handled by that stage.
-.. _figure_figure35:
+.. _packet_framework_figure_35:
.. figure:: img/figure35.*
@@ -607,7 +614,7 @@ For each pipeline stage, the described operations are applied to each of the two
Tables)
-.. _table_qos_27:
+.. _packet_framework_table_qos_27:
.. table:: Description of the Bucket Search Pipeline Stages (Configurable Key Size Hash Tables)
@@ -699,9 +706,9 @@ Additional notes:
**Key Signature Comparison Logic**
-The key signature comparison logic is described in :numref:`table_qos_28`.
+The key signature comparison logic is described in :numref:`packet_framework_table_qos_28`.
-.. _table_qos_28:
+.. _packet_framework_table_qos_28:
.. table:: Lookup Tables for Match, Match_Many and Match_Pos
@@ -761,12 +768,13 @@ The key signature comparison logic is described in :numref:`table_qos_28`.
The input *mask* hash bit X (X = 0 .. 3) set to 1 if input signature is equal to bucket signature X and set to 0 otherwise.
The outputs *match*, *match_many* and *match_pos* are 1 bit, 1 bit and 2 bits in size respectively and their meaning has been explained above.
-As displayed in :numref:`table_qos_29`, the lookup tables for *match* and *match_many* can be collapsed into a single 32-bit value and the lookup table for
-*match_pos* can be collapsed into a 64-bit value.
+As displayed in :numref:`packet_framework_table_qos_29`,
+the lookup tables for *match* and *match_many* can be collapsed into a single 32-bit value
+and the lookup table for *match_pos* can be collapsed into a 64-bit value.
Given the input *mask*, the values for *match*, *match_many* and *match_pos* can be obtained by indexing their respective bit array to extract 1 bit,
1 bit and 2 bits respectively with branchless logic.
-.. _table_qos_29:
+.. _packet_framework_table_qos_29:
.. table:: Collapsed Lookup Tables for Match, Match_Many and Match_Pos
@@ -796,24 +804,26 @@ The pseudo-code for match, match_many and match_pos is::
Single Key Size Hash Tables
"""""""""""""""""""""""""""
-:numref:`figure_figure37`, :numref:`figure_figure38`, :numref:`table_qos_30` and :numref:`table_qos_31` detail the main data structures used to implement 8-byte and 16-byte key hash tables
+:numref:`packet_framework_figure_37`, :numref:`packet_framework_figure_38`,
+:numref:`packet_framework_table_qos_30` and :numref:`packet_framework_table_qos_31`
+detail the main data structures used to implement 8-byte and 16-byte key hash tables
(either LRU or extendable bucket, either with pre-computed signature or "do-sig").
-.. _figure_figure37:
+.. _packet_framework_figure_37:
.. figure:: img/figure37.*
Data Structures for 8-byte Key Hash Tables
-.. _figure_figure38:
+.. _packet_framework_figure_38:
.. figure:: img/figure38.*
Data Structures for 16-byte Key Hash Tables
-.. _table_qos_30:
+.. _packet_framework_table_qos_30:
.. table:: Main Large Data Structures (Arrays) used for 8-byte and 16-byte Key Size Hash Tables
@@ -843,7 +853,7 @@ Single Key Size Hash Tables
| | | | | |
+---+-------------------------+------------------------------+----------------------+------------------------------------+
-.. _table_qos_31:
+.. _packet_framework_table_qos_31:
.. table:: Field Description for Bucket Array Entry (8-byte and 16-byte Key Hash Tables)
@@ -1004,9 +1014,9 @@ The reserved actions are handled directly by the Packet Framework without the us
through the table action handler configuration.
A special category of the reserved actions is represented by the next hop actions, which regulate the packet flow between input ports,
tables and output ports through the pipeline.
-:numref:`table_qos_33` lists the next hop actions.
+:numref:`packet_framework_table_qos_33` lists the next hop actions.
-.. _table_qos_33:
+.. _packet_framework_table_qos_33:
.. table:: Next Hop Actions (Reserved)
@@ -1035,9 +1045,9 @@ and their associated meta-data is private to each table.
Within the same table, all the table entries (including the table default entry) share the same definition
for the user actions and their associated meta-data,
with each table entry having its own set of enabled user actions and its own copy of the action meta-data.
-:numref:`table_qos_34` contains a non-exhaustive list of user action examples.
+:numref:`packet_framework_table_qos_34` contains a non-exhaustive list of user action examples.
-.. _table_qos_34:
+.. _packet_framework_table_qos_34:
.. table:: User Action Examples
diff --git a/doc/guides/prog_guide/rcu_lib.rst b/doc/guides/prog_guide/rcu_lib.rst
index 9f3654f398..4b8c2d0d5f 100644
--- a/doc/guides/prog_guide/rcu_lib.rst
+++ b/doc/guides/prog_guide/rcu_lib.rst
@@ -40,14 +40,14 @@ the application to determine its quiescent state.
Let us consider the following diagram:
-.. _figure_quiescent_state:
+.. _rcu_figure_quiescent_state:
.. figure:: img/rcu_general_info.*
Phases in the Quiescent State model.
-As shown in :numref:`figure_quiescent_state`, reader thread 1 accesses data
+As shown in :numref:`rcu_figure_quiescent_state`, reader thread 1 accesses data
structures D1 and D2. When it is accessing D1, if the writer has to remove an
element from D1, the writer cannot free the memory associated with that
element immediately. The writer can return the memory to the allocator only
diff --git a/doc/guides/prog_guide/rib_lib.rst b/doc/guides/prog_guide/rib_lib.rst
index 40b7de3f1d..533033c37c 100644
--- a/doc/guides/prog_guide/rib_lib.rst
+++ b/doc/guides/prog_guide/rib_lib.rst
@@ -27,9 +27,9 @@ Next hop IDs are represented by ``uint64_t`` values.
Everything within this document except for the size of the prefixes is applicable to the
``rte_rib6`` API.
-Internally RIB is represented as a binary tree as shown in :numref:`figure_rib_internals`:
+Internally RIB is represented as a binary tree as shown in :numref:`rib_figure_internals`:
-.. _figure_rib_internals:
+.. _rib_figure_internals:
.. figure:: img/rib_internals.*
@@ -66,7 +66,7 @@ The main methods within the ``rte_rib`` API are:
* ``rte_rib_get_nxt()``: Traverse a subtree within the structure.
-Given a RIB structure with the routes depicted in :numref:`figure_rib_internals`,
+Given a RIB structure with the routes depicted in :numref:`rib_figure_internals`,
here are several usage examples:
* The best route for ``10.0.0.1`` can be found by calling:
@@ -92,7 +92,7 @@ This returns an ``rte_rib_node`` pointing to the ``10.0.0.128/25`` prefix.
This returns ``NULL`` as no exact match can be found.
* To retrieve a group of routes under the common prefix ``10.0.0.0/24``
- (yellow triangle in :numref:`figure_rib_internals`):
+ (yellow triangle in :numref:`rib_figure_internals`):
.. code-block:: c
@@ -119,10 +119,10 @@ It is possible to implement a prefix independent convergence using the RIB exten
If the routing daemon can provide a feasible next hop ID along with a best (active) next hop ID,
it is possible to react to a neighbour failing relatively fast.
Consider a RIB with a number of routes with different next hops (A and B) as
-shown in :numref:`figure_rib_pic`. Every route can have a feasible next hop
+shown in :numref:`rib_figure_pic`. Every route can have a feasible next hop
provided by the routing daemon.
-.. _figure_rib_pic:
+.. _rib_figure_pic:
.. figure:: img/rib_pic.*
diff --git a/doc/guides/prog_guide/toeplitz_hash_lib.rst b/doc/guides/prog_guide/toeplitz_hash_lib.rst
index 5ebe958f2f..384e258ea8 100644
--- a/doc/guides/prog_guide/toeplitz_hash_lib.rst
+++ b/doc/guides/prog_guide/toeplitz_hash_lib.rst
@@ -9,7 +9,7 @@ to calculate the Toeplitz hash function and to use its properties.
The Toeplitz hash function is commonly used in a wide range of NICs
to calculate the RSS hash sum to spread the traffic among the queues.
-.. _figure_rss_queue_assign:
+.. _toeplitz_figure_rss_queue_assign:
.. figure:: img/rss_queue_assign.*
@@ -72,7 +72,7 @@ Predictable RSS
---------------
In some use cases it is useful to have a way to find partial collisions of the
-Toeplitz hash function. In figure :numref:`figure_rss_queue_assign` only a few
+Toeplitz hash function. In figure :numref:`toeplitz_figure_rss_queue_assign` only a few
of the least significant bits (LSB) of the hash value are used to indicate an
entry in the RSS Redirection Table (ReTa) and thus the index of the queue. So,
in this case it would be useful to find another tuple whose hash has the same
@@ -216,9 +216,9 @@ tag allocation, etc. In the following we will consider a SNAT application.
Packets of a single bidirectional flow belonging to different directions can
end up being assigned to different queues and thus processed by different
-lcores, as shown in :numref:`figure_predictable_snat_1`:
+lcores, as shown in :numref:`toeplitz_figure_predictable_snat_1`:
-.. _figure_predictable_snat_1:
+.. _toeplitz_figure_predictable_snat_1:
.. figure:: img/predictable_snat_1.*
@@ -241,9 +241,9 @@ penalties, for example:
We can avoid all these penalties if it can be guaranteed that packets
belonging to one bidirectional flow will be assigned to the same queue, as
-shown in :numref:`figure_predictable_snat_2`:
+shown in :numref:`toeplitz_figure_predictable_snat_2`:
-.. _figure_predictable_snat_2:
+.. _toeplitz_figure_predictable_snat_2:
.. figure:: img/predictable_snat_2.*
diff --git a/doc/guides/sample_app_ug/compiling.rst b/doc/guides/sample_app_ug/compiling.rst
index d3e77f49e8..e360c43804 100644
--- a/doc/guides/sample_app_ug/compiling.rst
+++ b/doc/guides/sample_app_ug/compiling.rst
@@ -63,7 +63,7 @@ Using Make
~~~~~~~~~~
Pkg-config is used when building an example app standalone using make, please
-see :ref:`building_app_using_installed_dpdk` for more information.
+see :ref:`linux_gsg_building_app_using_installed_dpdk` for more information.
Go to the sample application directory. Unless otherwise specified the sample
applications are located in ``dpdk/examples/``.
diff --git a/doc/guides/sample_app_ug/dist_app.rst b/doc/guides/sample_app_ug/dist_app.rst
index 154d08d989..b1e4a9f46f 100644
--- a/doc/guides/sample_app_ug/dist_app.rst
+++ b/doc/guides/sample_app_ug/dist_app.rst
@@ -63,7 +63,7 @@ Explanation
The distributor application consists of four types of threads: a receive
thread (``lcore_rx()``), a distributor thread (``lcore_dist()``), a set of
worker threads (``lcore_worker()``), and a transmit thread(``lcore_tx()``).
-How these threads work together is shown in :numref:`figure_dist_app` below.
+How these threads work together is shown in :numref:`dist_app_figure_overview` below.
The ``main()`` function launches threads of these four types. Each thread
has a while loop which will be doing processing and which is terminated
only upon SIGINT or ctrl+C.
@@ -95,7 +95,7 @@ Users who wish to terminate the running of the application have to press ctrl+C
in the application will terminate all running threads gracefully and print
final statistics to the user.
-.. _figure_dist_app:
+.. _dist_app_figure_overview:
.. figure:: img/dist_app.*
diff --git a/doc/guides/sample_app_ug/l2_forward_event.rst b/doc/guides/sample_app_ug/l2_forward_event.rst
index a71620469e..b07f989117 100644
--- a/doc/guides/sample_app_ug/l2_forward_event.rst
+++ b/doc/guides/sample_app_ug/l2_forward_event.rst
@@ -29,9 +29,9 @@ Application receives packets from Rx port using these methods:
* Eventdev mode (default)
This application can be used to benchmark performance using a traffic-generator,
-as shown in the :numref:`figure_l2fwd_event_benchmark_setup`.
+as shown in the :numref:`l2_fwd_event_figure_benchmark_setup`.
-.. _figure_l2fwd_event_benchmark_setup:
+.. _l2_fwd_event_figure_benchmark_setup:
.. figure:: img/l2_fwd_benchmark_setup.*
diff --git a/doc/guides/sample_app_ug/l2_forward_job_stats.rst b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
index 67ea125c41..5056b30e57 100644
--- a/doc/guides/sample_app_ug/l2_forward_job_stats.rst
+++ b/doc/guides/sample_app_ug/l2_forward_job_stats.rst
@@ -29,19 +29,21 @@ The MAC addresses are affected as follows:
* The destination MAC address is replaced by ``02:00:00:00:00:TX_PORT_ID``
-This application can be used to benchmark performance using a traffic-generator, as shown in the :numref:`figure_l2_fwd_benchmark_setup_jobstats`.
+This application can be used to benchmark performance using a traffic-generator,
+as shown in the :numref:`l2_fwd_job_stats_figure_benchmark_setup`.
-The application can also be used in a virtualized environment as shown in :numref:`figure_l2_fwd_virtenv_benchmark_setup_jobstats`.
+The application can also be used in a virtualized environment
+as shown in :numref:`l2_fwd_job_stats_figure_virtenv_benchmark_setup`.
The L2 Forwarding application can also be used as a starting point for developing a new application based on the DPDK.
-.. _figure_l2_fwd_benchmark_setup_jobstats:
+.. _l2_fwd_job_stats_figure_benchmark_setup:
.. figure:: img/l2_fwd_benchmark_setup.*
Performance Benchmark Setup (Basic Environment)
-.. _figure_l2_fwd_virtenv_benchmark_setup_jobstats:
+.. _l2_fwd_job_stats_figure_virtenv_benchmark_setup:
.. figure:: img/l2_fwd_virtenv_benchmark_setup.*
diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
index aff7af7c57..178ea054dd 100644
--- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
+++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
@@ -28,25 +28,27 @@ Also, if MAC address updating is enabled, the MAC addresses are affected as foll
* The destination MAC address is replaced by 02:00:00:00:00:TX_PORT_ID
-This application can be used to benchmark performance using a traffic-generator, as shown in the :numref:`figure_l2_fwd_benchmark_setup`,
-or in a virtualized environment as shown in :numref:`figure_l2_fwd_virtenv_benchmark_setup`.
+This application can be used to benchmark performance using a traffic-generator,
+as shown in the :numref:`l2_fwd_figure_benchmark_setup`,
+or in a virtualized environment as shown in :numref:`l2_fwd_figure_virtenv_benchmark_setup`.
-.. _figure_l2_fwd_benchmark_setup:
+.. _l2_fwd_figure_benchmark_setup:
.. figure:: img/l2_fwd_benchmark_setup.*
Performance Benchmark Setup (Basic Environment)
-.. _figure_l2_fwd_virtenv_benchmark_setup:
+.. _l2_fwd_figure_virtenv_benchmark_setup:
.. figure:: img/l2_fwd_virtenv_benchmark_setup.*
Performance Benchmark Setup (Virtualized Environment)
-This application may be used for basic VM to VM communication as shown in :numref:`figure_l2_fwd_vm2vm`,
+This application may be used for basic VM to VM communication
+as shown in :numref:`l2_fwd_figure_vm2vm`,
when MAC addresses updating is disabled.
-.. _figure_l2_fwd_vm2vm:
+.. _l2_fwd_figure_vm2vm:
.. figure:: img/l2_fwd_vm2vm.*
diff --git a/doc/guides/sample_app_ug/server_node_efd.rst b/doc/guides/sample_app_ug/server_node_efd.rst
index d25b39e89b..ab3de35333 100644
--- a/doc/guides/sample_app_ug/server_node_efd.rst
+++ b/doc/guides/sample_app_ug/server_node_efd.rst
@@ -18,13 +18,13 @@ Overview
The architecture of the EFD flow-based load balancer sample application is
presented in the following figure.
-.. _figure_efd_sample_app_overview:
+.. _server_node_efd_figure_overview:
.. figure:: img/server_node_efd.*
Using EFD as a Flow-Level Load Balancer
-As shown in :numref:`figure_efd_sample_app_overview`,
+As shown in :numref:`server_node_efd_figure_overview`,
the sample application consists of a front-end node (server)
using the EFD library to create a load-balancing table for flows,
for each flow a target backend worker node is specified. The EFD table does not
diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst
index 014c00121f..e53d77a170 100644
--- a/doc/guides/sample_app_ug/test_pipeline.rst
+++ b/doc/guides/sample_app_ug/test_pipeline.rst
@@ -53,7 +53,7 @@ The PORTMASK parameter must contain 2 or 4 ports.
Table Types and Behavior
~~~~~~~~~~~~~~~~~~~~~~~~
-:numref:`table_test_pipeline_1` describes the table types used and how they are populated.
+:numref:`test_pipeline_table_1` describes the table types used and how they are populated.
The hash tables are pre-populated with 16 million keys.
For hash tables, the following parameters can be selected:
@@ -68,7 +68,7 @@ For hash tables, the following parameters can be selected:
* **Table type (e.g. hash-spec-16-ext or hash-spec-16-lru).**
The available options are ext (extendable bucket) or lru (least recently used).
-.. _table_test_pipeline_1:
+.. _test_pipeline_table_1:
.. table:: Table Types
diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
index 6ad669e4d6..174eecfd99 100644
--- a/doc/guides/sample_app_ug/vm_power_management.rst
+++ b/doc/guides/sample_app_ug/vm_power_management.rst
@@ -38,13 +38,14 @@ This application demonstrates the following features:
policy independent of the VM application. For example, the
policy can contain time-of-day information for busy/quiet
periods, and the host application can scale up/down the relevant
- cores when required. See :ref:`sending_policy` for information on
- setting policy values.
+ cores when required.
+ See :ref:`vm_power_sending_policy` for information on setting policy values.
- **Out-of-band monitoring of workloads using core hardware event counters.**
The host application can manage power for an application by looking
at the event counters of the cores and taking action based on the
- branch miss/hit ratio. See :ref:`enabling_out_of_band`.
+ branch miss/hit ratio.
+ See :ref:`vm_power_enabling_out_of_band`.
**Note**: This functionality also applies in non-virtualised environments.
@@ -116,8 +117,8 @@ management requests. Once the VM sends the policy to the host, the VM no
longer needs to worry about power management, because the host now
manages the power for the VM based on the policy. The policy can specify
power behavior that is based on incoming traffic rates or time-of-day
-power adjustment (busy/quiet hour power adjustment for example). See
-:ref:`sending_policy` for more information.
+power adjustment (busy/quiet hour power adjustment for example).
+See :ref:`vm_power_sending_policy` for more information.
One method of power management is to sense how busy a core is when
processing packets and adjusting power accordingly. One technique for
@@ -127,13 +128,14 @@ on the premise that when a core is not processing packets, the ratio of
branch misses to branch hits is very low, but when the core is
processing packets, it is measurably higher. The implementation of this
capability is as a policy of type ``BRANCH_RATIO``.
-See :ref:`sending_policy` for more information on using the
+See :ref:`vm_power_sending_policy` for more information on using the
BRANCH_RATIO policy option.
A JSON interface enables the specification of power management requests
and policies in JSON format. The JSON interfaces provide a more
convenient and more easily interpreted interface for the specification
-of requests and policies. See :ref:`power_man_requests` for more information.
+of requests and policies.
+See :ref:`vm_power_requests` for more information.
Performance Considerations
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -393,7 +395,7 @@ Set the current frequency for the specified core by scaling up/down/min/max:
set_cpu_freq {core_num} up|down|min|max
-.. _enabling_out_of_band:
+.. _vm_power_enabling_out_of_band:
Command Line Options for Enabling Out-of-band Branch Ratio Monitoring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -513,7 +515,7 @@ run on cores 0, 1, 2 and 3:
./<build_dir>/examples/dpdk-guest_vm_power_mgr -l 0-3
-.. _sending_policy:
+.. _vm_power_sending_policy:
Command Line Options Available When Sending a Policy to the Host
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -594,7 +596,7 @@ will send the policy to the host:
Once the policy is sent to the host, the host application takes over the power monitoring
of the specified cores in the policy.
-.. _power_man_requests:
+.. _vm_power_requests:
JSON Interface for Power Management Requests and Policies
---------------------------------------------------------
@@ -633,11 +635,11 @@ pairs are different depending on which type is sent.
The pairs are in the format of standard JSON name-value pairs. The value
type varies between the different name-value pairs, and may be integers,
-strings, arrays, and so on. See :ref:`json_interface_ex`
-for examples of policies and instructions and
-:ref:`json_name_value_pair` for the supported names and value types.
+strings, arrays, and so on.
+See :ref:`vm_power_json_interface_examples` for examples of policies and instructions
+and :ref:`vm_power_json_name_value_pairs` for the supported names and value types.
-.. _json_interface_ex:
+.. _vm_power_json_interface_examples:
JSON Interface Examples
~~~~~~~~~~~~~~~~~~~~~~~
@@ -708,7 +710,7 @@ will send the policy to the host:
Once the policy is sent to the host, the host application takes over the power monitoring
of the specified cores in the policy.
-.. _json_name_value_pair:
+.. _vm_power_json_name_value_pairs:
JSON Name-value Pairs
~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
index efb133c11c..61fb959485 100644
--- a/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
+++ b/doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst
@@ -23,7 +23,8 @@ All traffic is read from a single incoming port (port 0) and output on port 1, w
With Intel® 82599 NIC, for example, the traffic is split into 128 queues on input, where each thread of the application reads from
multiple queues. When run with 8 threads, that is, with the -c FF option, each thread receives and forwards packets from 16 queues.
-As supplied, the sample application configures the VMDQ feature to have 32 pools with 4 queues each as indicated in :numref:`figure_vmdq_dcb_example`.
+As supplied, the sample application configures the VMDQ feature
+to have 32 pools with 4 queues each as indicated in :numref:`vmdq_dcb_figure_example`.
The Intel® 82599 10 Gigabit Ethernet Controller NIC also supports the splitting of traffic into 16 pools of 8 queues. While the
Intel® X710 or XL710 Ethernet Controller NICs support many configurations of VMDQ pools of 4 or 8 queues each. For simplicity, only 16
or 32 pools is supported in this sample. And queues numbers for each VMDQ pool can be changed by setting RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM
@@ -36,7 +37,7 @@ The nb-pools, nb-tcs and enable-rss parameters can be passed on the command line
where, NP can be 16 or 32, TC can be 4 or 8, rss is disabled by default.
-.. _figure_vmdq_dcb_example:
+.. _vmdq_dcb_figure_example:
.. figure:: img/vmdq_dcb_example.*
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 3501f10a4a..e65376df54 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1951,7 +1951,7 @@ The following sections show functions for configuring ports.
Port configuration changes only become active when forwarding is started/restarted.
-.. _port_attach:
+.. _testpmd_port_attach:
port attach
~~~~~~~~~~~
@@ -5750,5 +5750,5 @@ Some drivers provide specific features.
See:
- :ref:`net/bonding testpmd driver specific commands <bonding_testpmd_commands>`
-- :ref:`net/i40e testpmd driver specific commands <net_i40e_testpmd_commands>`
-- :ref:`net/ixgbe testpmd driver specific commands <net_ixgbe_testpmd_commands>`
+- :ref:`net/i40e testpmd driver specific commands <i40e_testpmd_commands>`
+- :ref:`net/ixgbe testpmd driver specific commands <ixgbe_testpmd_commands>`
diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
index 9a877eef8a..9cdd1ccd77 100644
--- a/doc/guides/tools/dts.rst
+++ b/doc/guides/tools/dts.rst
@@ -138,7 +138,7 @@ There are two areas that need to be set up on a System Under Test:
#. **User with administrator privileges**
-.. _sut_admin_user:
+.. _dts_sut_admin_user:
DTS needs administrator privileges to run DPDK applications (such as testpmd) on the SUT.
The SUT user must be able run commands in privileged mode without asking for password.
@@ -264,7 +264,7 @@ These need to be set up on a Traffic Generator Node:
Similarly to the System Under Test, traffic generators need administrator privileges
to be able to use the devices.
- Refer to the `System Under Test section <sut_admin_user>` for details.
+ Refer to the `System Under Test section <dts_sut_admin_user>` for details.
Running DTS
@@ -286,12 +286,12 @@ and must respect the model definitions
as documented in the DTS API docs under the ``config`` page.
The root of the configuration is represented by the ``Configuration`` model.
By default, DTS will try to use the ``dts/configurations/test_run.example.yaml``
-:ref:`config file <test_run_configuration_example>`,
+:ref:`config file <dts_test_run_configuration_example>`,
and ``dts/configurations/nodes.example.yaml``
-:ref:`config file <nodes_configuration_example>`
+:ref:`config file <dts_nodes_configuration_example>`
which are templates that illustrate what can be configured in DTS.
-The user must have :ref:`administrator privileges <sut_admin_user>`
+The user must have :ref:`administrator privileges <dts_sut_admin_user>`
which don't require password authentication.
@@ -386,12 +386,12 @@ Framework Coding Guidelines
When contributing code to the DTS framework,
follow existing conventions to ensure consistency.
The :ref:`dts_dev_tools` will flag basic issues.
-Also, be sure to :ref:`build the API documentation <building_api_docs>`
+Also, be sure to :ref:`build the API documentation <dts_building_api_docs>`
to catch any problems during the build.
The API documentation is a helpful reference during development.
It can be viewed in the code directly
-or generated using the :ref:`API docs build steps <building_api_docs>`.
+or generated using the :ref:`API docs build steps <dts_building_api_docs>`.
If you add new files or change the directory structure,
update the corresponding sources in ``doc/api/dts``.
@@ -560,7 +560,7 @@ the DTS code check and format script.
Refer to the script for usage: ``devtools/dts-check-format.sh -h``.
-.. _building_api_docs:
+.. _dts_building_api_docs:
Building DTS API docs
---------------------
@@ -595,7 +595,7 @@ And they both have two network ports which are physically connected to each othe
This example assumes that you have setup SSH keys in both the system under test
and traffic generator nodes.
-.. _test_run_configuration_example:
+.. _dts_test_run_configuration_example:
``dts/configurations/test_run.example.yaml``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -604,7 +604,7 @@ And they both have two network ports which are physically connected to each othe
:language: yaml
:start-at: # Define
-.. _nodes_configuration_example:
+.. _dts_nodes_configuration_example:
``dts/configurations/nodes.example.yaml``
diff --git a/doc/guides/tools/graph.rst b/doc/guides/tools/graph.rst
index ebb5218c76..edd1909ec2 100644
--- a/doc/guides/tools/graph.rst
+++ b/doc/guides/tools/graph.rst
@@ -169,40 +169,44 @@ Supported CLI commands
This section provides details on commands which can be used in ``<usecase>.cli``
file to express the requested use case configuration.
+.. |graph_scope1| replace:: :ref:`1 <graph_command_scopes>`
+.. |graph_scope2| replace:: :ref:`2 <graph_command_scopes>`
+.. |graph_scope3| replace:: :ref:`3 <graph_command_scopes>`
+
.. table:: Exposed CLIs
:widths: auto
+--------------------------------------+-----------------------------------+-------------------+----------+
| Command | Description | Scope | Optional |
+======================================+===================================+===================+==========+
- | | graph <usecases> [bsz <size>] | | Command to express the desired | :ref:`1 <scopes>` | No |
+ | | graph <usecases> [bsz <size>] | | Command to express the desired | |graph_scope1| | No |
| | [tmo <ns>] [coremask <bitmask>] | | use case. Also enables/disable | | |
| | model <rtc/mcd/default> pcap_enable| | pcap capturing. | | |
| | <0/1> num_pcap_pkts <num> pcap_file| | | |
| | <output_capture_file> | | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | graph start | | Command to start the graph. | :ref:`1 <scopes>` | No |
+ | graph start | | Command to start the graph. | |graph_scope1| | No |
| | | This command triggers that no | | |
| | | more commands are left to be | | |
| | | parsed and graph initialization | | |
| | | can be started now. It must be | | |
| | | the last command in usecase.cli | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | graph stats show | | Command to dump current graph | :ref:`2 <scopes>` | Yes |
+ | graph stats show | | Command to dump current graph | |graph_scope2| | Yes |
| | | statistics. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help graph | | Command to dump graph help | :ref:`2 <scopes>` | Yes |
+ | help graph | | Command to dump graph help | |graph_scope2| | Yes |
| | | message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | mempool <mempool_name> size | | Command to create mempool which | :ref:`1 <scopes>` | No |
+ | | mempool <mempool_name> size | | Command to create mempool which | |graph_scope1| | No |
| | <mbuf_size> buffers | | will be further associated to | | |
| | <number_of_buffers> | | RxQ to dequeue the packets. | | |
| | cache <cache_size> numa <numa_id> | | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help mempool | | Command to dump mempool help | :ref:`2 <scopes>` | Yes |
+ | help mempool | | Command to dump mempool help | |graph_scope2| | Yes |
| | | message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ethdev <ethdev_name> rxq <n_queues>| | Command to create DPDK port with| :ref:`1 <scopes>` | No |
+ | | ethdev <ethdev_name> rxq <n_queues>| | Command to create DPDK port with| |graph_scope1| | No |
| | txq <n_queues> <mempool_name> | | given number of Rx and Tx queues| | |
| | | . Also attach RxQ with given | | |
| | | mempool. Each port can have | | |
@@ -210,95 +214,95 @@ file to express the requested use case configuration.
| | | RxQs will share the same mempool| | |
| | | . | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | ethdev <ethdev_name> mtu <mtu_sz> | | Command to configure MTU of DPDK| :ref:`3 <scopes>` | Yes |
+ | ethdev <ethdev_name> mtu <mtu_sz> | | Command to configure MTU of DPDK| |graph_scope3| | Yes |
| | | port. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ethdev forward <tx_dev_name> | | Command to configure port | :ref:`1 <scopes>` | Yes |
+ | | ethdev forward <tx_dev_name> | | Command to configure port | |graph_scope1| | Yes |
| | <rx_dev_name> | | forwarding of DPDK | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ethdev <ethdev_name> promiscuous | | Command to enable/disable | :ref:`3 <scopes>` | Yes |
+ | | ethdev <ethdev_name> promiscuous | | Command to enable/disable | |graph_scope3| | Yes |
| | <on/off> | | promiscuous mode on DPDK port. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | ethdev <ethdev_name> show | | Command to dump current ethdev | :ref:`2 <scopes>` | Yes |
+ | ethdev <ethdev_name> show | | Command to dump current ethdev | |graph_scope2| | Yes |
| | | configuration. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | ethdev <ethdev_name> stats | | Command to dump current ethdev | :ref:`2 <scopes>` | Yes |
+ | ethdev <ethdev_name> stats | | Command to dump current ethdev | |graph_scope2| | Yes |
| | | statistics. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ethdev <ethdev_name> ip4 addr add | | Command to configure IPv4 | :ref:`3 <scopes>` | Yes |
+ | | ethdev <ethdev_name> ip4 addr add | | Command to configure IPv4 | |graph_scope3| | Yes |
| | <ip> netmask <mask> | | address on given PCI device. It | | |
| | | is needed if user wishes to use | | |
| | | ``ipv4_lookup`` node. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ethdev <ethdev_name> ip6 addr add | | Command to configure IPv6 | :ref:`3 <scopes>` | Yes |
+ | | ethdev <ethdev_name> ip6 addr add | | Command to configure IPv6 | |graph_scope3| | Yes |
| | <ip> netmask <mask> | | address on given PCI device. It | | |
| | | is needed if user wishes to use | | |
| | | ``ipv6_lookup`` node. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help ethdev | | Command to dump ethdev help | :ref:`2 <scopes>` | Yes |
+ | help ethdev | | Command to dump ethdev help | |graph_scope2| | Yes |
| | | message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ipv4_lookup route add ipv4 <ip> | | Command to add a route into | :ref:`3 <scopes>` | Yes |
+ | | ipv4_lookup route add ipv4 <ip> | | Command to add a route into | |graph_scope3| | Yes |
| | netmask <mask> via <ip> | | ``ipv4_lookup`` LPM table or | | |
| | | FIB. It is needed if user wishes| | |
| | | to route the packets based on | | |
| | | LPM lookup table or FIB. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ipv4_lookup mode <lpm|fib> | | Command to set ipv4 lookup mode | :ref:`1 <scopes>` | Yes |
+ | | ipv4_lookup mode <lpm|fib> | | Command to set ipv4 lookup mode | |graph_scope1| | Yes |
| | | to either LPM or FIB. By default| | |
| | | the lookup mode is LPM. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help ipv4_lookup | | Command to dump ``ipv4_lookup`` | :ref:`2 <scopes>` | Yes |
+ | help ipv4_lookup | | Command to dump ``ipv4_lookup`` | |graph_scope2| | Yes |
| | | help message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ipv6_lookup route add ipv6 <ip> | | Command to add a route into | :ref:`3 <scopes>` | Yes |
+ | | ipv6_lookup route add ipv6 <ip> | | Command to add a route into | |graph_scope3| | Yes |
| | netmask <mask> via <ip> | | ``ipv6_lookup`` LPM table or. | | |
| | | FIB. It is needed if user wishes| | |
| | | to route the packets based on | | |
| | | LPM6 lookup table or FIB. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ipv6_lookup mode <lpm|fib> | | Command to set ipv6 lookup mode | :ref:`1 <scopes>` | Yes |
+ | | ipv6_lookup mode <lpm|fib> | | Command to set ipv6 lookup mode | |graph_scope1| | Yes |
| | | to either LPM or FIB. By default| | |
| | | the lookup mode is LPM. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help ipv6_lookup | | Command to dump ``ipv6_lookup`` | :ref:`2 <scopes>` | Yes |
+ | help ipv6_lookup | | Command to dump ``ipv6_lookup`` | |graph_scope2| | Yes |
| | | help message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | neigh add ipv4 <ip> <mac> | | Command to add a neighbour | :ref:`3 <scopes>` | Yes |
+ | neigh add ipv4 <ip> <mac> | | Command to add a neighbour | |graph_scope3| | Yes |
| | | information into | | |
| | | ``ipv4_rewrite`` node. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | neigh add ipv6 <ip> <mac> | | Command to add a neighbour | :ref:`3 <scopes>` | Yes |
+ | neigh add ipv6 <ip> <mac> | | Command to add a neighbour | |graph_scope3| | Yes |
| | | information into | | |
| | | ``ipv6_rewrite`` node. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help neigh | | Command to dump neigh help | :ref:`2 <scopes>` | Yes |
+ | help neigh | | Command to dump neigh help | |graph_scope2| | Yes |
| | | message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | ethdev_rx map port <ethdev_name> | | Command to add port-queue-core | :ref:`1 <scopes>` | No |
+ | | ethdev_rx map port <ethdev_name> | | Command to add port-queue-core | |graph_scope1| | No |
| | queue <q_num> core <core_id> | | mapping to ``ethdev_rx`` node. | | |
| | | ``ethdev_rx`` node instance will| | |
| | | be pinned on given core and will| | |
| | | poll on requested port/queue | | |
| | | pair. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help ethdev_rx | | Command to dump ethdev_rx help | :ref:`2 <scopes>` | Yes |
+ | help ethdev_rx | | Command to dump ethdev_rx help | |graph_scope2| | Yes |
| | | message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | help feature | | Command to dump feature arc | :ref:`2 <scopes>` | Yes |
+ | help feature | | Command to dump feature arc | |graph_scope2| | Yes |
| | | help message. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | feature arcs | | Command to dump all created | :ref:`2 <scopes>` | Yes |
+ | feature arcs | | Command to dump all created | |graph_scope2| | Yes |
| | | feature arcs | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | feature enable <arc name> | | Enable <feature name> of <arc | :ref:`2 <scopes>` | Yes |
+ | | feature enable <arc name> | | Enable <feature name> of <arc | |graph_scope2| | Yes |
| | <feature name> <interface index> | | name> on an interface. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
- | | feature disable <arc name> | | Disable <feature name> of <arc | :ref:`2 <scopes>` | Yes |
+ | | feature disable <arc name> | | Disable <feature name> of <arc | |graph_scope2| | Yes |
| | <feature name> <interface index> | | name> on an interface. | | |
+--------------------------------------+-----------------------------------+-------------------+----------+
-.. _scopes:
+.. _graph_command_scopes:
1. Script only
2. Telnet only
diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst
index d5b280bdad..41dc838c0d 100644
--- a/doc/guides/tools/testeventdev.rst
+++ b/doc/guides/tools/testeventdev.rst
@@ -545,7 +545,7 @@ This is a performance test case that aims at testing the following:
#. Measure the number of events can be processed in a second.
#. Measure the latency to forward an event.
-.. _table_eventdev_perf_queue_test:
+.. _testeventdev_table_perf_queue_test:
.. table:: Perf queue test eventdev configuration.
@@ -572,7 +572,7 @@ This is a performance test case that aims at testing the following:
The perf queue test configures the eventdev with Q queues and P ports, where
Q and P is a function of the number of workers, the number of producers and
-number of stages as mentioned in :numref:`table_eventdev_perf_queue_test`.
+number of stages as mentioned in :numref:`testeventdev_table_perf_queue_test`.
The user can choose the number of workers, the number of producers and number of
stages through the ``--wlcores``, ``--plcores`` and the ``--stlist`` application
@@ -681,7 +681,7 @@ This is a performance test case that aims at testing the following with
#. Measure the number of events can be processed in a second.
#. Measure the latency to forward an event.
-.. _table_eventdev_perf_atq_test:
+.. _testeventdev_table_perf_atq_test:
.. table:: Perf all types queue test eventdev configuration.
@@ -709,7 +709,7 @@ This is a performance test case that aims at testing the following with
The ``all types queues(atq)`` perf test configures the eventdev with Q queues
and P ports, where Q and P is a function of the number of workers and number of
-producers as mentioned in :numref:`table_eventdev_perf_atq_test`.
+producers as mentioned in :numref:`testeventdev_table_perf_atq_test`.
The atq queue test functions as same as ``perf_queue`` test. The difference
@@ -784,7 +784,7 @@ This is a pipeline test case that aims at testing the following:
#. Measure the end-to-end performance of an event dev with a ethernet dev.
#. Maintain packet ordering from Rx to Tx.
-.. _table_eventdev_pipeline_queue_test:
+.. _testeventdev_table_pipeline_queue_test:
.. table:: Pipeline queue test eventdev configuration.
@@ -821,7 +821,7 @@ This is a pipeline test case that aims at testing the following:
The pipeline queue test configures the eventdev with Q queues and P ports,
where Q and P is a function of the number of workers, the number of producers
-and number of stages as mentioned in :numref:`table_eventdev_pipeline_queue_test`.
+and number of stages as mentioned in :numref:`testeventdev_table_pipeline_queue_test`.
The user can choose the number of workers and number of stages through the
``--wlcores`` and the ``--stlist`` application command line arguments
@@ -906,7 +906,7 @@ This is a pipeline test case that aims at testing the following with
#. Measure the end-to-end performance of an event dev with a ethernet dev.
#. Maintain packet ordering from Rx to Tx.
-.. _table_eventdev_pipeline_atq_test:
+.. _testeventdev_table_pipeline_atq_test:
.. table:: Pipeline atq test eventdev configuration.
@@ -946,7 +946,7 @@ This is a pipeline test case that aims at testing the following with
The pipeline atq test configures the eventdev with Q queues and P ports,
where Q and P is a function of the number of workers, the number of producers
-and number of stages as mentioned in :numref:`table_eventdev_pipeline_atq_test`.
+and number of stages as mentioned in :numref:`testeventdev_table_pipeline_atq_test`.
The atq queue test functions as same as ``pipeline_queue`` test. The difference
is, It uses, ``all type queue scheme`` instead of separate queues for each
--
2.54.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v3 0/8] doc: clean-up links in guides
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
` (7 preceding siblings ...)
2026-07-16 10:31 ` [PATCH v3 8/8] doc: add prefixes to guide labels Thomas Monjalon
@ 2026-07-16 15:29 ` David Marchand
2026-07-17 13:39 ` Thomas Monjalon
2026-07-17 9:42 ` fengchengwen
9 siblings, 1 reply; 18+ messages in thread
From: David Marchand @ 2026-07-16 15:29 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev
On Thu, 16 Jul 2026 at 12:36, Thomas Monjalon <thomas@monjalon.net> wrote:
>
> Links and references to other guide sections had multiple issues,
> all solved in this series.
>
> The important metric in cleanups is having more deletions than additions:
> 278 files changed, 1054 insertions(+), 1700 deletions(-)
> meaning it should be easier to maintain.
>
>
> David Marchand (1):
> doc: remove unused labels from guides
>
> Nandini Persad (1):
> doc: add prefixes to guide labels
>
> Thomas Monjalon (6):
> doc: adjust heading underline lengths
> doc: replace vague references with precise links
> doc: shorten page references in guides
> doc: link whole-guide references to pages
> doc: remove redundant link captions
> doc: avoid numbered guide references
>
> doc/guides/bbdevs/acc100.rst | 8 +-
> doc/guides/bbdevs/fpga_5gnr_fec.rst | 4 +-
> doc/guides/bbdevs/fpga_lte_fec.rst | 10 +-
> doc/guides/bbdevs/la12xx.rst | 8 +-
> doc/guides/bbdevs/null.rst | 2 +-
> doc/guides/bbdevs/overview.rst | 2 -
> doc/guides/bbdevs/turbo_sw.rst | 2 -
> doc/guides/bbdevs/vrb1.rst | 6 +-
> doc/guides/bbdevs/vrb2.rst | 6 +-
> doc/guides/compressdevs/isal.rst | 2 -
> doc/guides/compressdevs/mlx5.rst | 2 +-
> doc/guides/compressdevs/overview.rst | 2 -
> doc/guides/compressdevs/qat_comp.rst | 2 +-
> doc/guides/compressdevs/uadk.rst | 4 +-
> doc/guides/compressdevs/zlib.rst | 2 +-
> doc/guides/compressdevs/zsda.rst | 2 +-
> doc/guides/contributing/abi_policy.rst | 54 +++--
> doc/guides/contributing/abi_versioning.rst | 39 ++--
> doc/guides/contributing/cheatsheet.rst | 2 -
> doc/guides/contributing/coding_style.rst | 12 +-
> doc/guides/contributing/design.rst | 6 +-
> doc/guides/contributing/documentation.rst | 62 ++----
> doc/guides/contributing/new_driver.rst | 6 +-
> doc/guides/contributing/patches.rst | 17 +-
> doc/guides/contributing/stable.rst | 2 -
> doc/guides/cryptodevs/aesni_gcm.rst | 2 -
> doc/guides/cryptodevs/aesni_mb.rst | 2 -
> doc/guides/cryptodevs/caam_jr.rst | 4 +-
> doc/guides/cryptodevs/cnxk.rst | 6 +-
> doc/guides/cryptodevs/dpaa2_sec.rst | 4 +-
> doc/guides/cryptodevs/dpaa_sec.rst | 6 +-
> doc/guides/cryptodevs/mlx5.rst | 2 +-
> doc/guides/cryptodevs/octeontx.rst | 2 +-
> doc/guides/cryptodevs/overview.rst | 14 +-
> doc/guides/cryptodevs/qat.rst | 15 +-
> doc/guides/cryptodevs/snow3g.rst | 2 -
> doc/guides/cryptodevs/uadk.rst | 4 +-
> doc/guides/cryptodevs/zuc.rst | 2 -
> doc/guides/dmadevs/cnxk.rst | 6 +-
> doc/guides/dmadevs/dpaa.rst | 4 +-
> doc/guides/dmadevs/dpaa2.rst | 4 +-
> doc/guides/dmadevs/hisi_acc.rst | 4 +-
> doc/guides/dmadevs/idxd.rst | 20 +-
> doc/guides/dmadevs/ioat.rst | 18 +-
> doc/guides/dmadevs/odm.rst | 3 +-
> doc/guides/eventdevs/cnxk.rst | 4 +-
> doc/guides/eventdevs/dlb2.rst | 3 +-
> doc/guides/eventdevs/dpaa.rst | 8 +-
> doc/guides/eventdevs/dpaa2.rst | 4 +-
> doc/guides/eventdevs/octeontx.rst | 2 +-
> doc/guides/eventdevs/opdl.rst | 2 +-
> doc/guides/eventdevs/overview.rst | 14 --
> doc/guides/faq/faq.rst | 6 +-
> doc/guides/freebsd_gsg/build_dpdk.rst | 8 +-
> doc/guides/freebsd_gsg/build_sample_apps.rst | 8 +-
> doc/guides/freebsd_gsg/index.rst | 2 -
> doc/guides/freebsd_gsg/install_from_ports.rst | 14 +-
> doc/guides/freebsd_gsg/intro.rst | 2 +-
> doc/guides/howto/af_xdp_dp.rst | 8 +-
> doc/guides/howto/avx512.rst | 5 +-
> doc/guides/howto/flow_bifurcation.rst | 6 +-
> doc/guides/howto/lm_bond_virtio_sriov.rst | 9 +-
> doc/guides/howto/lm_virtio_vhost_user.rst | 6 +-
> doc/guides/howto/openwrt.rst | 2 +-
> doc/guides/howto/packet_capture_framework.rst | 13 +-
> doc/guides/howto/pvp_reference_benchmark.rst | 6 +-
> doc/guides/howto/rte_flow.rst | 4 +-
> doc/guides/howto/security.rst | 46 ++--
> doc/guides/howto/telemetry.rst | 2 +-
> doc/guides/howto/vfd.rst | 2 -
> .../howto/virtio_user_as_exception_path.rst | 10 +-
> .../virtio_user_for_container_networking.rst | 10 +-
> doc/guides/linux_gsg/build_dpdk.rst | 6 +-
> doc/guides/linux_gsg/build_sample_apps.rst | 13 +-
> .../linux_gsg/cross_build_dpdk_for_arm64.rst | 10 +-
> doc/guides/linux_gsg/doc_roadmap.include.rst | 28 +--
> doc/guides/linux_gsg/enable_func.rst | 8 +-
> doc/guides/linux_gsg/index.rst | 2 -
> doc/guides/linux_gsg/linux_drivers.rst | 20 +-
> .../linux_gsg/nic_perf_intel_platform.rst | 2 +-
> doc/guides/linux_gsg/sys_reqs.rst | 9 +-
> doc/guides/mempool/cnxk.rst | 4 +-
> doc/guides/mempool/octeontx.rst | 2 +-
> doc/guides/mempool/ring.rst | 2 +-
> doc/guides/mempool/stack.rst | 2 +-
> doc/guides/mldevs/cnxk.rst | 8 +-
> doc/guides/nics/af_xdp.rst | 2 +-
> doc/guides/nics/ark.rst | 15 +-
> doc/guides/nics/avp.rst | 2 +-
> doc/guides/nics/axgbe.rst | 9 +-
> doc/guides/nics/bnx2x.rst | 9 +-
> doc/guides/nics/bnxt.rst | 2 +-
> doc/guides/nics/build_and_test.rst | 11 +-
> doc/guides/nics/cnxk.rst | 11 +-
> doc/guides/nics/cpfl.rst | 4 +-
> doc/guides/nics/cxgbe.rst | 32 +--
> doc/guides/nics/dpaa.rst | 11 +-
> doc/guides/nics/dpaa2.rst | 19 +-
> doc/guides/nics/ena.rst | 14 +-
> doc/guides/nics/enetc.rst | 4 +-
> doc/guides/nics/enetc4.rst | 4 +-
> doc/guides/nics/enic.rst | 9 +-
> doc/guides/nics/fail_safe.rst | 3 +-
> doc/guides/nics/features.rst | 8 +-
> doc/guides/nics/hinic.rst | 5 +-
> doc/guides/nics/hinic3.rst | 6 +-
> doc/guides/nics/hns3.rst | 8 +-
> doc/guides/nics/i40e.rst | 29 ++-
> doc/guides/nics/ice.rst | 17 +-
> doc/guides/nics/idpf.rst | 4 +-
> doc/guides/nics/igc.rst | 5 +-
> doc/guides/nics/intel_vf.rst | 18 +-
> doc/guides/nics/ionic.rst | 5 +-
> doc/guides/nics/ipn3ke.rst | 9 +-
> doc/guides/nics/ixgbe.rst | 4 +-
> doc/guides/nics/mana.rst | 3 +-
> doc/guides/nics/memif.rst | 4 +-
> doc/guides/nics/mlx4.rst | 12 +-
> doc/guides/nics/mlx5.rst | 14 +-
> doc/guides/nics/mvneta.rst | 3 +-
> doc/guides/nics/mvpp2.rst | 39 ++--
> doc/guides/nics/nbl.rst | 3 +-
> doc/guides/nics/netvsc.rst | 4 +-
> doc/guides/nics/nfp.rst | 3 +-
> doc/guides/nics/ngbe.rst | 5 +-
> doc/guides/nics/octeon_ep.rst | 2 +-
> doc/guides/nics/octeontx.rst | 9 +-
> doc/guides/nics/overview.rst | 2 -
> doc/guides/nics/pfe.rst | 6 +-
> doc/guides/nics/qede.rst | 13 +-
> doc/guides/nics/rnp.rst | 2 -
> doc/guides/nics/softnic.rst | 11 +-
> doc/guides/nics/thunderx.rst | 9 +-
> doc/guides/nics/txgbe.rst | 9 +-
> doc/guides/nics/vhost.rst | 2 +-
> doc/guides/nics/virtio.rst | 4 +-
> doc/guides/nics/vmxnet3.rst | 12 +-
> doc/guides/nics/xsc.rst | 3 +-
> doc/guides/nics/zxdh.rst | 3 +-
> doc/guides/platform/bluefield.rst | 8 +-
> doc/guides/platform/cnxk.rst | 38 ++--
> doc/guides/platform/dpaa.rst | 15 +-
> doc/guides/platform/dpaa2.rst | 15 +-
> doc/guides/platform/mlx5.rst | 14 +-
> doc/guides/platform/octeontx.rst | 17 +-
> doc/guides/prog_guide/asan.rst | 2 +-
> doc/guides/prog_guide/bbdev.rst | 12 +-
> doc/guides/prog_guide/build-sdk-meson.rst | 18 +-
> doc/guides/prog_guide/build_app.rst | 2 +-
> doc/guides/prog_guide/cmdline.rst | 2 +-
> doc/guides/prog_guide/compressdev.rst | 6 +-
> doc/guides/prog_guide/cryptodev_lib.rst | 6 +-
> doc/guides/prog_guide/devargs.rst | 4 +-
> doc/guides/prog_guide/dmadev.rst | 4 +-
> doc/guides/prog_guide/efd_lib.rst | 59 +++--
> .../prog_guide/env_abstraction_layer.rst | 28 ++-
> doc/guides/prog_guide/ethdev/ethdev.rst | 4 +-
> doc/guides/prog_guide/ethdev/flow_offload.rst | 204 +-----------------
> .../prog_guide/ethdev/qos_framework.rst | 130 +++++------
> .../ethdev/traffic_metering_and_policing.rst | 4 +-
> .../prog_guide/eventdev/dispatcher_lib.rst | 4 +-
> .../eventdev/event_crypto_adapter.rst | 6 +-
> .../prog_guide/eventdev/event_dma_adapter.rst | 6 +-
> .../eventdev/event_ethernet_rx_adapter.rst | 2 +-
> .../eventdev/event_ethernet_tx_adapter.rst | 2 +-
> .../eventdev/event_timer_adapter.rst | 2 +-
> doc/guides/prog_guide/eventdev/eventdev.rst | 2 -
> doc/guides/prog_guide/fib_lib.rst | 6 +-
> .../generic_receive_offload_lib.rst | 4 +-
> .../generic_segmentation_offload_lib.rst | 8 +-
> doc/guides/prog_guide/graph_lib.rst | 58 +++--
> doc/guides/prog_guide/hash_lib.rst | 10 +-
> doc/guides/prog_guide/index.rst | 2 +-
> doc/guides/prog_guide/ipsec_lib.rst | 4 +-
> .../link_bonding_poll_mode_drv_lib.rst | 2 +-
> doc/guides/prog_guide/mbuf_lib.rst | 6 +-
> doc/guides/prog_guide/member_lib.rst | 10 +-
> doc/guides/prog_guide/mempool_lib.rst | 15 +-
> doc/guides/prog_guide/mldev.rst | 2 -
> doc/guides/prog_guide/multi_proc_support.rst | 11 +-
> doc/guides/prog_guide/overview.rst | 2 -
> .../prog_guide/packet_classif_access_ctrl.rst | 4 +-
> doc/guides/prog_guide/packet_framework.rst | 91 ++++----
> doc/guides/prog_guide/pdcp_lib.rst | 2 -
> doc/guides/prog_guide/pdump_lib.rst | 2 -
> doc/guides/prog_guide/power_man.rst | 12 +-
> doc/guides/prog_guide/profile_app.rst | 2 +-
> doc/guides/prog_guide/rcu_lib.rst | 4 +-
> doc/guides/prog_guide/regexdev.rst | 2 +-
> doc/guides/prog_guide/reorder_lib.rst | 8 +-
> doc/guides/prog_guide/rib_lib.rst | 12 +-
> doc/guides/prog_guide/ring_lib.rst | 43 ----
> doc/guides/prog_guide/rte_security.rst | 6 +-
> doc/guides/prog_guide/source_org.rst | 2 +-
> doc/guides/prog_guide/stack_lib.rst | 2 +-
> doc/guides/prog_guide/telemetry_lib.rst | 2 +-
> doc/guides/prog_guide/thread_safety.rst | 2 +-
> doc/guides/prog_guide/toeplitz_hash_lib.rst | 14 +-
> doc/guides/prog_guide/trace_lib.rst | 10 +-
> doc/guides/rawdevs/dpaa2_cmdif.rst | 4 +-
> doc/guides/rawdevs/ifpga.rst | 4 +-
> doc/guides/regexdevs/cn9k.rst | 6 +-
> doc/guides/regexdevs/features_overview.rst | 2 -
> doc/guides/regexdevs/mlx5.rst | 4 +-
> doc/guides/rel_notes/deprecation.rst | 3 +-
> doc/guides/rel_notes/release_17_02.rst | 4 +-
> doc/guides/rel_notes/release_17_11.rst | 16 +-
> doc/guides/rel_notes/release_18_02.rst | 4 +-
> doc/guides/rel_notes/release_18_05.rst | 14 +-
> doc/guides/rel_notes/release_18_08.rst | 4 +-
> doc/guides/rel_notes/release_18_11.rst | 10 +-
> doc/guides/rel_notes/release_19_02.rst | 6 +-
> doc/guides/rel_notes/release_19_05.rst | 4 +-
> doc/guides/rel_notes/release_19_08.rst | 6 +-
> doc/guides/rel_notes/release_19_11.rst | 14 +-
> doc/guides/rel_notes/release_20_02.rst | 6 +-
> doc/guides/rel_notes/release_20_05.rst | 4 +-
> doc/guides/rel_notes/release_20_08.rst | 4 +-
> doc/guides/rel_notes/release_20_11.rst | 10 +-
> doc/guides/rel_notes/release_21_02.rst | 4 +-
> doc/guides/rel_notes/release_21_08.rst | 4 +-
> doc/guides/rel_notes/release_21_11.rst | 6 +-
> doc/guides/rel_notes/release_22_03.rst | 2 +-
> doc/guides/rel_notes/release_22_07.rst | 2 +-
> doc/guides/rel_notes/release_22_11.rst | 12 +-
> doc/guides/rel_notes/release_23_03.rst | 2 +-
> doc/guides/rel_notes/release_23_07.rst | 4 +-
> doc/guides/rel_notes/release_23_11.rst | 2 +-
> doc/guides/rel_notes/release_24_07.rst | 2 +-
> doc/guides/rel_notes/release_25_03.rst | 2 +-
> doc/guides/rel_notes/release_25_07.rst | 10 +-
> doc/guides/sample_app_ug/compiling.rst | 6 +-
> doc/guides/sample_app_ug/dist_app.rst | 6 +-
> doc/guides/sample_app_ug/dma.rst | 10 +-
> .../sample_app_ug/eventdev_pipeline.rst | 9 +-
> doc/guides/sample_app_ug/flow_filtering.rst | 2 +-
> doc/guides/sample_app_ug/intro.rst | 4 +-
> doc/guides/sample_app_ug/ip_pipeline.rst | 4 -
> doc/guides/sample_app_ug/ip_reassembly.rst | 4 +-
> .../sample_app_ug/l2_forward_crypto.rst | 2 -
> doc/guides/sample_app_ug/l2_forward_event.rst | 19 +-
> .../sample_app_ug/l2_forward_job_stats.rst | 14 +-
> .../sample_app_ug/l2_forward_real_virtual.rst | 20 +-
> doc/guides/sample_app_ug/l3_forward.rst | 4 -
> doc/guides/sample_app_ug/l3_forward_graph.rst | 2 -
> .../sample_app_ug/l3_forward_power_man.rst | 2 +-
> doc/guides/sample_app_ug/link_status_intr.rst | 4 +-
> doc/guides/sample_app_ug/multi_process.rst | 4 -
> doc/guides/sample_app_ug/packet_ordering.rst | 2 +-
> doc/guides/sample_app_ug/ptp_tap_relay_sw.rst | 2 +-
> doc/guides/sample_app_ug/ptpclient.rst | 6 +-
> doc/guides/sample_app_ug/qos_metering.rst | 2 -
> doc/guides/sample_app_ug/qos_scheduler.rst | 7 +-
> doc/guides/sample_app_ug/server_node_efd.rst | 7 +-
> doc/guides/sample_app_ug/skeleton.rst | 4 +-
> doc/guides/sample_app_ug/test_pipeline.rst | 6 +-
> doc/guides/sample_app_ug/vdpa.rst | 2 -
> doc/guides/sample_app_ug/vhost.rst | 7 +-
> doc/guides/sample_app_ug/vhost_blk.rst | 6 +-
> doc/guides/sample_app_ug/vhost_crypto.rst | 2 -
> .../sample_app_ug/vm_power_management.rst | 37 ++--
> .../sample_app_ug/vmdq_dcb_forwarding.rst | 5 +-
> doc/guides/sample_app_ug/vmdq_forwarding.rst | 2 +-
> doc/guides/testpmd_app_ug/index.rst | 2 -
> doc/guides/testpmd_app_ug/run_app.rst | 6 +-
> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 26 +--
> doc/guides/tools/dts.rst | 28 ++-
> doc/guides/tools/flow-perf.rst | 4 +-
> doc/guides/tools/graph.rst | 70 +++---
> doc/guides/tools/pdump.rst | 2 -
> doc/guides/tools/securityperf.rst | 4 +-
> doc/guides/tools/testbbdev.rst | 8 +-
> doc/guides/tools/testeventdev.rst | 48 +----
> doc/guides/tools/testmldev.rst | 12 --
> doc/guides/vdpadevs/features_overview.rst | 2 -
> doc/guides/vdpadevs/mlx5.rst | 2 +-
> doc/guides/windows_gsg/index.rst | 2 -
> doc/guides/windows_gsg/intro.rst | 2 +-
> 278 files changed, 1054 insertions(+), 1700 deletions(-)
For the series:
Acked-by: David Marchand <david.marchand@redhat.com>
--
David Marchand
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH v3 0/8] doc: clean-up links in guides
2026-07-16 10:31 ` [PATCH v3 0/8] doc: clean-up links in guides Thomas Monjalon
` (8 preceding siblings ...)
2026-07-16 15:29 ` [PATCH v3 0/8] doc: clean-up links in guides David Marchand
@ 2026-07-17 9:42 ` fengchengwen
9 siblings, 0 replies; 18+ messages in thread
From: fengchengwen @ 2026-07-17 9:42 UTC (permalink / raw)
To: dev
Series-acked-by: Chengwen Feng <fengchengwen@huawei.com>
On 7/16/2026 6:31 PM, Thomas Monjalon wrote:
> Links and references to other guide sections had multiple issues,
> all solved in this series.
>
> The important metric in cleanups is having more deletions than additions:
> 278 files changed, 1054 insertions(+), 1700 deletions(-)
> meaning it should be easier to maintain.
>
>
> David Marchand (1):
> doc: remove unused labels from guides
>
> Nandini Persad (1):
> doc: add prefixes to guide labels
>
> Thomas Monjalon (6):
> doc: adjust heading underline lengths
> doc: replace vague references with precise links
> doc: shorten page references in guides
> doc: link whole-guide references to pages
> doc: remove redundant link captions
> doc: avoid numbered guide references
^ permalink raw reply [flat|nested] 18+ messages in thread