DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] doc: fix anchors namespace in guides
@ 2025-05-27 14:04 Nandini Persad
  2025-05-27 14:25 ` Bruce Richardson
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Nandini Persad @ 2025-05-27 14:04 UTC (permalink / raw)
  To: Bruce Richardson, Wathsala Vithanage, Ciara Loftus,
	Maryam Tahhan, Julien Aube, Nithin Dabilpuram, Kiran Kumar K,
	Sunil Kumar Kori, Satha Rao, Harman Kalra, Potnuri Bharat Teja,
	Hemant Agrawal, Sachin Saxena, John Daley, Hyong Youb Kim,
	Ian Stokes, Anatoly Burakov, Vladimir Medvedkin, Matan Azrad,
	Viacheslav Ovsiienko, Dariusz Sosnowski, Bing Zhao, Ori Kam,
	Suanming Mou, Liron Himi, Long Li, Wei Hu, Devendra Singh Rawat,
	Alok Prasad, Maxime Coquelin, Chenbo Xia, Jochen Behrens,
	Paul Szczepanek, Patrick Robb
  Cc: dev

I modified the anchors names within the guides to have a
a clear prefix so that they don't collide, based on
advice from Thomas.

Signed-off-by: Nandini Persad <nandinipersad361@gmail.com>
---
 doc/guides/freebsd_gsg/build_dpdk.rst          |  8 ++++----
 doc/guides/freebsd_gsg/build_sample_apps.rst   |  6 +++---
 doc/guides/freebsd_gsg/install_from_ports.rst  |  2 +-
 doc/guides/linux_gsg/build_dpdk.rst            |  4 ++--
 .../linux_gsg/cross_build_dpdk_for_arm64.rst   |  4 ++--
 doc/guides/linux_gsg/enable_func.rst           |  6 +++---
 doc/guides/linux_gsg/linux_drivers.rst         |  6 +++---
 doc/guides/nics/af_xdp.rst                     |  6 +++---
 doc/guides/nics/bnx2x.rst                      |  2 +-
 doc/guides/nics/build_and_test.rst             |  2 +-
 doc/guides/nics/cnxk.rst                       |  2 +-
 doc/guides/nics/cxgbe.rst                      | 12 ++++++------
 doc/guides/nics/dpaa.rst                       |  2 +-
 doc/guides/nics/dpaa2.rst                      |  4 ++--
 doc/guides/nics/enic.rst                       |  6 +++---
 doc/guides/nics/i40e.rst                       |  4 ++--
 doc/guides/nics/ice.rst                        |  2 +-
 doc/guides/nics/intel_vf.rst                   | 10 +++++-----
 doc/guides/nics/ixgbe.rst                      |  2 +-
 doc/guides/nics/mlx4.rst                       | 10 +++++-----
 doc/guides/nics/mlx5.rst                       |  4 ++--
 doc/guides/nics/mvpp2.rst                      | 12 ++++++------
 doc/guides/nics/netvsc.rst                     |  4 ++--
 doc/guides/nics/overview.rst                   |  2 +-
 doc/guides/nics/qede.rst                       |  4 ++--
 doc/guides/nics/virtio.rst                     |  4 ++--
 doc/guides/nics/vmxnet3.rst                    |  6 +++---
 doc/guides/platform/cnxk.rst                   |  8 ++++----
 doc/guides/platform/dpaa.rst                   |  2 +-
 doc/guides/platform/dpaa2.rst                  |  2 +-
 doc/guides/platform/mlx5.rst                   | 18 +++++++++---------
 doc/guides/platform/octeontx.rst               |  2 +-
 doc/guides/tools/dts.rst                       | 10 +++++-----
 33 files changed, 89 insertions(+), 89 deletions(-)

diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst
index f98292bf41..a14b9e9f24 100644
--- a/doc/guides/freebsd_gsg/build_dpdk.rst
+++ b/doc/guides/freebsd_gsg/build_dpdk.rst
@@ -3,7 +3,7 @@
 
 .. include:: <isonum.txt>
 
-.. _building_from_source:
+.. _freebsd_gsg_building_from_source:
 
 Compiling the DPDK Target from Source
 =====================================
@@ -67,7 +67,7 @@ the next section.
         variable.
 
 
-.. _loading_contigmem:
+.. _freebsd_loading_contigmem:
 
 Loading the DPDK contigmem Module
 ---------------------------------
@@ -148,7 +148,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
 -------------------------------
@@ -185,7 +185,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 7bdd88e56d..535738617b 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -1,7 +1,7 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright(c) 2010-2014 Intel Corporation.
 
-.. _compiling_sample_apps:
+.. _freebsd_gsg_compiling_sample_apps:
 
 Compiling and Running Sample Applications
 =========================================
@@ -44,7 +44,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
 ----------------------------
@@ -96,7 +96,7 @@ Other options, specific to Linux and are not supported under FreeBSD are as foll
 
 The ``-c`` or ``-l`` option is mandatory; the others are optional.
 
-.. _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 3c98c46b29..b9e9bc4bac 100644
--- a/doc/guides/freebsd_gsg/install_from_ports.rst
+++ b/doc/guides/freebsd_gsg/install_from_ports.rst
@@ -1,7 +1,7 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright(c) 2010-2014 Intel Corporation.
 
-.. _install_from_ports:
+.. _freebsd_gsg_install_from_ports:
 
 Installing DPDK from the Ports Collection
 =========================================
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 9c0dd9daf6..5c52fb5136 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -82,7 +82,7 @@ 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:
+.. _linux_gsg_adjusting_build_options:
 
 Adjusting Build Options
 ~~~~~~~~~~~~~~~~~~~~~~~
@@ -177,7 +177,7 @@ Once the build directory has been configured,
 DPDK can be compiled using ``ninja`` as described above.
 
 
-.. _building_app_using_installed_dpdk:
+.. _linux_gsg_building_app_using_installed_dpdk:
 
 Building Applications Using Installed DPDK
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 e4de5c8d18..fd990f9ba9 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
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index 5511640cb8..a2af60e067 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -3,12 +3,12 @@
 
 .. include:: <isonum.txt>
 
-.. _Enabling_Additional_Functionality:
+.. _linux_gsg_Enabling_Additional_Functionality:
 
 Enabling Additional Functionality
 =================================
 
-.. _Running_Without_Root_Privileges:
+.. _linux_gsg_Running_Without_Root_Privileges:
 
 Running DPDK Applications Without Root Privileges
 -------------------------------------------------
@@ -157,7 +157,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 852a60f5c0..5ffcb5f2b6 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -135,7 +135,7 @@ For proper operation of VFIO when running DPDK applications as a non-privileged
 For more information, please refer to :ref:`Running_Without_Root_Privileges`.
 
 
-.. _vfio_noiommu:
+.. _linux_gsg_vfio_noiommu:
 
 VFIO no-IOMMU mode
 ~~~~~~~~~~~~~~~~~~
@@ -361,7 +361,7 @@ running on these systems.
 Consult your distributions documentation to make sure that is the case.
 
 
-.. _bifurcated_driver:
+.. _linux_gsg_bifurcated_driver:
 
 Bifurcated Driver
 -----------------
@@ -386,7 +386,7 @@ More about the bifurcated driver can be found in
 NVIDIA `bifurcated PMD
 <https://www.dpdk.org/wp-content/uploads/sites/35/2016/10/Day02-Session04-RonyEfraim-Userspace2016.pdf>`_ presentation.
 
-.. _uio:
+.. _linux_gsg_uio:
 
 UIO
 ---
diff --git a/doc/guides/nics/af_xdp.rst b/doc/guides/nics/af_xdp.rst
index 8bd17f04ae..5fc4d5bd8c 100644
--- a/doc/guides/nics/af_xdp.rst
+++ b/doc/guides/nics/af_xdp.rst
@@ -157,7 +157,7 @@ use_cni
 The EAL vdev argument ``use_cni`` is used to indicate that the user wishes to
 enable the `AF_XDP Device Plugin for Kubernetes`_ with a DPDK application/pod.
 
-.. _AF_XDP Device Plugin for Kubernetes: https://github.com/redhat-et/afxdp-plugins-for-kubernetes
+.. _nics_AF_XDP Device Plugin for Kubernetes: https://github.com/redhat-et/afxdp-plugins-for-kubernetes
 
 .. code-block:: console
 
@@ -178,7 +178,7 @@ The EAL vdev argument ``use_pinned_map`` is used to indicate that the user wishe
 load a pinned xskmap mounted by `AF_XDP Device Plugin for Kubernetes`_ in the DPDK
 application/pod.
 
-.. _AF_XDP Device Plugin for Kubernetes: https://github.com/redhat-et/afxdp-plugins-for-kubernetes
+.. _nics_AF_XDP Device Plugin for Kubernetes: https://github.com/redhat-et/afxdp-plugins-for-kubernetes
 
 .. code-block:: console
 
@@ -202,7 +202,7 @@ to explicitly tell the AF_XDP PMD where to find either:
 If this argument is not passed alongside the ``use_cni`` or ``use_pinned_map`` arguments then
 the AF_XDP PMD configures it internally to the `AF_XDP Device Plugin for Kubernetes`_.
 
-.. _AF_XDP Device Plugin for Kubernetes: https://github.com/redhat-et/afxdp-plugins-for-kubernetes
+.. _nics_AF_XDP Device Plugin for Kubernetes: https://github.com/redhat-et/afxdp-plugins-for-kubernetes
 
 .. code-block:: console
 
diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst
index c24d32b9ab..c4d292e8f2 100644
--- a/doc/guides/nics/bnx2x.rst
+++ b/doc/guides/nics/bnx2x.rst
@@ -99,7 +99,7 @@ enabling debugging options may affect system performance.
 
   Toggle display of register reads and writes.
 
-.. _bnx2x_driver-compilation:
+.. _nics_bnx2x_driver-compilation:
 
 Driver compilation and testing
 ------------------------------
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index 08310234ac..75f627c89d 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -1,7 +1,7 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright(c) 2017 Cavium, Inc
 
-.. _pmd_build_and_test:
+.. _nics_pmd_build_and_test:
 
 Compiling and testing a PMD for a NIC
 =====================================
diff --git a/doc/guides/nics/cnxk.rst b/doc/guides/nics/cnxk.rst
index 35f95dcc0a..ce15eda698 100644
--- a/doc/guides/nics/cnxk.rst
+++ b/doc/guides/nics/cnxk.rst
@@ -716,7 +716,7 @@ Port representor PMD supports following operations:
 Debugging Options
 -----------------
 
-.. _table_cnxk_ethdev_debug_options:
+.. _nics_table_cnxk_ethdev_debug_options:
 
 .. table:: cnxk ethdev debug options
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 1f0b848ede..cd71e03645 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:
+.. _nics_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:
+.. _nics_t6-nics:
 
 Supported Chelsio T6 NICs
 -------------------------
@@ -319,7 +319,7 @@ CXGBE PF Only Runtime Options
 
      dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
-.. _driver-compilation:
+.. _nics_driver-compilation:
 
 Driver compilation and testing
 ------------------------------
@@ -330,7 +330,7 @@ for details.
 Linux
 -----
 
-.. _linux-installation:
+.. _nics_linux-installation:
 
 Linux Installation
 ~~~~~~~~~~~~~~~~~~
@@ -582,7 +582,7 @@ virtual functions.
 FreeBSD
 -------
 
-.. _freebsd-installation:
+.. _nics_freebsd-installation:
 
 FreeBSD Installation
 ~~~~~~~~~~~~~~~~~~~~
@@ -784,7 +784,7 @@ devices managed by librte_net_cxgbe in FreeBSD operating system.
 Sample Application Notes
 ------------------------
 
-.. _flow-control:
+.. _nics_flow-control:
 
 Enable/Disable Flow Control
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index de3ae96e07..89d6ec0bf0 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -23,7 +23,7 @@ Contents summary
 - DPAA driver architecture overview
 - FMAN configuration tools and library
 
-.. _dpaa_overview:
+.. _nics_dpaa_overview:
 
 DPAA Overview
 ~~~~~~~~~~~~~
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 3175a8b421..0dc377e467 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -23,7 +23,7 @@ Contents summary
 - Overview of DPAA2 objects
 - DPAA2 driver architecture overview
 
-.. _dpaa2_overview:
+.. _nics_dpaa2_overview:
 
 DPAA2 Overview
 ~~~~~~~~~~~~~~
@@ -555,7 +555,7 @@ Other Limitations
 - RSS hash key cannot be modified.
 - RSS RETA cannot be configured.
 
-.. _dptmapi:
+.. _nics_dptmapi:
 
 Traffic Management API
 ----------------------
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index a400bbc4f7..89ac6dbd9d 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -219,7 +219,7 @@ There are two known limitations of the current SR-IOV implementation.
    and assign them to VMs as passthrough devices.
 
 
-.. _enic-generic-flow-api:
+.. _nics_enic-generic-flow-api:
 
 Generic Flow API support
 ------------------------
@@ -279,7 +279,7 @@ 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:
+.. _nics_overlay_offload:
 
 Overlay Offload
 ---------------
@@ -429,7 +429,7 @@ 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:
+.. _nics_enic_limitations:
 
 Limitations
 -----------
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index ba592d23fe..48c5454bc3 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -763,7 +763,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:
+.. _nics_net_i40e_testpmd_commands:
 
 Testpmd driver specific commands
 --------------------------------
@@ -991,7 +991,7 @@ 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.
 
-.. _figure_intel_perf_test_setup:
+.. _nics_figure_intel_perf_test_setup:
 
 .. figure:: img/intel_perf_test_setup.*
 
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 77985ae5a2..b94cc8abef 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -497,7 +497,7 @@ Additional Options
 
     -a 18:01.0,cap=dcf,acl=off
 
-.. _figure_ice_dcf:
+.. _nics_figure_ice_dcf:
 
 .. figure:: img/ice_dcf.*
 
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index 4780ee7add..3905d0a1ea 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -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:
+.. _linux_gsg_nics_figure_single_port_nic:
 
 .. figure:: img/single_port_nic.*
 
@@ -338,7 +338,7 @@ The expected guest operating systems in a virtualized environment are:
 
 For supported kernel versions, refer to the *DPDK Release Notes*.
 
-.. _intel_vf_kvm:
+.. _linux_gsg_nics_intel_vf_kvm:
 
 Setting Up a KVM Virtual Machine Monitor
 ----------------------------------------
@@ -552,7 +552,7 @@ The setup procedure is as follows:
 
     *   The Virtual Machine Monitor (see :numref:`figure_perf_benchmark`) is equivalent to a Host OS with KVM installed as described in the instructions.
 
-.. _figure_perf_benchmark:
+.. _linux_gsg_nics_figure_perf_benchmark:
 
 .. figure:: img/perf_benchmark.*
 
@@ -575,7 +575,7 @@ 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,
 while others connect to a virtual switch and share the same uplink bandwidth.
 
-.. _figure_fast_pkt_proc:
+.. _linux_gsg_nics_figure_fast_pkt_proc:
 
 .. figure:: img/fast_pkt_proc.*
 
@@ -602,7 +602,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:
+.. _linux_gsg_nics_figure_inter_vm_comms:
 
 .. figure:: img/inter_vm_comms.*
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index a03ec7a7e8..c4696ccaa2 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -356,7 +356,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:
+.. _nics_net_ixgbe_testpmd_commands:
 
 Testpmd driver specific commands
 --------------------------------
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index ecc5a32913..7e5b1d471a 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -228,9 +228,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
+.. _nics_`RDMA core installation documentation`: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md
 
-.. _OFED_as_a_fallback:
+.. _nics_OFED_as_a_fallback:
 
 NVIDIA MLNX_OFED as a fallback
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -238,7 +238,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/
+.. _nics_`NVIDIA MLNX_OFED`: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/
 
 .. note::
 
@@ -276,7 +276,7 @@ Installing NVIDIA MLNX_OFED
 
 #. Continue with :ref:`section 2 of the Quick Start Guide <QSG_2>`.
 
-.. _qsg:
+.. _nics_qsg:
 
 Quick Start Guide
 -----------------
@@ -293,7 +293,7 @@ Quick Start Guide
         to Ethernet using connectx_port_config tool provided by it.
         :ref:`OFED_as_a_fallback`:
 
-.. _QSG_2:
+.. _nics_QSG_2:
 
 #. In case of bare metal or hypervisor, configure optimized steering mode
    by adding the following line to ``/etc/modprobe.d/mlx4_core.conf``::
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 08f3648e99..dbce70c6a6 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -412,7 +412,7 @@ Limitations
      - Supported also with ``FLEX_PARSER_PROFILE_ENABLE`` = 0 for single DW only.
      - Supported for FW version **xx.37.0142** and above.
 
-  .. _geneve_parser_api:
+  .. _nics_geneve_parser_api:
 
   - An API (``rte_pmd_mlx5_create_geneve_tlv_parser``)
     is available for the flexible parser used in HW steering:
@@ -1919,7 +1919,7 @@ There are multiple Rx burst functions with different advantages and limitations.
    |                   || RxQs >= rxqs_min_mprq |         |                 |      |       |
    +-------------------+------------------------+---------+-----------------+------+-------+
 
-.. _mlx5_offloads_support:
+.. _nics_mlx5_offloads_support:
 
 Supported hardware offloads
 ---------------------------
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 4e42abd70e..2d444a81ed 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -2,7 +2,7 @@
     Copyright(c) 2017 Marvell International Ltd.
     Copyright(c) 2017 Semihalf.
 
-.. _mvpp2_poll_mode_driver:
+.. _nics_mvpp2_poll_mode_driver:
 
 MVPP2 Poll Mode Driver
 ======================
@@ -166,7 +166,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:
+.. _nics_extstats:
 
 Extended stats
 --------------
@@ -188,7 +188,7 @@ MVPP2 PMD supports the following extended statistics:
 	- ``tx_errors``: number of TX MAC errors
 
 
-.. _extconf:
+.. _nics_extconf:
 
 External Configuration
 ----------------------
@@ -393,7 +393,7 @@ Usage example
    ./dpdk-testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2,cfg=/home/user/mrvl.conf \
      -c 7 -- -i -a --disable-hw-vlan-strip --rxq=3 --txq=3
 
-.. _flowapi:
+.. _nics_flowapi:
 
 Flow API
 --------
@@ -565,7 +565,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:
+.. _nics_mtrapi:
 
 Traffic metering and policing
 -----------------------------
@@ -622,7 +622,7 @@ For a detailed usage description please refer to "Traffic Metering and Policing"
 
 
 
-.. _tmapi:
+.. _nics_tmapi:
 
 Traffic Management API
 ----------------------
diff --git a/doc/guides/nics/netvsc.rst b/doc/guides/nics/netvsc.rst
index 2c0ea6ac9e..c1dac3caa0 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
+.. _nics_`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
+.. _nics_`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/nics/overview.rst b/doc/guides/nics/overview.rst
index 4553076481..b7a78ab45e 100644
--- a/doc/guides/nics/overview.rst
+++ b/doc/guides/nics/overview.rst
@@ -26,7 +26,7 @@ More details about features can be found in :doc:`features`.
 
 .. rst-class:: widepage
 
-.. _table_net_pmd_features:
+.. _nics_table_net_pmd_features:
 
 .. include:: overview_table.txt
 
diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index 38d5cbb1f3..7bd2a3e518 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -155,7 +155,7 @@ actions.
 
 Patterns:
 
-.. _table_qede_supported_flow_item_types:
+.. _linux_gsg_nics_table_qede_supported_flow_item_types:
 
 .. table:: Item types
 
@@ -173,7 +173,7 @@ Patterns:
 
 Actions:
 
-.. _table_qede_supported_ingress_action_types:
+.. _linux_gsg_nics_table_qede_supported_ingress_action_types:
 
 .. table:: Ingress action types
 
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index 0615abfaaf..a0ff742b23 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -93,7 +93,7 @@ The following prerequisites apply:
 Virtio with qemu virtio Back End
 --------------------------------
 
-.. _figure_host_vm_comms_qemu:
+.. _linux_gsg_nics_figure_host_vm_comms_qemu:
 
 .. figure:: img/host_vm_comms_qemu.*
 
@@ -202,7 +202,7 @@ in-order feature.
 Interrupt mode
 --------------
 
-.. _virtio_interrupt_mode:
+.. _linux_gsg_nics_virtio_interrupt_mode:
 
 There are three kinds of interrupts from a virtio device over PCI bus: config
 interrupt, Rx interrupts, and Tx interrupts. Config interrupt is used for
diff --git a/doc/guides/nics/vmxnet3.rst b/doc/guides/nics/vmxnet3.rst
index 3f498b905d..10a83047ee 100644
--- a/doc/guides/nics/vmxnet3.rst
+++ b/doc/guides/nics/vmxnet3.rst
@@ -110,7 +110,7 @@ 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:
+.. _nics_figure_vmxnet3_int:
 
 .. figure:: img/vmxnet3_int.*
 
@@ -135,7 +135,7 @@ VMXNET3 with a Native NIC Connected to a vSwitch
 
 This section describes an example setup for Phy-vSwitch-VM-Phy communication.
 
-.. _figure_vswitch_vm:
+.. _nics_figure_vswitch_vm:
 
 .. figure:: img/vswitch_vm.*
 
@@ -162,7 +162,7 @@ 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:
+.. _nics_figure_vm_vm_comms:
 
 .. figure:: img/vm_vm_comms.*
 
diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst
index 4aa900dd63..a0229883dd 100644
--- a/doc/guides/platform/cnxk.rst
+++ b/doc/guides/platform/cnxk.rst
@@ -26,7 +26,7 @@ Resource Virtualization Unit architecture
 The :numref:`figure_cnxk_resource_virtualization` diagram depicts the
 RVU architecture and a resource provisioning example.
 
-.. _figure_cnxk_resource_virtualization:
+.. _platform_figure_cnxk_resource_virtualization:
 
 .. figure:: img/cnxk_resource_virtualization.*
 
@@ -45,7 +45,7 @@ The :numref:`table_cnxk_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:
+.. _platform_table_cnxk_rvu_dpdk_mapping:
 
 .. table:: RVU managed functional blocks and its mapping to DPDK subsystem
 
@@ -148,7 +148,7 @@ 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.
 
-.. _figure_cnxk_packet_flow_hw_accelerators:
+.. _platform_figure_cnxk_packet_flow_hw_accelerators:
 
 .. figure:: img/cnxk_packet_flow_hw_accelerators.*
 
@@ -248,7 +248,7 @@ compatible board:
 Debugging Options
 -----------------
 
-.. _table_cnxk_common_debug_options:
+.. _platform_table_cnxk_common_debug_options:
 
 .. table:: cnxk common debug options
 
diff --git a/doc/guides/platform/dpaa.rst b/doc/guides/platform/dpaa.rst
index 282a2f45ee..0954117788 100644
--- a/doc/guides/platform/dpaa.rst
+++ b/doc/guides/platform/dpaa.rst
@@ -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:
+.. _platform_extra_scripts:
 
 - **DPDK Extra Scripts**
 
diff --git a/doc/guides/platform/dpaa2.rst b/doc/guides/platform/dpaa2.rst
index c9ec21334f..9b311ff398 100644
--- a/doc/guides/platform/dpaa2.rst
+++ b/doc/guides/platform/dpaa2.rst
@@ -94,7 +94,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:
+.. _platform_extra_scripts:
 
 - **DPDK Extra Scripts**
 
diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst
index ab3107209a..6cf9c6e509 100644
--- a/doc/guides/platform/mlx5.rst
+++ b/doc/guides/platform/mlx5.rst
@@ -53,7 +53,7 @@ On Windows, DevX is the only requirement from the above list.
 See :ref:`mlx5_windows_prerequisites` for DevX SDK package installation.
 
 
-.. _mlx5_classes:
+.. _platform_mlx5_classes:
 
 Classes
 -------
@@ -88,12 +88,12 @@ Limitations
 - On Windows, only ``eth`` and ``crypto`` are supported.
 
 
-.. _mlx5_common_compilation:
+.. _platform_mlx5_common_compilation:
 
 Compilation Prerequisites
 -------------------------
 
-.. _mlx5_linux_prerequisites:
+.. _platform_mlx5_linux_prerequisites:
 
 Linux Prerequisites
 ~~~~~~~~~~~~~~~~~~~
@@ -223,7 +223,7 @@ to match the kernel modules and libraries they come with.
    Please check the "Tested Platforms" section in the :doc:`../../rel_notes/index`.
 
 
-.. _mlx5_windows_prerequisites:
+.. _platform_mlx5_windows_prerequisites:
 
 Windows Prerequisites
 ~~~~~~~~~~~~~~~~~~~~~
@@ -278,7 +278,7 @@ or::
    set CFLAGS=-I"%DEVX_INC_PATH%" && set LDFLAGS=-L"%DEVX_LIB_PATH%" && meson.exe setup ...
 
 
-.. _mlx5_common_env:
+.. _platform_mlx5_common_env:
 
 Environment Configuration
 -------------------------
@@ -331,7 +331,7 @@ If link type was changed, firmware must be reset as well::
    mlxfwreset -d <mst device> reset
 
 
-.. _mlx5_vf:
+.. _platform_mlx5_vf:
 
 SR-IOV Virtual Function with MLNX_OFED/EN
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -360,7 +360,7 @@ Then the virtual functions can be instantiated::
    echo [num_vfs] > /sys/class/infiniband/mlx5_0/device/sriov_numvfs
 
 
-.. _mlx5_sub_function:
+.. _platform_mlx5_sub_function:
 
 Sub-Function with MLNX_OFED/EN
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -471,7 +471,7 @@ The keys ``DevxEnabled`` and ``DevxFsRules`` must be set.
 Additional information can be found in the WinOF2 user manual.
 
 
-.. _mlx5_firmware_config:
+.. _platform_mlx5_firmware_config:
 
 Firmware Configuration
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -574,7 +574,7 @@ Below are some firmware configurations listed.
    MEMIC_SIZE_LIMIT=0
 
 
-.. _mlx5_common_driver_options:
+.. _platform_mlx5_common_driver_options:
 
 Device Arguments
 ----------------
diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst
index b01f51ba4d..c8a256c565 100644
--- a/doc/guides/platform/octeontx.rst
+++ b/doc/guides/platform/octeontx.rst
@@ -62,7 +62,7 @@ OCTEON TX compatible board:
 
 #. Follow the DPDK :doc:`../linux_gsg/index` to setup the basic DPDK environment.
 
-.. _setup_platform_using_OCTEON_TX_SDK:
+.. _platform_setup_platform_using_OCTEON_TX_SDK:
 
 Setup Platform Using OCTEON TX SDK
 ----------------------------------
diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
index fcc6d22036..dce50d409d 100644
--- a/doc/guides/tools/dts.rst
+++ b/doc/guides/tools/dts.rst
@@ -147,7 +147,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.
@@ -444,7 +444,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
 ---------------------
@@ -472,7 +472,7 @@ The output is generated in ``build/doc/api/dts/html``.
 
    Make sure to fix any Sphinx warnings when adding or updating docstrings.
 
-.. _configuration_example:
+.. _dts_configuration_example:
 
 Configuration Example
 ---------------------
@@ -489,7 +489,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/test_run.example.yaml``
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -498,7 +498,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/nodes.example.yaml``
-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] doc: fix anchors namespace in guides
  2025-05-27 14:04 [PATCH] doc: fix anchors namespace in guides Nandini Persad
@ 2025-05-27 14:25 ` Bruce Richardson
  2025-05-28 16:02 ` Hemant Agrawal
  2025-10-02 11:32 ` [PATCH v2 1/2] doc: remove unused anchors David Marchand
  2 siblings, 0 replies; 5+ messages in thread
From: Bruce Richardson @ 2025-05-27 14:25 UTC (permalink / raw)
  To: Nandini Persad
  Cc: Wathsala Vithanage, Ciara Loftus, Maryam Tahhan, Julien Aube,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
	Harman Kalra, Potnuri Bharat Teja, Hemant Agrawal, Sachin Saxena,
	John Daley, Hyong Youb Kim, Ian Stokes, Anatoly Burakov,
	Vladimir Medvedkin, Matan Azrad, Viacheslav Ovsiienko,
	Dariusz Sosnowski, Bing Zhao, Ori Kam, Suanming Mou, Liron Himi,
	Long Li, Wei Hu, Devendra Singh Rawat, Alok Prasad,
	Maxime Coquelin, Chenbo Xia, Jochen Behrens, Paul Szczepanek,
	Patrick Robb, dev

On Tue, May 27, 2025 at 07:04:35AM -0700, Nandini Persad wrote:
> I modified the anchors names within the guides to have a
> a clear prefix so that they don't collide, based on
> advice from Thomas.
> 
> Signed-off-by: Nandini Persad <nandinipersad361@gmail.com>
> ---
Good idea.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] doc: fix anchors namespace in guides
  2025-05-27 14:04 [PATCH] doc: fix anchors namespace in guides Nandini Persad
  2025-05-27 14:25 ` Bruce Richardson
@ 2025-05-28 16:02 ` Hemant Agrawal
  2025-10-02 11:32 ` [PATCH v2 1/2] doc: remove unused anchors David Marchand
  2 siblings, 0 replies; 5+ messages in thread
From: Hemant Agrawal @ 2025-05-28 16:02 UTC (permalink / raw)
  To: Nandini Persad, Bruce Richardson, Wathsala Vithanage,
	Ciara Loftus, Maryam Tahhan, Julien Aube, Nithin Dabilpuram,
	Kiran Kumar K, Sunil Kumar Kori, Satha Rao, Harman Kalra,
	Potnuri Bharat Teja, Sachin Saxena, John Daley, Hyong Youb Kim,
	Ian Stokes, Anatoly Burakov, Vladimir Medvedkin, Matan Azrad,
	Viacheslav Ovsiienko, Dariusz Sosnowski, Bing Zhao, Ori Kam,
	Suanming Mou, Liron Himi, Long Li, Wei Hu, Devendra Singh Rawat,
	Alok Prasad, Maxime Coquelin, Chenbo Xia, Jochen Behrens,
	Paul Szczepanek, Patrick Robb
  Cc: dev



> -----Original Message-----
> From: Nandini Persad <nandinipersad361@gmail.com>
> Subject: [PATCH] doc: fix anchors namespace in guides
> Importance: High
> 
> I modified the anchors names within the guides to have a a clear prefix so that
> they don't collide, based on advice from Thomas.
> 
> Signed-off-by: Nandini Persad <nandinipersad361@gmail.com>

Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/2] doc: remove unused anchors
  2025-05-27 14:04 [PATCH] doc: fix anchors namespace in guides Nandini Persad
  2025-05-27 14:25 ` Bruce Richardson
  2025-05-28 16:02 ` Hemant Agrawal
@ 2025-10-02 11:32 ` David Marchand
  2025-10-02 11:32   ` [PATCH v2 2/2] doc: fix anchors namespace in guides David Marchand
  2 siblings, 1 reply; 5+ messages in thread
From: David Marchand @ 2025-10-02 11:32 UTC (permalink / raw)
  To: dev
  Cc: Kai Ji, Julien Aube, John Daley, Hyong Youb Kim,
	Bruce Richardson, Anatoly Burakov, Wenbo Cao, Maxime Coquelin,
	Chenbo Xia, Jochen Behrens, Chengwen Feng, Kevin Laatz,
	Byron Marohn, Yipeng Wang, Tyler Retzlaff, Cristian Dumitrescu,
	Abhinandan Gujjar, Amit Prakash Shukla, Jerin Jacob,
	Kiran Kumar K, Nithin Dabilpuram, Zhirun Yan, Sameh Gobriel,
	Srikanth Yalavarthi, Anoob Joseph, Volodymyr Fialko,
	Honnappa Nagarahalli, Konstantin Ananyev, David Hunt,
	Sivaprasad Tummala, Luca Vizzarro, Patrick Robb,
	Sunil Kumar Kori, Rakesh Kudurumalla

The documentation has unused anchors that were either left behind after
a documentation refactoring, or just unused since day 1.

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 doc/guides/contributing/abi_policy.rst            |  2 --
 doc/guides/contributing/cheatsheet.rst            |  1 -
 doc/guides/contributing/patches.rst               |  1 -
 doc/guides/cryptodevs/qat.rst                     |  1 -
 doc/guides/howto/flow_bifurcation.rst             |  1 -
 doc/guides/howto/lm_bond_virtio_sriov.rst         |  1 -
 doc/guides/howto/lm_virtio_vhost_user.rst         |  1 -
 doc/guides/howto/pvp_reference_benchmark.rst      |  1 -
 doc/guides/linux_gsg/build_dpdk.rst               |  1 -
 doc/guides/nics/bnx2x.rst                         |  1 -
 doc/guides/nics/enic.rst                          |  4 ----
 doc/guides/nics/ice.rst                           |  1 -
 doc/guides/nics/rnp.rst                           |  1 -
 doc/guides/nics/virtio.rst                        |  1 -
 doc/guides/nics/vmxnet3.rst                       |  3 ---
 doc/guides/prog_guide/dmadev.rst                  |  1 -
 doc/guides/prog_guide/efd_lib.rst                 |  4 ----
 doc/guides/prog_guide/env_abstraction_layer.rst   |  2 --
 doc/guides/prog_guide/ethdev/qos_framework.rst    |  4 ----
 .../prog_guide/eventdev/event_crypto_adapter.rst  |  2 --
 .../prog_guide/eventdev/event_dma_adapter.rst     |  2 --
 doc/guides/prog_guide/eventdev/eventdev.rst       |  1 -
 doc/guides/prog_guide/graph_lib.rst               |  4 ----
 doc/guides/prog_guide/member_lib.rst              |  7 -------
 doc/guides/prog_guide/mldev.rst                   |  1 -
 doc/guides/prog_guide/multi_proc_support.rst      |  1 -
 doc/guides/prog_guide/overview.rst                |  1 -
 doc/guides/prog_guide/packet_framework.rst        |  1 -
 doc/guides/prog_guide/pdcp_lib.rst                |  1 -
 doc/guides/prog_guide/ring_lib.rst                | 15 ---------------
 doc/guides/rel_notes/release_20_02.rst            |  1 -
 doc/guides/sample_app_ug/dist_app.rst             |  1 -
 doc/guides/sample_app_ug/l2_forward_crypto.rst    |  1 -
 doc/guides/sample_app_ug/l3_forward.rst           |  1 -
 doc/guides/sample_app_ug/multi_process.rst        |  2 --
 doc/guides/sample_app_ug/ptpclient.rst            |  1 -
 doc/guides/sample_app_ug/qos_scheduler.rst        |  1 -
 doc/guides/sample_app_ug/test_pipeline.rst        |  1 -
 doc/guides/sample_app_ug/vm_power_management.rst  |  2 --
 doc/guides/tools/dts.rst                          |  1 -
 doc/guides/tools/graph.rst                        |  2 --
 doc/guides/tools/testeventdev.rst                 | 10 ----------
 doc/guides/tools/testmldev.rst                    |  6 ------
 43 files changed, 98 deletions(-)

diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
index f03a7467ac..8288235921 100644
--- a/doc/guides/contributing/abi_policy.rst
+++ b/doc/guides/contributing/abi_policy.rst
@@ -53,7 +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.*
 
@@ -104,7 +103,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.*
 
diff --git a/doc/guides/contributing/cheatsheet.rst b/doc/guides/contributing/cheatsheet.rst
index 0debd118d7..4b353d2d01 100644
--- a/doc/guides/contributing/cheatsheet.rst
+++ b/doc/guides/contributing/cheatsheet.rst
@@ -4,7 +4,6 @@
 Patch Cheatsheet
 ================
 
-.. _figure_patch_cheatsheet:
 
 .. figure:: img/patch_cheatsheet.*
 
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 069a18e4ec..663881a59b 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -452,7 +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/qat.rst b/doc/guides/cryptodevs/qat.rst
index 68d792e4cc..d1c71ce89f 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -227,7 +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
 ~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst
index 5d2127bc31..3a3a779ad0 100644
--- a/doc/guides/howto/flow_bifurcation.rst
+++ b/doc/guides/howto/flow_bifurcation.rst
@@ -36,7 +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.*
 
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 1d46ebb27f..7fd54e8d91 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -40,7 +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.*
 
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index 94ab71d653..63cfb84bf0 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -32,7 +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.*
 
diff --git a/doc/guides/howto/pvp_reference_benchmark.rst b/doc/guides/howto/pvp_reference_benchmark.rst
index bec97b8675..6d2616e404 100644
--- a/doc/guides/howto/pvp_reference_benchmark.rst
+++ b/doc/guides/howto/pvp_reference_benchmark.rst
@@ -20,7 +20,6 @@ v16.11 using RHEL7 for both host and guest.
 Setup overview
 --------------
 
-.. _figure_pvp_2nics:
 
 .. figure:: img/pvp_2nics.*
 
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 2a983412dd..8d2b1708b8 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -82,7 +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/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst
index c24d32b9ab..fad62d2d52 100644
--- a/doc/guides/nics/bnx2x.rst
+++ b/doc/guides/nics/bnx2x.rst
@@ -99,7 +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/enic.rst b/doc/guides/nics/enic.rst
index a400bbc4f7..77578b4913 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -219,7 +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 +278,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,7 +426,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 7e9ba23102..7056d9709f 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -557,7 +557,6 @@ Additional Options
 
     -a 18:01.0,cap=dcf,acl=off
 
-.. _figure_ice_dcf:
 
 .. figure:: img/ice_dcf.*
 
diff --git a/doc/guides/nics/rnp.rst b/doc/guides/nics/rnp.rst
index 706cd04fa7..c4504e26f2 100644
--- a/doc/guides/nics/rnp.rst
+++ b/doc/guides/nics/rnp.rst
@@ -32,7 +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.*
 
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index a7642d96ce..588ac41464 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -93,7 +93,6 @@ The following prerequisites apply:
 Virtio with qemu virtio Back End
 --------------------------------
 
-.. _figure_host_vm_comms_qemu:
 
 .. figure:: img/host_vm_comms_qemu.*
 
diff --git a/doc/guides/nics/vmxnet3.rst b/doc/guides/nics/vmxnet3.rst
index 3f498b905d..b3de27c36c 100644
--- a/doc/guides/nics/vmxnet3.rst
+++ b/doc/guides/nics/vmxnet3.rst
@@ -110,7 +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.*
 
@@ -135,7 +134,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.*
 
@@ -162,7 +160,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.*
 
diff --git a/doc/guides/prog_guide/dmadev.rst b/doc/guides/prog_guide/dmadev.rst
index 67a62ff420..6860515292 100644
--- a/doc/guides/prog_guide/dmadev.rst
+++ b/doc/guides/prog_guide/dmadev.rst
@@ -17,7 +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.*
 
diff --git a/doc/guides/prog_guide/efd_lib.rst b/doc/guides/prog_guide/efd_lib.rst
index 68404d5f33..f91fd1c80a 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,7 +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 d716895c1d..ce97d8551f 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -52,7 +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.*
 
@@ -1039,7 +1038,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.*
 
diff --git a/doc/guides/prog_guide/ethdev/qos_framework.rst b/doc/guides/prog_guide/ethdev/qos_framework.rst
index 1144037dfa..9d26e0478a 100644
--- a/doc/guides/prog_guide/ethdev/qos_framework.rst
+++ b/doc/guides/prog_guide/ethdev/qos_framework.rst
@@ -11,7 +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.*
 
@@ -112,7 +111,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.*
 
@@ -269,7 +267,6 @@ 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.*
 
@@ -452,7 +449,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.*
 
diff --git a/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst b/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
index e2481904b1..568280c0ee 100644
--- a/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_crypto_adapter.rst
@@ -45,7 +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.*
 
@@ -72,7 +71,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.*
 
diff --git a/doc/guides/prog_guide/eventdev/event_dma_adapter.rst b/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
index e040d89e8b..2deda67c80 100644
--- a/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
+++ b/doc/guides/prog_guide/eventdev/event_dma_adapter.rst
@@ -45,7 +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.*
 
@@ -75,7 +74,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.*
 
diff --git a/doc/guides/prog_guide/eventdev/eventdev.rst b/doc/guides/prog_guide/eventdev/eventdev.rst
index 5e49db8983..82d0124480 100644
--- a/doc/guides/prog_guide/eventdev/eventdev.rst
+++ b/doc/guides/prog_guide/eventdev/eventdev.rst
@@ -167,7 +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.*
 
diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst
index 8409e7666e..1d9c747e06 100644
--- a/doc/guides/prog_guide/graph_lib.rst
+++ b/doc/guides/prog_guide/graph_lib.rst
@@ -58,7 +58,6 @@ Programming model
 Anatomy of Node:
 ~~~~~~~~~~~~~~~~
 
-.. _figure_anatomy_of_a_node:
 
 .. figure:: img/anatomy_of_a_node.*
 
@@ -146,7 +145,6 @@ Node creation and registration
 
 Link the Nodes to create the graph topology
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. _figure_link_the_nodes:
 
 .. figure:: img/link_the_nodes.*
 
@@ -387,7 +385,6 @@ Example of intermediate node implementation with home run:
 
 Graph object memory layout
 --------------------------
-.. _figure_graph_mem_layout:
 
 .. figure:: img/graph_mem_layout.*
 
@@ -931,7 +928,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.*
 
diff --git a/doc/guides/prog_guide/member_lib.rst b/doc/guides/prog_guide/member_lib.rst
index d2f76de35c..d21cf8563c 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
@@ -135,7 +132,6 @@ 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 +145,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 +179,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 +231,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/mldev.rst b/doc/guides/prog_guide/mldev.rst
index 61661b998b..4887fd0caf 100644
--- a/doc/guides/prog_guide/mldev.rst
+++ b/doc/guides/prog_guide/mldev.rst
@@ -12,7 +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.*
 
diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index a73918a5da..2108832342 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -65,7 +65,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.*
 
diff --git a/doc/guides/prog_guide/overview.rst b/doc/guides/prog_guide/overview.rst
index c70023e8a1..942576707f 100644
--- a/doc/guides/prog_guide/overview.rst
+++ b/doc/guides/prog_guide/overview.rst
@@ -86,7 +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.*
 
diff --git a/doc/guides/prog_guide/packet_framework.rst b/doc/guides/prog_guide/packet_framework.rst
index 17010b07dc..9de922444b 100644
--- a/doc/guides/prog_guide/packet_framework.rst
+++ b/doc/guides/prog_guide/packet_framework.rst
@@ -885,7 +885,6 @@ 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.*
 
diff --git a/doc/guides/prog_guide/pdcp_lib.rst b/doc/guides/prog_guide/pdcp_lib.rst
index 266abb8574..235e84aebc 100644
--- a/doc/guides/prog_guide/pdcp_lib.rst
+++ b/doc/guides/prog_guide/pdcp_lib.rst
@@ -21,7 +21,6 @@ PDCP would involve the following operations:
 #. Uplink data compression
 #. Ciphering and integrity protection
 
-.. _figure_pdcp_functional_overview:
 
 .. figure:: img/pdcp_functional_overview.*
 
diff --git a/doc/guides/prog_guide/ring_lib.rst b/doc/guides/prog_guide/ring_lib.rst
index 98ef003aac..a95ff4ab95 100644
--- a/doc/guides/prog_guide/ring_lib.rst
+++ b/doc/guides/prog_guide/ring_lib.rst
@@ -45,7 +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.*
 
@@ -113,7 +112,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.*
 
@@ -128,7 +126,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.*
 
@@ -142,7 +139,6 @@ Once the object is added in the ring, ring->prod_tail in the ring structure is m
 The enqueue operation is finished.
 
 
-.. _figure_ring-enqueue3:
 
 .. figure:: img/ring-enqueue3.*
 
@@ -166,7 +162,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.*
 
@@ -181,7 +176,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.*
 
@@ -195,7 +189,6 @@ Finally, ring->cons_tail in the ring structure is modified to point to the same
 The dequeue operation is finished.
 
 
-.. _figure_ring-dequeue3:
 
 .. figure:: img/ring-dequeue3.*
 
@@ -220,7 +213,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.*
 
@@ -242,7 +234,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.*
 
@@ -257,7 +248,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.*
 
@@ -272,7 +262,6 @@ A core can only update it if ring->prod_tail is equal to the prod_head local var
 This is only true on core 1. The operation is finished on core 1.
 
 
-.. _figure_ring-mp-enqueue4:
 
 .. figure:: img/ring-mp-enqueue4.*
 
@@ -286,7 +275,6 @@ 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.*
 
@@ -311,7 +299,6 @@ The following are two examples that help to explain how indexes are used in a ri
     as opposed to unsigned 32-bit integers in the more realistic case.
 
 
-.. _figure_ring-modulo1:
 
 .. figure:: img/ring-modulo1.*
 
@@ -321,7 +308,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.*
 
@@ -536,7 +522,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.*
 
diff --git a/doc/guides/rel_notes/release_20_02.rst b/doc/guides/rel_notes/release_20_02.rst
index 925985b4f8..c207381f3d 100644
--- a/doc/guides/rel_notes/release_20_02.rst
+++ b/doc/guides/rel_notes/release_20_02.rst
@@ -230,7 +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..8fc260e5b8 100644
--- a/doc/guides/sample_app_ug/dist_app.rst
+++ b/doc/guides/sample_app_ug/dist_app.rst
@@ -22,7 +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.*
 
diff --git a/doc/guides/sample_app_ug/l2_forward_crypto.rst b/doc/guides/sample_app_ug/l2_forward_crypto.rst
index ba38d9f22e..e4c3022763 100644
--- a/doc/guides/sample_app_ug/l2_forward_crypto.rst
+++ b/doc/guides/sample_app_ug/l2_forward_crypto.rst
@@ -193,7 +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.*
 
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 9b0d0350aa..71d5342f77 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -282,7 +282,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.*
 
diff --git a/doc/guides/sample_app_ug/multi_process.rst b/doc/guides/sample_app_ug/multi_process.rst
index 1bd858bfb5..444a86eb67 100644
--- a/doc/guides/sample_app_ug/multi_process.rst
+++ b/doc/guides/sample_app_ug/multi_process.rst
@@ -127,7 +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.*
 
@@ -208,7 +207,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.*
 
diff --git a/doc/guides/sample_app_ug/ptpclient.rst b/doc/guides/sample_app_ug/ptpclient.rst
index 0df465bcb4..87e82b8695 100644
--- a/doc/guides/sample_app_ug/ptpclient.rst
+++ b/doc/guides/sample_app_ug/ptpclient.rst
@@ -30,7 +30,6 @@ In order to keep the application simple the following assumptions are made:
 How the Application Works
 -------------------------
 
-.. _figure_ptpclient_highlevel:
 
 .. figure:: img/ptpclient.*
 
diff --git a/doc/guides/sample_app_ug/qos_scheduler.rst b/doc/guides/sample_app_ug/qos_scheduler.rst
index cd33beecb0..be7e78cc71 100644
--- a/doc/guides/sample_app_ug/qos_scheduler.rst
+++ b/doc/guides/sample_app_ug/qos_scheduler.rst
@@ -11,7 +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.*
 
diff --git a/doc/guides/sample_app_ug/test_pipeline.rst b/doc/guides/sample_app_ug/test_pipeline.rst
index 818be93cd6..24f1f870e9 100644
--- a/doc/guides/sample_app_ug/test_pipeline.rst
+++ b/doc/guides/sample_app_ug/test_pipeline.rst
@@ -22,7 +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.*
 
diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
index 1955140bb3..62d70c053a 100644
--- a/doc/guides/sample_app_ug/vm_power_management.rst
+++ b/doc/guides/sample_app_ug/vm_power_management.rst
@@ -54,7 +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.*
 
@@ -109,7 +108,6 @@ 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.*
 
diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
index 016dc5e374..0bb8da3e46 100644
--- a/doc/guides/tools/dts.rst
+++ b/doc/guides/tools/dts.rst
@@ -526,7 +526,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
 ---------------------
diff --git a/doc/guides/tools/graph.rst b/doc/guides/tools/graph.rst
index 0ffd29e41f..062062f68d 100644
--- a/doc/guides/tools/graph.rst
+++ b/doc/guides/tools/graph.rst
@@ -365,13 +365,11 @@ 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/testeventdev.rst b/doc/guides/tools/testeventdev.rst
index cd367eb2a2..526a7b12c7 100644
--- a/doc/guides/tools/testeventdev.rst
+++ b/doc/guides/tools/testeventdev.rst
@@ -282,7 +282,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.*
 
@@ -365,7 +364,6 @@ but differs in two critical ways:
    |   |              |                | port n.                   |
    +---+--------------+----------------+---------------------------+
 
-.. _figure_eventdev_atomic_queue_test:
 
 .. figure:: img/eventdev_atomic_queue_test.*
 
@@ -455,7 +453,6 @@ instead of two different queues for ordered and atomic.
    |   |              |                | port n.                |
    +---+--------------+----------------+------------------------+
 
-.. _figure_eventdev_order_atq_test:
 
 .. figure:: img/eventdev_order_atq_test.*
 
@@ -519,7 +516,6 @@ instead of two different atomic queues.
    |   |              |                | port n.                 |
    +---+--------------+----------------+-------------------------+
 
-.. _figure_eventdev_atomic_atq_test:
 
 .. figure:: img/eventdev_atomic_atq_test.*
 
@@ -582,7 +578,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.*
 
@@ -720,7 +715,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.*
 
@@ -833,11 +827,9 @@ 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.*
 
@@ -962,11 +954,9 @@ 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.*
 
diff --git a/doc/guides/tools/testmldev.rst b/doc/guides/tools/testmldev.rst
index e3182c960f..578a1f02e5 100644
--- a/doc/guides/tools/testmldev.rst
+++ b/doc/guides/tools/testmldev.rst
@@ -209,7 +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.*
 
@@ -219,7 +218,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.*
 
@@ -229,7 +227,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.*
 
@@ -239,7 +236,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.*
 
@@ -334,7 +330,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.*
 
@@ -390,7 +385,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.*
 
-- 
2.51.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] doc: fix anchors namespace in guides
  2025-10-02 11:32 ` [PATCH v2 1/2] doc: remove unused anchors David Marchand
@ 2025-10-02 11:32   ` David Marchand
  0 siblings, 0 replies; 5+ messages in thread
From: David Marchand @ 2025-10-02 11:32 UTC (permalink / raw)
  To: dev
  Cc: Nandini Persad, Bruce Richardson, Hemant Agrawal,
	Gagandeep Singh, Matan Azrad, Konstantin Ananyev,
	Wathsala Vithanage, 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,
	Sachin Saxena, Shai Brandes, Evgeny Schemeilin, Ron Beider,
	Amit Bernstein, Wajeeh Atrash, John Daley, Hyong Youb Kim,
	Gaetan Rivet, Ziyang Xuan, Xiaoyun Wang, Xingui Yang,
	Chengwen Feng, Anatoly Burakov, Vladimir Medvedkin, Rosen Xu,
	Long Li, Wei Hu, Viacheslav Ovsiienko, Dariusz Sosnowski,
	Bing Zhao, Ori Kam, Suanming Mou, Liron Himi, Chaoyong He,
	Jiawen Wu, Zaiyu Wang, Devendra Singh Rawat, Alok Prasad,
	Jerin Jacob, Maciej Czekaj, Jian Wang, Maxime Coquelin,
	Chenbo Xia, Junlong Wang, Lijie Shan, Tyler Retzlaff, Aman Singh,
	Luca Vizzarro, Patrick Robb

From: Nandini Persad <nandinipersad361@gmail.com>

I modified the anchors names within the guides to have a
a clear prefix so that they don't collide, based on
advice from Thomas.

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>
---
Changes since v1:
- rebased,
- used Claude to fix documentation generation, and generated content:
  - update references to renamed anchors,
  - drop changes on anchors for external links,
  - fix some anchors definition/usage order,
- asked Claude to go further:
  - rename EAL anchors too,
  - prefix with nics_<driver_name>_ instead of simple nics_,

---
 doc/guides/compressdevs/mlx5.rst              |  4 +-
 doc/guides/cryptodevs/dpaa2_sec.rst           |  6 +--
 doc/guides/cryptodevs/dpaa_sec.rst            |  4 +-
 doc/guides/cryptodevs/mlx5.rst                |  8 ++--
 doc/guides/freebsd_gsg/build_dpdk.rst         |  8 ++--
 doc/guides/freebsd_gsg/build_sample_apps.rst  |  8 ++--
 doc/guides/freebsd_gsg/install_from_ports.rst | 12 ++---
 doc/guides/freebsd_gsg/intro.rst              |  2 +-
 doc/guides/howto/avx512.rst                   |  2 +-
 doc/guides/howto/flow_bifurcation.rst         |  2 +-
 doc/guides/linux_gsg/build_dpdk.rst           |  2 +-
 doc/guides/linux_gsg/build_sample_apps.rst    |  2 +-
 .../linux_gsg/cross_build_dpdk_for_arm64.rst  |  8 ++--
 doc/guides/linux_gsg/enable_func.rst          |  8 ++--
 doc/guides/linux_gsg/linux_drivers.rst        | 14 +++---
 doc/guides/linux_gsg/sys_reqs.rst             |  4 +-
 doc/guides/nics/ark.rst                       |  2 +-
 doc/guides/nics/axgbe.rst                     |  2 +-
 doc/guides/nics/bnx2x.rst                     |  4 +-
 doc/guides/nics/build_and_test.rst            |  2 +-
 doc/guides/nics/cnxk.rst                      |  6 +--
 doc/guides/nics/cxgbe.rst                     | 28 ++++++------
 doc/guides/nics/dpaa.rst                      |  6 +--
 doc/guides/nics/dpaa2.rst                     | 10 ++---
 doc/guides/nics/ena.rst                       |  2 +-
 doc/guides/nics/enetc.rst                     |  2 +-
 doc/guides/nics/enic.rst                      |  2 +-
 doc/guides/nics/fail_safe.rst                 |  2 +-
 doc/guides/nics/hinic.rst                     |  2 +-
 doc/guides/nics/hns3.rst                      |  2 +-
 doc/guides/nics/i40e.rst                      | 10 ++---
 doc/guides/nics/ice.rst                       |  2 +-
 doc/guides/nics/igc.rst                       |  2 +-
 doc/guides/nics/intel_vf.rst                  | 22 +++++-----
 doc/guides/nics/ipn3ke.rst                    |  2 +-
 doc/guides/nics/ixgbe.rst                     |  2 +-
 doc/guides/nics/mana.rst                      |  2 +-
 doc/guides/nics/mlx4.rst                      | 13 +++---
 doc/guides/nics/mlx5.rst                      | 44 +++++++++----------
 doc/guides/nics/mvpp2.rst                     | 24 +++++-----
 doc/guides/nics/netvsc.rst                    |  4 +-
 doc/guides/nics/nfp.rst                       |  2 +-
 doc/guides/nics/ngbe.rst                      |  2 +-
 doc/guides/nics/octeontx.rst                  |  4 +-
 doc/guides/nics/overview.rst                  |  2 +-
 doc/guides/nics/pfe.rst                       |  2 +-
 doc/guides/nics/qede.rst                      |  8 ++--
 doc/guides/nics/thunderx.rst                  |  4 +-
 doc/guides/nics/txgbe.rst                     |  2 +-
 doc/guides/nics/vdev_netvsc.rst               |  6 +--
 doc/guides/nics/virtio.rst                    |  2 +-
 doc/guides/nics/zxdh.rst                      |  2 +-
 doc/guides/platform/cnxk.rst                  | 16 +++----
 doc/guides/platform/dpaa.rst                  |  4 +-
 doc/guides/platform/dpaa2.rst                 |  2 +-
 doc/guides/platform/mlx5.rst                  | 28 ++++++------
 doc/guides/platform/octeontx.rst              |  6 +--
 .../prog_guide/env_abstraction_layer.rst      | 22 +++++-----
 .../prog_guide/packet_classif_access_ctrl.rst |  2 +-
 doc/guides/regexdevs/mlx5.rst                 |  6 +--
 doc/guides/rel_notes/release_17_02.rst        |  2 +-
 doc/guides/sample_app_ug/compiling.rst        |  4 +-
 doc/guides/testpmd_app_ug/testpmd_funcs.rst   |  4 +-
 doc/guides/tools/dts.rst                      | 20 ++++-----
 doc/guides/vdpadevs/mlx5.rst                  |  4 +-
 65 files changed, 225 insertions(+), 224 deletions(-)

diff --git a/doc/guides/compressdevs/mlx5.rst b/doc/guides/compressdevs/mlx5.rst
index b64818444a..f41cc2da25 100644
--- a/doc/guides/compressdevs/mlx5.rst
+++ b/doc/guides/compressdevs/mlx5.rst
@@ -98,7 +98,7 @@ Limitations
 Driver options
 --------------
 
-Please refer to :ref:`mlx5 common options <mlx5_common_driver_options>`
+Please refer to :ref:`mlx5 common options <platform_mlx5_common_driver_options>`
 for an additional list of options shared with other mlx5 drivers.
 
 - ``log-block-size`` parameter [int]
@@ -118,4 +118,4 @@ Prerequisites
 -------------
 
 - NVIDIA MLNX_OFED version: **5.2**
-  See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
+  See :ref:`mlx5 common prerequisites <platform_mlx5_linux_prerequisites>` for more details.
diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst
index 6b1357d78a..021bfe5d48 100644
--- a/doc/guides/cryptodevs/dpaa2_sec.rst
+++ b/doc/guides/cryptodevs/dpaa2_sec.rst
@@ -22,7 +22,7 @@ higher-level cryptographic operations than previous NXP cryptographic
 accelerators. This provides significant improvement to system level performance.
 
 DPAA2_SEC is one of the hardware resource in DPAA2 Architecture. More information
-on DPAA2 Architecture is described in :ref:`dpaa2_overview`.
+on DPAA2 Architecture is described in :ref:`nics_dpaa2_overview`.
 
 DPAA2_SEC PMD is one of DPAA2 drivers which interacts with Management Complex (MC)
 portal to access the hardware object - DPSECI. The MC provides access to create,
@@ -32,7 +32,7 @@ DPAA2_SEC PMD also uses some of the other hardware resources like buffer pools,
 queues, queue portals to store and to enqueue/dequeue data to the hardware SEC.
 
 DPSECI objects are detected by PMD using a resource container called DPRC (like
-in :ref:`dpaa2_overview`).
+in :ref:`nics_dpaa2_overview`).
 
 For example:
 
@@ -158,7 +158,7 @@ Limitations
 Prerequisites
 -------------
 
-DPAA2_SEC driver has similar pre-requisites as described in :ref:`dpaa2_overview`.
+DPAA2_SEC driver has similar pre-requisites as described in :ref:`nics_dpaa2_overview`.
 The following dependencies are not part of DPDK and must be installed separately:
 
 See :doc:`../platform/dpaa2` for setup information
diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst
index 0c8d6cf3da..c560604206 100644
--- a/doc/guides/cryptodevs/dpaa_sec.rst
+++ b/doc/guides/cryptodevs/dpaa_sec.rst
@@ -22,7 +22,7 @@ higher-level cryptographic operations than previous NXP cryptographic
 accelerators. This provides significant improvement to system level performance.
 
 DPAA_SEC is one of the hardware resource in DPAA Architecture. More information
-on DPAA Architecture is described in :ref:`dpaa_overview`.
+on DPAA Architecture is described in :ref:`nics_dpaa_overview`.
 
 DPAA_SEC PMD is one of DPAA drivers which interacts with QBMAN to create,
 configure and destroy the device instance using queue pair with CAAM portal.
@@ -104,7 +104,7 @@ Limitations
 Prerequisites
 -------------
 
-DPAA_SEC driver has similar pre-requisites as described in :ref:`dpaa_overview`.
+DPAA_SEC driver has similar pre-requisites as described in :ref:`nics_dpaa_overview`.
 
 See :doc:`../platform/dpaa` for setup information
 
diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst
index 8a2ec20e74..6e20ffe6e6 100644
--- a/doc/guides/cryptodevs/mlx5.rst
+++ b/doc/guides/cryptodevs/mlx5.rst
@@ -64,7 +64,7 @@ Or, for non-continuous operations, extra UMR WQE will be used.
 Configuration
 -------------
 
-See the :ref:`mlx5 common configuration <mlx5_common_env>`.
+See the :ref:`mlx5 common configuration <platform_mlx5_common_env>`.
 
 A device comes out of NVIDIA factory with pre-defined import methods.
 There are two possible import methods: wrapped or plaintext (valid for AES-XTS only).
@@ -140,7 +140,7 @@ DEK is passed in plaintext without keytag.
 Driver options
 --------------
 
-Please refer to :ref:`mlx5 common options <mlx5_common_driver_options>`
+Please refer to :ref:`mlx5 common options <platform_mlx5_common_driver_options>`
 for an additional list of options shared with other mlx5 drivers.
 
 - ``algo`` parameter [int]
@@ -243,10 +243,10 @@ Linux Prerequisites
 - NVIDIA MLNX_OFED version: **5.3**.
 - Compilation can be done also with rdma-core v15+.
 
-  See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
+  See :ref:`mlx5 common prerequisites <platform_mlx5_linux_prerequisites>` for more details.
 
 Windows Prerequisites
 ~~~~~~~~~~~~~~~~~~~~~
 
 - NVIDIA WINOF-2 version: **2.60** or higher.
-  See :ref:`mlx5 common prerequisites <mlx5_windows_prerequisites>` for more details.
+  See :ref:`mlx5 common prerequisites <platform_mlx5_windows_prerequisites>` for more details.
diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst
index f98292bf41..a14b9e9f24 100644
--- a/doc/guides/freebsd_gsg/build_dpdk.rst
+++ b/doc/guides/freebsd_gsg/build_dpdk.rst
@@ -3,7 +3,7 @@
 
 .. include:: <isonum.txt>
 
-.. _building_from_source:
+.. _freebsd_gsg_building_from_source:
 
 Compiling the DPDK Target from Source
 =====================================
@@ -67,7 +67,7 @@ the next section.
         variable.
 
 
-.. _loading_contigmem:
+.. _freebsd_loading_contigmem:
 
 Loading the DPDK contigmem Module
 ---------------------------------
@@ -148,7 +148,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
 -------------------------------
@@ -185,7 +185,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 db01b16e18..290851902e 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -1,7 +1,7 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright(c) 2010-2014 Intel Corporation.
 
-.. _compiling_sample_apps:
+.. _freebsd_gsg_compiling_sample_apps:
 
 Compiling and Running Sample Applications
 =========================================
@@ -44,7 +44,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
 ----------------------------
@@ -52,14 +52,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 3c98c46b29..6e37f5665a 100644
--- a/doc/guides/freebsd_gsg/install_from_ports.rst
+++ b/doc/guides/freebsd_gsg/install_from_ports.rst
@@ -1,7 +1,7 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright(c) 2010-2014 Intel Corporation.
 
-.. _install_from_ports:
+.. _freebsd_gsg_install_from_ports:
 
 Installing DPDK from the Ports Collection
 =========================================
@@ -28,7 +28,7 @@ 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
+:ref:`freebsd_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
@@ -61,7 +61,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 :ref:`freebsd_gsg_compiling_sample_apps`.
 
 .. note::
 
@@ -73,7 +73,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, :ref:`freebsd_gsg_building_from_source`
 
 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
@@ -117,9 +117,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/freebsd_gsg/intro.rst b/doc/guides/freebsd_gsg/intro.rst
index fca647efad..c95859b595 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, :ref:`freebsd_gsg_install_from_ports`.
 
 Documentation Roadmap
 ---------------------
diff --git a/doc/guides/howto/avx512.rst b/doc/guides/howto/avx512.rst
index 6c034b617d..03630d279c 100644
--- a/doc/guides/howto/avx512.rst
+++ b/doc/guides/howto/avx512.rst
@@ -22,7 +22,7 @@ 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 3a3a779ad0..217a3ef355 100644
--- a/doc/guides/howto/flow_bifurcation.rst
+++ b/doc/guides/howto/flow_bifurcation.rst
@@ -45,7 +45,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/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 8d2b1708b8..61f51c0bab 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -294,7 +294,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 cae17f0e33..a1f43b9506 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -10,7 +10,7 @@ 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 detail on compiling sample apps.
+Please refer to :ref:`linux_gsg_building_app_using_installed_dpdk` for detail 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 e4de5c8d18..34416dde08 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 a551ddebec..0e47047805 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -3,12 +3,12 @@
 
 .. include:: <isonum.txt>
 
-.. _Enabling_Additional_Functionality:
+.. _linux_gsg_Enabling_Additional_Functionality:
 
 Enabling Additional Functionality
 =================================
 
-.. _Running_Without_Root_Privileges:
+.. _linux_gsg_Running_Without_Root_Privileges:
 
 Running DPDK Applications Without Root Privileges
 -------------------------------------------------
@@ -85,7 +85,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 <eal_hugepage_mapping>` section to learn how these limits affect EAL.
 
 Device Control
 ~~~~~~~~~~~~~~
@@ -162,7 +162,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 039823d61e..649af2df87 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -23,14 +23,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.
@@ -132,10 +132,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
 ~~~~~~~~~~~~~~~~~~
@@ -361,7 +361,7 @@ running on these systems.
 Consult your distributions documentation to make sure that is the case.
 
 
-.. _bifurcated_driver:
+.. _linux_gsg_bifurcated_driver:
 
 Bifurcated Driver
 -----------------
@@ -386,7 +386,7 @@ More about the bifurcated driver can be found in
 NVIDIA `bifurcated PMD
 <https://www.dpdk.org/wp-content/uploads/sites/35/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 52a840fbe9..68c7f3eb8a 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -14,7 +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>`
+Consult the section on :ref:`Enabling Additional Functionality <linux_gsg_Enabling_Additional_Functionality>`
 for more information on the required changes.
 
 Compilation of the DPDK
@@ -130,7 +130,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 (HPET) Functionality <linux_gsg_High_Precision_Event_Timer>` for more details.
 
 .. _linux_gsg_hugepages:
 
diff --git a/doc/guides/nics/ark.rst b/doc/guides/nics/ark.rst
index 6aabde2ed5..1bc73d76d6 100644
--- a/doc/guides/nics/ark.rst
+++ b/doc/guides/nics/ark.rst
@@ -390,7 +390,7 @@ Usage Example
 -------------
 
 Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to launch
+:ref:`compiling and testing a PMD for a NIC <nics_pmd_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 961b5c967d..eba3c282a8 100644
--- a/doc/guides/nics/axgbe.rst
+++ b/doc/guides/nics/axgbe.rst
@@ -51,7 +51,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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Example output:
diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst
index fad62d2d52..d64ec1bafb 100644
--- a/doc/guides/nics/bnx2x.rst
+++ b/doc/guides/nics/bnx2x.rst
@@ -103,7 +103,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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Jumbo: Limitation
@@ -197,7 +197,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
    (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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_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 65264b9dbc..9eaf7c0cef 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -1,7 +1,7 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright(c) 2017 Cavium, Inc
 
-.. _pmd_build_and_test:
+.. _nics_pmd_build_and_test:
 
 Compiling and testing a PMD for a NIC
 =====================================
diff --git a/doc/guides/nics/cnxk.rst b/doc/guides/nics/cnxk.rst
index 667a876710..8f6364a99c 100644
--- a/doc/guides/nics/cnxk.rst
+++ b/doc/guides/nics/cnxk.rst
@@ -50,13 +50,13 @@ 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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to run testpmd.
 
    Example output:
@@ -739,7 +739,7 @@ Port representor PMD supports following operations:
 Debugging Options
 -----------------
 
-.. _table_cnxk_ethdev_debug_options:
+.. _nics_cnxk_table_ethdev_debug_options:
 
 .. table:: cnxk ethdev debug options
 
diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst
index 487190ff60..f020d56b70 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:
+.. _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:
+.. _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:`nics_cxgbe_t5_nics` and :ref:`nics_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:`nics_cxgbe_linux_installation` for Linux and section :ref:`nics_cxgbe_freebsd_installation`
   for FreeBSD.
 
 
@@ -319,18 +319,18 @@ CXGBE PF Only Runtime Options
 
      dpdk-testpmd -a 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
 
-.. _driver-compilation:
+.. _nics_cxgbe_driver_compilation:
 
 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 :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Linux
 -----
 
-.. _linux-installation:
+.. _nics_cxgbe_linux_installation:
 
 Linux Installation
 ~~~~~~~~~~~~~~~~~~
@@ -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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to run testpmd.
 
    .. note::
@@ -469,7 +469,7 @@ 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.
+      testpmd. Refer section :ref:`nics_cxgbe_flow_control` for more details.
 
 Configuring SR-IOV Virtual Functions
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to bind virtual functions and run testpmd.
 
    Example output:
@@ -582,7 +582,7 @@ virtual functions.
 FreeBSD
 -------
 
-.. _freebsd-installation:
+.. _nics_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:`nics_cxgbe_driver_compilation`:
 
    .. code-block:: console
 
@@ -779,12 +779,12 @@ 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.
+   testpmd. Refer section :ref:`nics_cxgbe_flow_control` for more details.
 
 Sample Application Notes
 ------------------------
 
-.. _flow-control:
+.. _nics_cxgbe_flow_control:
 
 Enable/Disable Flow Control
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 8cd57b21f3..42de62f014 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -23,7 +23,7 @@ Contents summary
 - DPAA driver architecture overview
 - FMAN configuration tools and library
 
-.. _dpaa_overview:
+.. _nics_dpaa_overview:
 
 DPAA Overview
 ~~~~~~~~~~~~~
@@ -241,13 +241,13 @@ 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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to run testpmd.
 
    Example output:
diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst
index 94bf1907df..e1745f77d8 100644
--- a/doc/guides/nics/dpaa2.rst
+++ b/doc/guides/nics/dpaa2.rst
@@ -23,7 +23,7 @@ Contents summary
 - Overview of DPAA2 objects
 - DPAA2 driver architecture overview
 
-.. _dpaa2_overview:
+.. _nics_dpaa2_overview:
 
 DPAA2 Overview
 ~~~~~~~~~~~~~~
@@ -406,7 +406,7 @@ Features of the DPAA2 PMD are:
 - Jumbo frames
 - Link flow control
 - Scattered and gather for TX and RX
-- :ref:`Traffic Management API <dptmapi>`
+- :ref:`Traffic Management API <nics_dpaa2_dptmapi>`
 
 
 Supported DPAA2 SoCs
@@ -432,13 +432,13 @@ 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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to run testpmd.
 
    Example output:
@@ -555,7 +555,7 @@ Other Limitations
 - RSS hash key cannot be modified.
 - RSS RETA cannot be configured.
 
-.. _dptmapi:
+.. _nics_dpaa2_dptmapi:
 
 Traffic Management API
 ----------------------
diff --git a/doc/guides/nics/ena.rst b/doc/guides/nics/ena.rst
index cfc78f1e6a..90f8c92d38 100644
--- a/doc/guides/nics/ena.rst
+++ b/doc/guides/nics/ena.rst
@@ -290,7 +290,7 @@ Usage example
 -------------
 
 Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to launch
+:ref:`compiling and testing a PMD for a NIC <nics_pmd_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..9f7f3360cf 100644
--- a/doc/guides/nics/enetc.rst
+++ b/doc/guides/nics/enetc.rst
@@ -108,5 +108,5 @@ Driver compilation and testing
 ------------------------------
 
 Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+:ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 to launch **testpmd**
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index 77578b4913..4228a89d37 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -521,7 +521,7 @@ 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.
+<nics_pmd_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..a264f10b73 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -109,7 +109,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>`.
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_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..faccdeb16d 100644
--- a/doc/guides/nics/hinic.rst
+++ b/doc/guides/nics/hinic.rst
@@ -50,7 +50,7 @@ Prerequisites
 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 :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Limitations or Known issues
diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 5e0fdd5bbb..b7bde7bd25 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -206,7 +206,7 @@ Runtime Configuration
 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 :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Sample Application Notes
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 6f9dab73e2..931e5227a6 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -319,7 +319,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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 
@@ -376,7 +376,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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to run testpmd.
 
    Example output:
@@ -767,7 +767,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:
+.. _nics_i40e_testpmd_commands:
 
 Testpmd driver specific commands
 --------------------------------
@@ -995,9 +995,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:`nics_i40e_figure_intel_perf_test_setup` for the performance test setup.
 
-.. _figure_intel_perf_test_setup:
+.. _nics_i40e_figure_intel_perf_test_setup:
 
 .. figure:: img/intel_perf_test_setup.*
 
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 7056d9709f..0971d85946 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -379,7 +379,7 @@ Runtime Configuration
 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 :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Features
diff --git a/doc/guides/nics/igc.rst b/doc/guides/nics/igc.rst
index 9790b58102..854303b974 100644
--- a/doc/guides/nics/igc.rst
+++ b/doc/guides/nics/igc.rst
@@ -23,7 +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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index bc600e4b58..4be70b95e0 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:`linux_gsg_nics_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:`linux_gsg_nics_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:
+.. _linux_gsg_nics_figure_single_port_nic:
 
 .. figure:: img/single_port_nic.*
 
@@ -362,7 +362,7 @@ The expected guest operating systems in a virtualized environment are:
 
 For supported kernel versions, refer to the *DPDK Release Notes*.
 
-.. _intel_vf_kvm:
+.. _linux_gsg_nics_intel_vf_kvm:
 
 Setting Up a KVM Virtual Machine Monitor
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -574,9 +574,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:`linux_gsg_nics_figure_perf_benchmark`) is equivalent to a Host OS with KVM installed as described in the instructions.
 
-.. _figure_perf_benchmark:
+.. _linux_gsg_nics_figure_perf_benchmark:
 
 .. figure:: img/perf_benchmark.*
 
@@ -596,10 +596,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:`linux_gsg_nics_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:
+.. _linux_gsg_nics_figure_fast_pkt_proc:
 
 .. figure:: img/fast_pkt_proc.*
 
@@ -615,7 +615,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:`linux_gsg_nics_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.
@@ -626,7 +626,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:
+.. _linux_gsg_nics_figure_inter_vm_comms:
 
 .. figure:: img/inter_vm_comms.*
 
@@ -642,7 +642,7 @@ Windows Support
     into Windows VM using SR-IOV pass-through feature.
 
 *   Create a Windows guest on Linux host using KVM hypervisor.
-    Refer to the steps mentioned in the above section: :ref:`intel_vf_kvm`.
+    Refer to the steps mentioned in the above section: :ref:`linux_gsg_nics_intel_vf_kvm`.
 
 *   In the Host machine, download and install the kernel Ethernet driver
     for `i40e <https://downloadcenter.intel.com/download/24411>`_
diff --git a/doc/guides/nics/ipn3ke.rst b/doc/guides/nics/ipn3ke.rst
index 82a0489178..e55c3d865d 100644
--- a/doc/guides/nics/ipn3ke.rst
+++ b/doc/guides/nics/ipn3ke.rst
@@ -61,7 +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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Sample Application Notes
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index a03ec7a7e8..eaf9cb433a 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -356,7 +356,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:
+.. _nics_ixgbe_testpmd_commands:
 
 Testpmd driver specific commands
 --------------------------------
diff --git a/doc/guides/nics/mana.rst b/doc/guides/nics/mana.rst
index 0fcab6e2f6..847129d079 100644
--- a/doc/guides/nics/mana.rst
+++ b/doc/guides/nics/mana.rst
@@ -55,7 +55,7 @@ Driver compilation and testing
 ------------------------------
 
 Refer to the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` for details.
+:ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>` for details.
 
 Runtime Configuration
 ---------------------
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 364f2c3741..446c3c2b7a 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:
+.. _nics_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::
 
@@ -267,8 +267,9 @@ Installing NVIDIA MLNX_OFED
 
         connectx_port_config
 
-#. Continue with :ref:`section 2 of the Quick Start Guide <mlx4_QSG_2>`.
+#. Continue with :ref:`section 2 of the Quick Start Guide <nics_mlx4_QSG_2>`.
 
+.. _nics_mlx4_qsg:
 
 Quick Start Guide
 -----------------
@@ -283,9 +284,9 @@ 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:`nics_mlx4_OFED_as_a_fallback`:
 
-.. _mlx4_QSG_2:
+.. _nics_mlx4_QSG_2:
 
 #. In case of bare metal or hypervisor, configure optimized steering mode
    by adding the following line to ``/etc/modprobe.d/mlx4_core.conf``::
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index 20056f61d6..ef07f88d13 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -160,7 +160,7 @@ Compilation
 -----------
 
 The dependencies and steps are described in
-the :ref:`common compilation chapter <mlx5_common_compilation>`
+the :ref:`common compilation chapter <platform_mlx5_common_compilation>`
 for all mlx5 drivers.
 
 
@@ -171,7 +171,7 @@ Environment Configuration
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The variables and tools are described in
-the :ref:`common environment configuration chapter <mlx5_common_env>`
+the :ref:`common environment configuration chapter <platform_mlx5_common_env>`
 for all mlx5 drivers.
 
 Firmware Configuration
@@ -181,13 +181,13 @@ The firmware variables required for specific networking features
 are described as part of each feature in this guide.
 
 All the variables and tools are described in
-the :ref:`common firmware configuration chapter <mlx5_firmware_config>`
+the :ref:`common firmware configuration chapter <platform_mlx5_firmware_config>`
 for all mlx5 drivers.
 
 Runtime Configuration
 ~~~~~~~~~~~~~~~~~~~~~
 
-Please refer to :ref:`mlx5 common options <mlx5_common_driver_options>`
+Please refer to :ref:`mlx5 common options <platform_mlx5_common_driver_options>`
 for an additional list of options shared with other mlx5 drivers.
 
 - ``probe_opt_en`` parameter [int]
@@ -546,7 +546,7 @@ for an additional list of options shared with other mlx5 drivers.
 
   This parameter name is deprecated and ignored.
   The new name for this parameter is ``sq_db_nc``.
-  See :ref:`common driver options <mlx5_common_driver_options>`.
+  See :ref:`common driver options <platform_mlx5_common_driver_options>`.
 
 .. _mlx5_tx_pp_param:
 
@@ -860,7 +860,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()``
@@ -1207,12 +1207,12 @@ Supported Operating Systems
 The mlx5 PMD is designed to run on Linux and Windows.
 It requires a kernel driver and some libraries.
 
-The :ref:`Linux prerequisites <mlx5_linux_prerequisites>`
+The :ref:`Linux prerequisites <platform_mlx5_linux_prerequisites>`
 are Linux kernel driver and rdma-core libraries.
 These dependencies are also packaged in MLNX_OFED or MLNX_EN,
 shortened below as "OFED".
 
-The :ref:`Windows prerequisites <mlx5_windows_prerequisites>`
+The :ref:`Windows prerequisites <platform_mlx5_windows_prerequisites>`
 are Windows kernel driver and DevX library.
 These dependencies are packaged in WinOF2.
 
@@ -1407,7 +1407,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.
@@ -1609,7 +1609,7 @@ Limitations
 Sub-Function
 ~~~~~~~~~~~~
 
-See :ref:`mlx5_sub_function`.
+See :ref:`platform_mlx5_sub_function`.
 
 A SF netdev supports E-Switch representation offload
 similar to PF and VF representors.
@@ -1673,7 +1673,7 @@ Firmware configuration
 ^^^^^^^^^^^^^^^^^^^^^^
 
 Hairpin Rx queue data may be stored in locked internal device memory
-if enabled by setting these values (see :ref:`mlx5_firmware_config`)::
+if enabled by setting these values (see :ref:`platform_mlx5_firmware_config`)::
 
    HAIRPIN_DATA_BUFFER_LOCK=1
    MEMIC_SIZE_LIMIT=0
@@ -1875,7 +1875,7 @@ Firmware configuration
 ^^^^^^^^^^^^^^^^^^^^^^
 
 Real-time timestamp format is enabled
-by setting this value (see :ref:`mlx5_firmware_config`)::
+by setting this value (see :ref:`platform_mlx5_firmware_config`)::
 
    REAL_TIME_CLOCK_ENABLE=1
 
@@ -2991,7 +2991,7 @@ by setting these values::
    PROG_PARSE_GRAPH=1
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 Limitations
 ^^^^^^^^^^^
@@ -3116,7 +3116,7 @@ Limitations
 
 #. Modification of GENEVE network ID is not supported when configured
    ``FLEX_PARSER_PROFILE_ENABLE`` supports GENEVE TLV options.
-   See :ref:`mlx5_firmware_config` for more flex parser information.
+   See :ref:`platform_mlx5_firmware_config` for more flex parser information.
 
 #. Modification of GENEVE TLV option fields
    is supported only for :ref:`HW steering <mlx5_hws>`.
@@ -3295,7 +3295,7 @@ Matching ICMP flow is enabled by setting this value::
    FLEX_PARSER_PROFILE_ENABLE=2
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 
 .. _mlx5_ip:
@@ -3321,7 +3321,7 @@ Matching IP-in-IP tunnel flow is enabled by setting this value::
    FLEX_PARSER_PROFILE_ENABLE=0
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 Limitations
 ^^^^^^^^^^^
@@ -3639,7 +3639,7 @@ Matching VXLAN-GPE flow is enabled by setting one of these values::
    FLEX_PARSER_PROFILE_ENABLE=2
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 The UDP destination port may be changed::
 
@@ -3820,7 +3820,7 @@ with the sync API requires this value::
    FLEX_PARSER_PROFILE_ENABLE=0
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 Limitations
 ^^^^^^^^^^^
@@ -3916,7 +3916,7 @@ Matching GTP flow is enabled by setting this value::
    FLEX_PARSER_PROFILE_ENABLE=3
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 Limitations
 ^^^^^^^^^^^
@@ -3940,7 +3940,7 @@ Matching MPLS flow is enabled by setting this value::
    FLEX_PARSER_PROFILE_ENABLE=1
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 Limitations
 ^^^^^^^^^^^
@@ -4013,7 +4013,7 @@ Matching eCPRI flow is enabled by setting these values::
    PROG_PARSE_GRAPH=1
 
 Other protocols may require a different firmware configuration.
-See :ref:`mlx5_firmware_config` for more details about the flex parser profile.
+See :ref:`platform_mlx5_firmware_config` for more details about the flex parser profile.
 
 
 .. _mlx5_host_shaper:
@@ -4450,7 +4450,7 @@ This command performs:
 
 #. Add two device arguments for context (``cmd_fd``)
    and protection domain (``pd_handle``) to the device identifier.
-   See :ref:`mlx5 driver options <mlx5_common_driver_options>` for more
+   See :ref:`mlx5 driver options <platform_mlx5_common_driver_options>` for more
    information about these device arguments.
 
 #. Call the regular ``port attach`` function with updated identifier.
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 07be97dfb8..54ffc75f54 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -2,7 +2,7 @@
     Copyright(c) 2017 Marvell International Ltd.
     Copyright(c) 2017 Semihalf.
 
-.. _mvpp2_poll_mode_driver:
+.. _nics_mvpp2_poll_mode_driver:
 
 MVPP2 Poll Mode Driver
 ======================
@@ -37,13 +37,13 @@ Features of the MVPP2 PMD are:
 - L4 checksum offload
 - Packet type parsing
 - Basic stats
-- :ref:`Extended stats <extstats>`
+- :ref:`Extended stats <nics_mvpp2_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:`QoS <nics_mvpp2_extconf>`
+- :ref:`Flow API <nics_mvpp2_flowapi>`
+- :ref:`Traffic metering and policing <nics_mvpp2_mtrapi>`
+- :ref:`Traffic Management API <nics_mvpp2_tmapi>`
 
 Limitations
 -----------
@@ -166,7 +166,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:
+.. _nics_mvpp2_extstats:
 
 Extended stats
 --------------
@@ -188,7 +188,7 @@ MVPP2 PMD supports the following extended statistics:
 	- ``tx_errors``: number of TX MAC errors
 
 
-.. _extconf:
+.. _nics_mvpp2_extconf:
 
 External Configuration
 ----------------------
@@ -393,7 +393,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:
+.. _nics_mvpp2_flowapi:
 
 Flow API
 --------
@@ -565,7 +565,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:
+.. _nics_mvpp2_mtrapi:
 
 Traffic metering and policing
 -----------------------------
@@ -580,7 +580,7 @@ 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 <nics_mvpp2_extconf>`.
 
 Limitations
 ~~~~~~~~~~~
@@ -622,7 +622,7 @@ For a detailed usage description please refer to "Traffic Metering and Policing"
 
 
 
-.. _tmapi:
+.. _nics_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/nics/nfp.rst b/doc/guides/nics/nfp.rst
index d756d7cc07..b900de8a1d 100644
--- a/doc/guides/nics/nfp.rst
+++ b/doc/guides/nics/nfp.rst
@@ -58,7 +58,7 @@ Driver compilation and testing
 ------------------------------
 
 Refer to the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` for details.
+:ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>` for details.
 
 Using the PF
 ------------
diff --git a/doc/guides/nics/ngbe.rst b/doc/guides/nics/ngbe.rst
index fe9fb1b07d..5fde774deb 100644
--- a/doc/guides/nics/ngbe.rst
+++ b/doc/guides/nics/ngbe.rst
@@ -74,7 +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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 
diff --git a/doc/guides/nics/octeontx.rst b/doc/guides/nics/octeontx.rst
index f963eca648..89ec5c800d 100644
--- a/doc/guides/nics/octeontx.rst
+++ b/doc/guides/nics/octeontx.rst
@@ -55,13 +55,13 @@ Configuration
 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 :ref:`compiling and testing a PMD for a NIC <nics_pmd_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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to run testpmd.
 
    Example output:
diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst
index 4553076481..b7a78ab45e 100644
--- a/doc/guides/nics/overview.rst
+++ b/doc/guides/nics/overview.rst
@@ -26,7 +26,7 @@ More details about features can be found in :doc:`features`.
 
 .. rst-class:: widepage
 
-.. _table_net_pmd_features:
+.. _nics_table_net_pmd_features:
 
 .. include:: overview_table.txt
 
diff --git a/doc/guides/nics/pfe.rst b/doc/guides/nics/pfe.rst
index 172ae80984..c2a30c24fc 100644
--- a/doc/guides/nics/pfe.rst
+++ b/doc/guides/nics/pfe.rst
@@ -157,7 +157,7 @@ Driver compilation and testing
 ------------------------------
 
 Follow instructions available in the document
-:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+:ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 to launch **testpmd**
 
 Additionally, PFE driver needs `--vdev` as an input with value `net_pfe`
diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index c067a4c796..2eb1052640 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -144,7 +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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 RTE Flow Support
@@ -155,7 +155,7 @@ actions.
 
 Patterns:
 
-.. _table_qede_supported_flow_item_types:
+.. _linux_gsg_nics_table_qede_supported_flow_item_types:
 
 .. table:: Item types
 
@@ -173,7 +173,7 @@ Patterns:
 
 Actions:
 
-.. _table_qede_supported_ingress_action_types:
+.. _linux_gsg_nics_table_qede_supported_ingress_action_types:
 
 .. table:: Ingress action types
 
@@ -265,7 +265,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
    (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
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_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..347fbc4497 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -47,7 +47,7 @@ Prerequisites
 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 :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Use config/arm/arm64-thunderx-linux-gcc as a meson cross-file when cross-compiling.
@@ -150,7 +150,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>`
+   :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
    to run testpmd.
 
    Example output:
diff --git a/doc/guides/nics/txgbe.rst b/doc/guides/nics/txgbe.rst
index 93fb592759..0cd3b3e8cd 100644
--- a/doc/guides/nics/txgbe.rst
+++ b/doc/guides/nics/txgbe.rst
@@ -142,7 +142,7 @@ Please note that following ``devargs`` are only set for backplane NICs.
 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 :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 Sample Application Notes
diff --git a/doc/guides/nics/vdev_netvsc.rst b/doc/guides/nics/vdev_netvsc.rst
index 8dd5981947..46d96c6a11 100644
--- a/doc/guides/nics/vdev_netvsc.rst
+++ b/doc/guides/nics/vdev_netvsc.rst
@@ -5,13 +5,13 @@
 VDEV_NETVSC driver
 ==================
 
+.. _Hyper-V: https://docs.microsoft.com/en-us/windows-hardware/drivers/network/overview-of-hyper-v
+
 The VDEV_NETVSC driver (**librte_net_vdev_netvsc**) provides support for NetVSC
 interfaces and associated SR-IOV virtual function (VF) devices found in
-Linux virtual machines running on Microsoft Hyper-V_ (including Azure)
+Linux virtual machines running on Microsoft `Hyper-V`_ (including Azure)
 platforms.
 
-.. _Hyper-V: https://docs.microsoft.com/en-us/windows-hardware/drivers/network/overview-of-hyper-v
-
 Implementation details
 ----------------------
 
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index 588ac41464..228d05c9c7 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -201,7 +201,7 @@ in-order feature.
 Interrupt mode
 --------------
 
-.. _virtio_interrupt_mode:
+.. _linux_gsg_nics_virtio_interrupt_mode:
 
 There are three kinds of interrupts from a virtio device over PCI bus: config
 interrupt, Rx interrupts, and Tx interrupts. Config interrupt is used for
diff --git a/doc/guides/nics/zxdh.rst b/doc/guides/nics/zxdh.rst
index 47dabde97e..8a2a7c65e6 100644
--- a/doc/guides/nics/zxdh.rst
+++ b/doc/guides/nics/zxdh.rst
@@ -47,7 +47,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>`
+Refer to the document :ref:`compiling and testing a PMD for a NIC <nics_pmd_build_and_test>`
 for details.
 
 
diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst
index 4aa900dd63..ea610a1058 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:`platform_figure_cnxk_resource_virtualization` diagram depicts the
 RVU architecture and a resource provisioning example.
 
-.. _figure_cnxk_resource_virtualization:
+.. _platform_figure_cnxk_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:`platform_table_cnxk_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:
+.. _platform_table_cnxk_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:`platform_figure_cnxk_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:`platform_figure_cnxk_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:
+.. _platform_figure_cnxk_packet_flow_hw_accelerators:
 
 .. figure:: img/cnxk_packet_flow_hw_accelerators.*
 
@@ -248,7 +248,7 @@ compatible board:
 Debugging Options
 -----------------
 
-.. _table_cnxk_common_debug_options:
+.. _platform_table_cnxk_common_debug_options:
 
 .. table:: cnxk common debug options
 
diff --git a/doc/guides/platform/dpaa.rst b/doc/guides/platform/dpaa.rst
index 282a2f45ee..9cdbfad8d6 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 <platform_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:
+.. _platform_dpaa_extra_scripts:
 
 - **DPDK Extra Scripts**
 
diff --git a/doc/guides/platform/dpaa2.rst b/doc/guides/platform/dpaa2.rst
index c9ec21334f..6ea5f44361 100644
--- a/doc/guides/platform/dpaa2.rst
+++ b/doc/guides/platform/dpaa2.rst
@@ -94,7 +94,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:
+.. _platform_dpaa2_extra_scripts:
 
 - **DPDK Extra Scripts**
 
diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst
index f386980fdd..6cea46ace9 100644
--- a/doc/guides/platform/mlx5.rst
+++ b/doc/guides/platform/mlx5.rst
@@ -41,13 +41,13 @@ which are used to get the best performance:
 - **Direct Rules** manages flow steering at the low-level hardware layer
 
 On Linux, above interfaces are provided by linking with `libibverbs` and `libmlx5`.
-See :ref:`mlx5_linux_prerequisites` for installation.
+See :ref:`platform_mlx5_linux_prerequisites` for installation.
 
 On Windows, DevX is the only requirement from the above list.
-See :ref:`mlx5_windows_prerequisites` for DevX SDK package installation.
+See :ref:`platform_mlx5_windows_prerequisites` for DevX SDK package installation.
 
 
-.. _mlx5_classes:
+.. _platform_mlx5_classes:
 
 Classes
 -------
@@ -82,12 +82,12 @@ Limitations
 - On Windows, only ``eth`` and ``crypto`` are supported.
 
 
-.. _mlx5_common_compilation:
+.. _platform_mlx5_common_compilation:
 
 Compilation Prerequisites
 -------------------------
 
-.. _mlx5_linux_prerequisites:
+.. _platform_mlx5_linux_prerequisites:
 
 Linux Prerequisites
 ~~~~~~~~~~~~~~~~~~~
@@ -216,7 +216,7 @@ to match the kernel modules and libraries they come with.
    Please check the "Tested Platforms" section in the :doc:`../../rel_notes/index`.
 
 
-.. _mlx5_windows_prerequisites:
+.. _platform_mlx5_windows_prerequisites:
 
 Windows Prerequisites
 ~~~~~~~~~~~~~~~~~~~~~
@@ -290,7 +290,7 @@ or::
    meson.exe setup ...
 
 
-.. _mlx5_common_env:
+.. _platform_mlx5_common_env:
 
 Environment Configuration
 -------------------------
@@ -343,7 +343,7 @@ If link type was changed, firmware must be reset as well::
    mlxfwreset -d <mst device> reset
 
 
-.. _mlx5_vf:
+.. _platform_mlx5_vf:
 
 SR-IOV Virtual Function with MLNX_OFED/EN
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -372,7 +372,7 @@ Then the virtual functions can be instantiated::
    echo [num_vfs] > /sys/class/infiniband/mlx5_0/device/sriov_numvfs
 
 
-.. _mlx5_sub_function:
+.. _platform_mlx5_sub_function:
 
 Sub-Function with MLNX_OFED/EN
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -424,7 +424,7 @@ that assuming there are no offload flows, each packet that is sent from the VF o
 will be received by the corresponding representor.
 While each packet that is sent to a representor will be received by the VF or SF.
 
-After :ref:`configuring VF <mlx5_vf>`, the device must be unbound::
+After :ref:`configuring VF <platform_mlx5_vf>`, the device must be unbound::
 
    printf "<device pci address>" > /sys/bus/pci/drivers/mlx5_core/unbind
 
@@ -439,7 +439,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.
@@ -485,7 +485,7 @@ The keys ``DevxEnabled`` and ``DevxFsRules`` must be set.
 Additional information can be found in the WinOF2 user manual.
 
 
-.. _mlx5_firmware_config:
+.. _platform_mlx5_firmware_config:
 
 Firmware Configuration
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -607,7 +607,7 @@ dyn flex           4
 ========== = = = = = =
 
 
-.. _mlx5_common_driver_options:
+.. _platform_mlx5_common_driver_options:
 
 Device Arguments
 ----------------
@@ -631,7 +631,7 @@ and below are the arguments supported by the common mlx5 layer.
 - ``class`` parameter [string]
 
   Select the classes of the drivers that should probe the device.
-  See :ref:`mlx5_classes` for more explanation and details.
+  See :ref:`platform_mlx5_classes` for more explanation and details.
 
   The default value is ``eth``.
 
diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst
index b01f51ba4d..fdc66f926d 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:`platform_setup_platform_using_OCTEON_TX_SDK`.
 
 #. **ARM64 Tool Chain**
 
@@ -58,11 +58,11 @@ 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:`platform_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:
+.. _platform_setup_platform_using_OCTEON_TX_SDK:
 
 Setup Platform Using OCTEON TX SDK
 ----------------------------------
diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
index ce97d8551f..a5877ad2f6 100644
--- a/doc/guides/prog_guide/env_abstraction_layer.rst
+++ b/doc/guides/prog_guide/env_abstraction_layer.rst
@@ -223,7 +223,7 @@ Normally, these options do not need to be changed.
     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
 ^^^^^^^^^^^^^^^^
@@ -259,7 +259,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
@@ -273,7 +273,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.
@@ -302,10 +302,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
 ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -645,7 +645,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
@@ -764,7 +764,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
 ~~~~~~~~~~~~~~~~~
@@ -801,7 +801,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
 ~~~~~~~~~~~~
@@ -959,7 +959,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
 ------
@@ -1044,7 +1044,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
 """"""""""""""""""""""
@@ -1125,7 +1125,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/packet_classif_access_ctrl.rst b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
index e2cd60fb47..c931c88ff9 100644
--- a/doc/guides/prog_guide/packet_classif_access_ctrl.rst
+++ b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
@@ -397,7 +397,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/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst
index 814228c5e3..227c1fff6e 100644
--- a/doc/guides/regexdevs/mlx5.rst
+++ b/doc/guides/regexdevs/mlx5.rst
@@ -27,9 +27,9 @@ Features
 Configuration
 -------------
 
-See :ref:`mlx5 common compilation <mlx5_common_compilation>`,
-:ref:`mlx5 firmware configuration <mlx5_firmware_config>`,
-and :ref:`mlx5 common driver options <mlx5_common_driver_options>`.
+See :ref:`mlx5 common compilation <platform_mlx5_common_compilation>`,
+:ref:`mlx5 firmware configuration <platform_mlx5_firmware_config>`,
+and :ref:`mlx5 common driver options <platform_mlx5_common_driver_options>`.
 
 
 Supported NICs
diff --git a/doc/guides/rel_notes/release_17_02.rst b/doc/guides/rel_notes/release_17_02.rst
index 929ba770ae..b1d80001f0 100644
--- a/doc/guides/rel_notes/release_17_02.rst
+++ b/doc/guides/rel_notes/release_17_02.rst
@@ -163,7 +163,7 @@ New Features
   power. It can work on both legacy and modern virtio devices. In this mode,
   each ``rxq`` is mapped with an excluded MSIx interrupt.
 
-  See the :ref:`Virtio Interrupt Mode <virtio_interrupt_mode>` documentation
+  See the :ref:`Virtio Interrupt Mode <linux_gsg_nics_virtio_interrupt_mode>` documentation
   for more information.
 
 * **Added ARMv8 crypto PMD.**
diff --git a/doc/guides/sample_app_ug/compiling.rst b/doc/guides/sample_app_ug/compiling.rst
index adde775d4e..e58c239a94 100644
--- a/doc/guides/sample_app_ug/compiling.rst
+++ b/doc/guides/sample_app_ug/compiling.rst
@@ -29,7 +29,7 @@ Build:
 
 For additional information on compiling see
 :ref:`Compiling DPDK on Linux <linux_gsg_compiling_dpdk>` or
-:ref:`Compiling DPDK on FreeBSD <building_from_source>`.
+:ref:`Compiling DPDK on FreeBSD <freebsd_gsg_building_from_source>`.
 Applications are output to: ``dpdk/<build_dir>/examples``.
 
 
@@ -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/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index fefcf5b419..f8f4b68760 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -5667,5 +5667,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 <nics_i40e_testpmd_commands>`
+- :ref:`net/ixgbe testpmd driver specific commands <nics_ixgbe_testpmd_commands>`
diff --git a/doc/guides/tools/dts.rst b/doc/guides/tools/dts.rst
index 0bb8da3e46..6aad701a9c 100644
--- a/doc/guides/tools/dts.rst
+++ b/doc/guides/tools/dts.rst
@@ -147,7 +147,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.
@@ -237,7 +237,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
@@ -259,12 +259,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/test_run.example.yaml``
-:ref:`config file <test_run_configuration_example>`,
+:ref:`config file <dts_test_run_configuration_example>`,
 and ``dts/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.
 
 
@@ -360,11 +360,11 @@ When adding code to the DTS framework, pay attention to the rest of the code
 and try not to divert much from it.
 The :ref:`DTS developer tools <dts_dev_tools>` will issue warnings
 when some of the basics are not met.
-You should also build the :ref:`API documentation <building_api_docs>`
+You should also build the :ref:`API documentation <dts_building_api_docs>`
 to address any issues found during the build.
 
 The API documentation, which is a helpful reference when developing, may be accessed
-in the code directly or generated with the :ref:`API docs build steps <building_api_docs>`.
+in the code directly or generated with the :ref:`API docs build steps <dts_building_api_docs>`.
 When adding new files or modifying the directory structure,
 the corresponding changes must be made to DTS API doc sources in ``doc/api/dts``.
 
@@ -498,7 +498,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
 ---------------------
@@ -542,7 +542,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/test_run.example.yaml``
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -551,7 +551,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/nodes.example.yaml``
diff --git a/doc/guides/vdpadevs/mlx5.rst b/doc/guides/vdpadevs/mlx5.rst
index 6cea1f43e9..204446fdf9 100644
--- a/doc/guides/vdpadevs/mlx5.rst
+++ b/doc/guides/vdpadevs/mlx5.rst
@@ -36,7 +36,7 @@ Prerequisites
 -------------
 
 - NVIDIA MLNX_OFED version: **5.0**
-  See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
+  See :ref:`mlx5 common prerequisites <platform_mlx5_linux_prerequisites>` for more details.
 
 Run-time configuration
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -44,7 +44,7 @@ Run-time configuration
 Driver options
 ^^^^^^^^^^^^^^
 
-Please refer to :ref:`mlx5 common options <mlx5_common_driver_options>`
+Please refer to :ref:`mlx5 common options <platform_mlx5_common_driver_options>`
 for an additional list of options shared with other mlx5 drivers.
 
 - ``event_mode`` parameter [int]
-- 
2.51.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-10-02 11:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-27 14:04 [PATCH] doc: fix anchors namespace in guides Nandini Persad
2025-05-27 14:25 ` Bruce Richardson
2025-05-28 16:02 ` Hemant Agrawal
2025-10-02 11:32 ` [PATCH v2 1/2] doc: remove unused anchors David Marchand
2025-10-02 11:32   ` [PATCH v2 2/2] doc: fix anchors namespace in guides David Marchand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).