summaryrefslogtreecommitdiff
path: root/docs/vpp/configuration/interfaces
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-05-10 17:19:31 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-05-10 17:19:31 +0300
commit3fd1787d50dda76619647dd95ea6e1d421204734 (patch)
tree3e4f5341e2b4c5618ba1fa6b52a5cda63c4c1c29 /docs/vpp/configuration/interfaces
parentd7e63e1923814a791dadf93453e8c090d26ca896 (diff)
downloadvyos-documentation-3fd1787d50dda76619647dd95ea6e1d421204734.tar.gz
vyos-documentation-3fd1787d50dda76619647dd95ea6e1d421204734.zip
chore: remove RST swap mechanism, archive rst-*.rst under docs/_rst_legacy/
The swap mechanism (RST-as-fallback for migrated MD pages) is dormant — docs/_rst_overrides.txt has been empty since the MyST flip trio (#1899/#1900/#1901) landed in May 2026. The mechanism's surface area (scripts/swap_sources.py, its 245-line test, RTD pre/post hooks, Makefile glue, conf.py dynamic loader) is dead weight, and the rst-*.rst shadows scattered across the source tree cause Context7's parser to misclassify the project as RST. Changes: - Move 253 rst-*.rst shadow files into docs/_rst_legacy/ preserving subdirectory structure. They remain in the repo for reference; Sphinx excludes the folder via exclude_patterns; Context7 excludes it via excludeFolders. - Strip swap_sources.py invocation from docs/Makefile (swap/restore targets, : swap deps, trap chains). - Strip jobs: pre_build/post_build block from .readthedocs.yml. - Strip rst-*.rst exclude entry and the _md_exclude.txt loader from docs/conf.py; replace with a single _rst_legacy exclude. - Delete scripts/swap_sources.py, tests/test_swap_sources.py, docs/_rst_overrides.txt. - Update context7.json: add docs/_rst_legacy to excludeFolders; fix stale "Branch current tracks…" rule to "Branch rolling tracks…" (default branch was renamed 2026-05-10). - Update AGENTS.md: drop the "RST override mechanism" section and the test-runner snippet for the deleted test; describe _rst_legacy as archive only. Verified: sphinx-build -b html with --keep-going produces identical warning set (68 unique), identical sitemap entry count (257), identical llms.txt entry count (22), zero rst-* URLs in any artifact. 🤖 Generated by [robots](https://vyos.io)
Diffstat (limited to 'docs/vpp/configuration/interfaces')
-rw-r--r--docs/vpp/configuration/interfaces/rst-bonding.rst263
-rw-r--r--docs/vpp/configuration/interfaces/rst-bridge.rst210
-rw-r--r--docs/vpp/configuration/interfaces/rst-gre.rst176
-rw-r--r--docs/vpp/configuration/interfaces/rst-index.rst49
-rw-r--r--docs/vpp/configuration/interfaces/rst-ipip.rst123
-rw-r--r--docs/vpp/configuration/interfaces/rst-loopback.rst154
-rw-r--r--docs/vpp/configuration/interfaces/rst-vxlan.rst162
-rw-r--r--docs/vpp/configuration/interfaces/rst-xconnect.rst113
8 files changed, 0 insertions, 1250 deletions
diff --git a/docs/vpp/configuration/interfaces/rst-bonding.rst b/docs/vpp/configuration/interfaces/rst-bonding.rst
deleted file mode 100644
index 25ff6f40..00000000
--- a/docs/vpp/configuration/interfaces/rst-bonding.rst
+++ /dev/null
@@ -1,263 +0,0 @@
-:lastproofread: 2026-03-09
-
-.. _vpp_config_interfaces_bonding:
-
-.. include:: /_include/need_improvement.txt
-
-#########################
-VPP Bonding Configuration
-#########################
-
-VPP bonding interfaces provide link aggregation capabilities by combining
-multiple physical interfaces into a single logical interface for increased
-bandwidth and redundancy. VPP bonding offers high-performance packet
-processing compared to traditional Linux bonding.
-
-Basic Configuration
--------------------
-
-Creating a Bonding Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To create a VPP bonding interface:
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN>
-
- Create a bonding interface where ``<vppbondN>`` follows the naming
- convention ``vppbond0``, ``vppbond1``, and so on. A kernel pair interface is
- automatically created for the VPP bonding interface. This allows
- standard Linux networking tools and services to interact with the VPP
- bond.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bonding vppbond0
-
-Interface Description
-^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> description <description>
-
- Set a descriptive name for the bonding interface.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bonding vppbond0 description "Primary uplink bond"
-
-Administrative Control
-^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> disable
-
- Administratively disable the bonding interface. By default, interfaces
- are enabled.
-
-Member Interface Configuration
-------------------------------
-
-Adding Member Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> member interface
- <interface-name>
-
- Add physical interfaces as members of the bond. You can add multiple
- interfaces to the same bond.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bonding vppbond0 member interface eth0
- set interfaces vpp bonding vppbond0 member interface eth1
-
-.. note::
-
- Member interfaces must have the same speed and duplex for optimal
- performance. They must already be attached to VPP.
-
-Bonding Modes
--------------
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> mode <mode>
-
- Configure the bonding mode. Available modes:
-
- * **802.3ad**: IEEE 802.3ad Dynamic Link Aggregation (LACP) - Default
- * **active-backup**: Fault tolerant, only one slave interface active
- * **broadcast**: Transmits everything on all slave interfaces
- * **round-robin**: Load balance by transmitting packets in sequential order
- * **xor-hash**: Distribute based on hash policy
-
-**Examples:**
-
-.. code-block:: none
-
- # Use LACP (recommended for switch environments)
- set interfaces vpp bonding vppbond0 mode 802.3ad
-
- # Use active-backup for simple failover
- set interfaces vpp bonding vppbond0 mode active-backup
-
-Hash Policies
--------------
-
-For load balancing modes, configure how the system distributes traffic
-across member interfaces:
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> hash-policy <policy>
-
- Set the transmit hash policy:
-
- * **layer2**: Use MAC addresses to generate hash (default)
- * **layer2+3**: Combine MAC addresses and IP addresses
- * **layer3+4**: Combine IP addresses and port numbers
-
-**Examples:**
-
-.. code-block:: none
-
- # Layer 2 hashing (default)
- set interfaces vpp bonding vppbond0 hash-policy layer2
-
- # Layer 3+4 for better distribution with multiple flows
- set interfaces vpp bonding vppbond0 hash-policy layer3+4
-
-MAC Address Configuration
--------------------------
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> mac <mac-address>
-
- Set a specific MAC address for the bonding interface.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bonding vppbond0 mac 00:11:22:33:44:55
-
-IP Address Configuration
-------------------------
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> address <ip-address/prefix>
-
- Configure IPv4 or IPv6 addresses on the kernel interface. You can
- assign multiple addresses.
-
-**Examples:**
-
-.. code-block:: none
-
- # IPv4 address
- set interfaces vpp bonding vppbond0 address 192.168.1.10/24
-
- # IPv6 address
- set interfaces vpp bonding vppbond0 address 2001:db8::10/64
-
- # Multiple addresses
- set interfaces vpp bonding vppbond0 address 192.168.1.10/24
- set interfaces vpp bonding vppbond0 address 10.0.0.10/8
-
-MTU Configuration
------------------
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> mtu <size>
-
- Set the Maximum Transmission Unit (MTU) for the kernel interface. The
- MTU must be compatible with the connected VPP interface.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bonding vppbond0 mtu 9000
-
-.. note::
-
- The MTU setting must match or be smaller than the MTU supported by the
- associated VPP interface.
-
-VLAN Configuration
-------------------
-
-VPP kernel interfaces support VLAN (Virtual LAN) sub-interfaces for
-network segmentation.
-
-Creating VLAN Sub-interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> vif <vlan-id>
-
- Create a VLAN sub-interface with the specified VLAN ID (0-4094).
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bonding vppbond0 vif 100
-
-VLAN Sub-interface Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-VLAN sub-interfaces support the same configuration options as the parent
-interface:
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> vif <vlan-id> address
- <ip-address/prefix>
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> vif <vlan-id> description
- <description>
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> vif <vlan-id> disable
-
-.. cfgcmd:: set interfaces vpp bonding <vppbondN> vif <vlan-id> mtu <size>
-
-**Examples:**
-
-.. code-block:: none
-
- # Configure VLAN 100
- set interfaces vpp bonding vppbond0 vif 100 address 192.168.100.1/24
- set interfaces vpp bonding vppbond0 vif 100 description "Management VLAN"
- set interfaces vpp bonding vppbond0 vif 100 mtu 1500
-
- # Configure VLAN 200
- set interfaces vpp bonding vppbond0 vif 200 address 192.168.200.1/24
- set interfaces vpp bonding vppbond0 vif 200 description "Guest VLAN"
-
-
-Complete Configuration Example
-------------------------------
-
-Here's a complete example configuring a bonding interface with LACP:
-
-.. code-block:: none
-
- # Create bonding interface
- set interfaces vpp bonding vppbond0
- set interfaces vpp bonding vppbond0 description "Server uplink bond"
-
- # Configure bonding parameters
- set interfaces vpp bonding vppbond0 mode 802.3ad
- set interfaces vpp bonding vppbond0 hash-policy layer3+4
-
- # Add member interfaces
- set interfaces vpp bonding vppbond0 member interface eth0
- set interfaces vpp bonding vppbond0 member interface eth1
-
- # Configure IP on kernel interface
- set interfaces vpp bonding vppbond0 address 192.168.1.10/24
-
-Best Practices
---------------
-
-* Use **802.3ad mode** with LACP-capable switches for best performance
- and standards compliance.
-* Configure **layer3+4 hash policy** for environments with multiple
- traffic flows.
-* Ensure member interfaces have identical settings (speed, duplex,
- MTU).
diff --git a/docs/vpp/configuration/interfaces/rst-bridge.rst b/docs/vpp/configuration/interfaces/rst-bridge.rst
deleted file mode 100644
index 0b72d77f..00000000
--- a/docs/vpp/configuration/interfaces/rst-bridge.rst
+++ /dev/null
@@ -1,210 +0,0 @@
-:lastproofread: 2026-03-10
-
-.. _vpp_config_interfaces_bridge:
-
-.. include:: /_include/need_improvement.txt
-
-########################
-VPP Bridge Configuration
-########################
-
-VPP bridge interfaces provide Layer 2 switching functionality, allowing
-multiple interfaces to be connected at the data link layer.
-
-VPP bridges operate as learning bridges, automatically discovering MAC
-addresses and building forwarding tables to efficiently switch traffic
-between member interfaces. This provides transparent connectivity between
-different network segments while maintaining the performance benefits of
-VPP's optimized data plane.
-
-**Supported Member Interface Types:**
-
-VPP bridges support various interface types as members:
-
-* Physical Ethernet interfaces (managed through linux-cp)
-* :doc:`bonding` - VPP bonding interfaces
-* :doc:`gre` - GRE tunnel interfaces
-* :doc:`loopback` - Loopback interfaces (required for BVI)
-* :doc:`vxlan` - VXLAN tunnel interfaces
-
-This flexibility allows you to create complex Layer 2 topologies
-combining different networking technologies.
-
-Basic Configuration
--------------------
-
-Creating a Bridge Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bridge <vppbrN>
-
- Create a bridge interface where ``<vppbrN>`` follows the naming
- convention ``vppbr1``, ``vppbr2``, etc.
-
-.. note::
-
- Bridge domain ``vppbr0`` is reserved by VPP and cannot be
- configured through VyOS. Start with ``vppbr1`` for your bridge
- configurations.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bridge vppbr1
-
-
-Interface Description
-^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bridge <vppbrN> description <description>
-
- Set a descriptive name for the bridge interface.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp bridge vppbr1 description "Main campus bridge"
-
-Member Interface Configuration
-------------------------------
-
-Adding Member Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bridge <vppbrN> member interface
- <interface-name>
-
- Add an interface as a member of the bridge.
-
-**Examples:**
-
-.. code-block:: none
-
- # Add physical interfaces
- set interfaces vpp bridge vppbr1 member interface eth0
- set interfaces vpp bridge vppbr1 member interface eth1
-
- # Add other VPP interfaces
- set interfaces vpp bridge vppbr1 member interface vppbond0
- set interfaces vpp bridge vppbr1 member interface vppgre1
-
-.. important::
-
- Bridge members can include various interface types such as:
-
- * Physical Ethernet interfaces (eth0, eth1, etc.)
- * :doc:`bonding` - VPP bonding interfaces (vppbond0, vppbond1, etc.)
- * :doc:`gre` - GRE tunnel interfaces
- * :doc:`loopback` - Loopback interfaces
- * :doc:`vxlan` - VXLAN tunnel interfaces
-
-Bridge Virtual Interface (BVI)
-------------------------------
-
-A Bridge Virtual Interface (BVI) provides Layer 3 connectivity to a
-bridge domain, allowing the bridge to have an IP address and participate
-in routing.
-
-Configuring BVI
-^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp bridge <vppbrN> member interface
- <loopback-interface> bvi
-
- Designate a loopback interface as the Bridge Virtual Interface for
- the bridge domain.
-
-**Example:**
-
-.. code-block:: none
-
- # Create a loopback interface first
- set interfaces vpp loopback vpplo1
-
- # Add it to the bridge as BVI
- set interfaces vpp bridge vppbr1 member interface vpplo1 bvi
-
-.. important::
-
- **BVI Restrictions:**
-
- * Only loopback interfaces can be configured as BVI
- * Each bridge domain can have only one BVI interface
-
-Configuration Examples
-----------------------
-
-Basic Bridge Setup
-^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Create bridge interface
- set interfaces vpp bridge vppbr1
- set interfaces vpp bridge vppbr1 description "Office network bridge"
-
- # Add member interfaces
- set interfaces vpp bridge vppbr1 member interface eth0
- set interfaces vpp bridge vppbr1 member interface eth1
- set interfaces vpp bridge vppbr1 member interface eth2
-
-Bridge with BVI
-^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Create bridge and loopback for BVI
- set interfaces vpp bridge vppbr2
- set interfaces vpp bridge vppbr2 description "Server segment with gateway"
- set interfaces vpp loopback vpplo1
-
- # Configure bridge members
- set interfaces vpp bridge vppbr2 member interface eth3
- set interfaces vpp bridge vppbr2 member interface eth4
- set interfaces vpp bridge vppbr2 member interface vpplo1 bvi
-
-Multi-Technology Bridge
-^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Create bridge combining different interface types
- set interfaces vpp bridge vppbr3
- set interfaces vpp bridge vppbr3 description "Hybrid network bridge"
-
- # Add various interface types
- set interfaces vpp bridge vppbr3 member interface vppbond1
- set interfaces vpp bridge vppbr3 member interface vppgre1
- set interfaces vpp bridge vppbr3 member interface vppvxlan1
- set interfaces vpp bridge vppbr3 member interface vpplo2 bvi
-
-Integration with Kernel Interfaces
-----------------------------------
-
-Bridge interfaces can be integrated with kernel interfaces for
-management and compatibility with standard Linux networking services.
-This is accomplished by binding a kernel interface to the Bridge
-Virtual Interface (BVI).
-
-**Example Integration:**
-
-.. code-block:: none
-
- # Create VPP bridge with member interfaces
- set interfaces vpp bridge vppbr1
- set interfaces vpp bridge vppbr1 member interface eth1
- set interfaces vpp bridge vppbr1 member interface eth2
-
- # Create loopback interface and configure as BVI
- set interfaces vpp loopback vpplo1
- set interfaces vpp bridge vppbr1 member interface vpplo1 bvi
-
- # Bind LCP kernel interface to the BVI loopback
- set interfaces vpp loopback vpplo1 address '192.0.2.1/24'
-
-This configuration creates a kernel interface bound to the BVI,
-allowing standard Linux applications and routing daemons to interact
-with the VPP bridge. The kernel interface provides Layer 3 access to
-the bridge domain.
diff --git a/docs/vpp/configuration/interfaces/rst-gre.rst b/docs/vpp/configuration/interfaces/rst-gre.rst
deleted file mode 100644
index e7fd9abc..00000000
--- a/docs/vpp/configuration/interfaces/rst-gre.rst
+++ /dev/null
@@ -1,176 +0,0 @@
-:lastproofread: 2026-03-13
-
-.. _vpp_config_interfaces_gre:
-
-.. include:: /_include/need_improvement.txt
-
-#####################
-VPP GRE Configuration
-#####################
-
-VPP GRE interfaces provide Generic Routing Encapsulation tunneling with
-high-performance packet processing. GRE tunnels encapsulate various
-protocols within IP packets, enabling connectivity across Layer 3
-networks while maintaining the performance benefits of VPP's optimized
-data plane.
-
-Basic Configuration
--------------------
-
-Creating a GRE Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN>
-
- Create a GRE interface where ``<vppgreN>`` follows the naming convention
- ``vppgre1``, ``vppgre2``, etc.
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN> remote <address>
-
- Set the tunnel remote endpoint address. Supports both IPv4 and IPv6
- addresses.
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN> source-address <address>
-
- Set the tunnel source address. Must match an address configured on
- the local system.
-
-**Basic Example:**
-
-.. code-block:: none
-
- set interfaces vpp gre vppgre1
- set interfaces vpp gre vppgre1 remote 203.0.113.2
- set interfaces vpp gre vppgre1 source-address 192.168.1.1
-
-Interface Configuration
------------------------
-
-Description and Administrative Control
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN> description <description>
-
- Set a descriptive name for the GRE interface.
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN> disable
-
- Administratively disable the GRE interface.
-
-Tunnel Type
-^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN> tunnel-type <type>
-
- Set the GRE tunnel encapsulation type:
-
- * ``l3`` - Generic Routing Encapsulation for network layer traffic (default).
- * ``teb`` - Transparent Ethernet Bridge for Layer 2 frame transport.
- * ``erspan`` - Encapsulated Remote Switched Port Analyzer for traffic
- mirroring.
-
-Kernel Interface Integration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-LCP kernel pair interface bound to the VPP GRE interface is created
-automatically. This allows standard Linux networking tools and
-services to interact with the VPP GRE.
-
-IP Address Configuration
-------------------------
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN> address <ip-address/prefix>
-
- Configure IPv4 or IPv6 addresses on the kernel interface. Multiple
- addresses can be assigned.
-
-**Examples:**
-
-.. code-block:: none
-
- # IPv4 address
- set interfaces vpp gre vppgre0 address 192.168.1.10/24
-
- # IPv6 address
- set interfaces vpp gre vppgre0 address 2001:db8::10/64
-
-MTU Configuration
------------------
-
-.. cfgcmd:: set interfaces vpp gre <vppgreN> mtu <size>
-
- Set the Maximum Transmission Unit (MTU) for the kernel interface.
- The MTU must be compatible with the connected VPP interface.
-
-**Example:**
-
-.. code-block:: none
-
- set interfaces vpp gre vppgre0 mtu 9000
-
-.. note::
-
- The MTU size must not exceed the MTU size
- supported by the associated VPP interface.
-
-
-Configuration Examples
-----------------------
-
-Layer 3 GRE Tunnel
-^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # IPv4 GRE tunnel
- set interfaces vpp gre vppgre1
- set interfaces vpp gre vppgre1 description "Site-to-site tunnel"
- set interfaces vpp gre vppgre1 remote 203.0.113.10
- set interfaces vpp gre vppgre1 source-address 192.168.1.1
- set interfaces vpp gre vppgre1 tunnel-type l3
-
-Layer 2 GRE Tunnel (TEB)
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Transparent Ethernet Bridge
- set interfaces vpp gre vppgre2
- set interfaces vpp gre vppgre2 description "L2 extension tunnel"
- set interfaces vpp gre vppgre2 remote 203.0.113.20
- set interfaces vpp gre vppgre2 source-address 192.168.1.1
- set interfaces vpp gre vppgre2 tunnel-type teb
-
-IPv6 GRE Tunnel
-^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # IPv6 endpoints
- set interfaces vpp gre vppgre3
- set interfaces vpp gre vppgre3 remote 2001:db8::2
- set interfaces vpp gre vppgre3 source-address 2001:db8::1
-
-GRE with Kernel Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # GRE tunnel with management interface
- set interfaces vpp gre vppgre4
- set interfaces vpp gre vppgre4 remote 203.0.113.30
- set interfaces vpp gre vppgre4 source-address 192.168.1.1
- set interfaces vpp gre vppgre4 address 10.0.1.1/30
-
-Bridge Integration
-------------------
-
-GRE interfaces can be added as members to VPP bridges for Layer 2
-switching. See :doc:`bridge` for detailed bridge configuration.
-
-.. code-block:: none
-
- # Add TEB GRE tunnel to bridge
- set interfaces vpp bridge vppbr1
- set interfaces vpp bridge vppbr1 member interface vppgre2
- set interfaces vpp bridge vppbr1 member interface eth1
diff --git a/docs/vpp/configuration/interfaces/rst-index.rst b/docs/vpp/configuration/interfaces/rst-index.rst
deleted file mode 100644
index da9bff03..00000000
--- a/docs/vpp/configuration/interfaces/rst-index.rst
+++ /dev/null
@@ -1,49 +0,0 @@
-:lastproofread: 2026-03-13
-
-.. _vpp_config_interfaces_index:
-
-.. include:: /_include/need_improvement.txt
-
-############################
-VPP Interfaces Configuration
-############################
-
-.. toctree::
- :maxdepth: 1
- :includehidden:
-
- bonding
- bridge
- gre
- ipip
- loopback
- vxlan
- xconnect
-
-VyOS utilizes VPP (Vector Packet Processor) to provide high-performance data
-plane processing. While physical interfaces are typically managed through the
-Linux kernel using ``linux-cp`` (Linux Control Plane) integration, VyOS also
-supports creating dedicated VPP interfaces for enhanced flexibility and
-performance.
-
-Why VPP Interfaces?
--------------------
-
-VPP interfaces offer several advantages:
-
-* **Total Isolation**: VPP interfaces operate entirely within the VPP data
- plane, providing isolation from the Linux kernel when needed.
-* **Advanced Features**: Access to VPP-specific functionality not available
- in standard Linux interfaces.
-* **Flexible Deployment**: Some interface types are only available as VPP
- interfaces or may not be supported by the kernel.
-* **Specific scenarios**: Not all use cases require integration with the
- Linux Kernel.
-
-Integration with Kernel
-^^^^^^^^^^^^^^^^^^^^^^^
-
-VyOS provides seamless integration between VPP and kernel networking.
-This allows you to leverage the strengths of both approaches:
-create interfaces inside VPP, and access them from the Linux kernel and other
-services.
diff --git a/docs/vpp/configuration/interfaces/rst-ipip.rst b/docs/vpp/configuration/interfaces/rst-ipip.rst
deleted file mode 100644
index 4ad21c41..00000000
--- a/docs/vpp/configuration/interfaces/rst-ipip.rst
+++ /dev/null
@@ -1,123 +0,0 @@
-:lastproofread: 2026-03-13
-
-.. _vpp_config_interfaces_ipip:
-
-.. include:: /_include/need_improvement.txt
-
-######################
-VPP IPIP Configuration
-######################
-
-VPP IPIP interfaces provide IP-in-IP tunneling with high-performance
-packet processing. IPIP tunnels encapsulate IP packets within IP
-packets, creating point-to-point connections across Layer 3 networks.
-
-Basic Configuration
--------------------
-
-Creating an IPIP Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp ipip <vppipipN>
-
- Create an IPIP interface where ``<vppipipN>`` follows the naming
- convention ``vppipip1``, ``vppipip2``, etc.
-
-.. cfgcmd:: set interfaces vpp ipip <vppipipN> remote <address>
-
- Set the tunnel remote endpoint address. Supports both IPv4 and IPv6
- addresses.
-
-.. cfgcmd:: set interfaces vpp ipip <vppipipN> source-address <address>
-
- Set the tunnel source address. The source address must match an address
- configured on the local system.
-
-**Basic Example:**
-
-.. code-block:: none
-
- set interfaces vpp ipip vppipip1
- set interfaces vpp ipip vppipip1 remote 203.0.113.2
- set interfaces vpp ipip vppipip1 source-address 192.168.1.1
-
-Interface Configuration
------------------------
-
-Description and Administrative Control
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp ipip <vppipipN> description <description>
-
- Set a descriptive name for the IPIP interface.
-
-.. cfgcmd:: set interfaces vpp ipip <vppipipN> disable
-
- Administratively disable the IPIP interface.
-
-Kernel Interface Integration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Kernel interface is bound to the VPP IPIP interface for management and
-application compatibility.
-
-IP Address Configuration
-------------------------
-
-.. cfgcmd:: set interfaces vpp ipip <vppipipN> address <ip-address/prefix>
-
- Configure IPv4 or IPv6 addresses on the kernel interface. Multiple
- addresses can be assigned.
-
-**Examples:**
-
-.. code-block:: none
-
- # IPv4 address
- set interfaces vpp ipip vppipip0 address 192.168.1.10/24
-
- # IPv6 address
- set interfaces vpp ipip vppipip0 address 2001:db8::10/64
-
-MTU Configuration
------------------
-
-.. cfgcmd:: set interfaces vpp ipip <vppipipN> mtu <size>
-
- Set the Maximum Transmission Unit (MTU) for the kernel interface.
- The MTU must be compatible with the connected VPP interface.
-
-Configuration Examples
-----------------------
-
-IPv4 IPIP Tunnel
-^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Basic IPv4 IPIP tunnel
- set interfaces vpp ipip vppipip1
- set interfaces vpp ipip vppipip1 description "Site-to-site IPIP tunnel"
- set interfaces vpp ipip vppipip1 remote 203.0.113.10
- set interfaces vpp ipip vppipip1 source-address 192.168.1.1
-
-IPv6 IPIP Tunnel
-^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # IPv6 endpoints
- set interfaces vpp ipip vppipip2
- set interfaces vpp ipip vppipip2 remote 2001:db8::2
- set interfaces vpp ipip vppipip2 source-address 2001:db8::1
-
-IPIP with Kernel Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # IPIP tunnel with management interface
- set interfaces vpp ipip vppipip3
- set interfaces vpp ipip vppipip3 remote 203.0.113.30
- set interfaces vpp ipip vppipip3 source-address 192.168.1.1
- set interfaces vpp ipip vppipip3 address 10.0.2.1/30
diff --git a/docs/vpp/configuration/interfaces/rst-loopback.rst b/docs/vpp/configuration/interfaces/rst-loopback.rst
deleted file mode 100644
index 61ef6aca..00000000
--- a/docs/vpp/configuration/interfaces/rst-loopback.rst
+++ /dev/null
@@ -1,154 +0,0 @@
-:lastproofread: 2026-03-13
-
-.. _vpp_config_interfaces_loopback:
-
-.. include:: /_include/need_improvement.txt
-
-####################################
-VPP Loopback Interface Configuration
-####################################
-
-VPP loopback interfaces provide virtual interfaces that remain
-administratively up and are commonly used for stable addressing,
-routing protocols, and as Bridge Virtual Interfaces (BVI). Loopback
-interfaces in VPP offer high-performance virtual connectivity with optimized
-packet processing.
-
-Basic Configuration
--------------------
-
-Creating a Loopback Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN>
-
- Create a loopback interface where ``<vpploN>`` follows the naming
- convention ``vpplo1``, ``vpplo2``, etc.
-
-**Basic Example:**
-
-.. code-block:: none
-
- set interfaces vpp loopback vpplo1
-
-Interface Configuration
------------------------
-
-Description and Administrative Control
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> description <description>
-
- Set a descriptive name for the loopback interface.
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> disable
-
- Administratively disable the loopback interface.
-
-Kernel Interface Integration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Kernel interface is bounded to the VPP loopback interface for management
-and application compatibility.
-
-IP Address Configuration
-------------------------
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> address <ip-address/prefix>
-
- Configure IPv4 or IPv6 addresses on the kernel interface. Multiple
- addresses can be assigned.
-
-**Examples:**
-
-.. code-block:: none
-
- # IPv4 address
- set interfaces vpp loopback vpplo1 address 192.168.1.10/24
-
- # IPv6 address
- set interfaces vpp loopback vpplo1 address 2001:db8::10/64
-
-MTU Configuration
------------------
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> mtu <size>
-
- Set the Maximum Transmission Unit (MTU) for the kernel interface.
- The MTU must be compatible with the connected VPP interface.
-
-VLAN Configuration
-------------------
-
-VPP kernel interfaces support VLAN (Virtual LAN) sub-interfaces for network
-segmentation.
-
-Creating VLAN Sub-interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> vif <vlan-id>
-
- Create a VLAN sub-interface with the specified VLAN ID (0-4094).
-
-VLAN Sub-interface Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-VLAN sub-interfaces support the same configuration options as the parent
-interface:
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> vif <vlan-id> address
- <ip-address/prefix>
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> vif <vlan-id> description
- <description>
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> vif <vlan-id> disable
-
-.. cfgcmd:: set interfaces vpp loopback <vpploN> vif <vlan-id> mtu <size>
-
-**Examples:**
-
-.. code-block:: none
-
- # Configure VLAN 100
- set interfaces vpp loopback vpplo1 vif 100 address 192.168.100.1/24
- set interfaces vpp loopback vpplo1 vif 100 description "Management VLAN"
- set interfaces vpp loopback vpplo1 vif 100 mtu 1500
-
- # Configure VLAN 200
- set interfaces vpp loopback vpplo1 vif 200 address 192.168.200.1/24
- set interfaces vpp loopback vpplo1 vif 200 description "Guest VLAN"
-
-Configuration Examples
-----------------------
-
-Basic Loopback Interface
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Create simple loopback
- set interfaces vpp loopback vpplo1
- set interfaces vpp loopback vpplo1 description "Router ID interface"
-
-Loopback with Kernel Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Loopback with management access
- set interfaces vpp loopback vpplo2
- set interfaces vpp loopback vpplo2 description "Management loopback"
- set interfaces vpp loopback vpplo2 address 10.255.255.1/32
-
-Bridge Virtual Interface (BVI)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Loopback as BVI for bridge
- set interfaces vpp loopback vpplo3
- set interfaces vpp loopback vpplo3 description "Bridge gateway interface"
- set interfaces vpp bridge vppbr1
- set interfaces vpp bridge vppbr1 member interface vpplo3 bvi
- set interfaces vpp loopback vpplo3 address 192.168.100.1/24
diff --git a/docs/vpp/configuration/interfaces/rst-vxlan.rst b/docs/vpp/configuration/interfaces/rst-vxlan.rst
deleted file mode 100644
index 85398386..00000000
--- a/docs/vpp/configuration/interfaces/rst-vxlan.rst
+++ /dev/null
@@ -1,162 +0,0 @@
-:lastproofread: 2026-03-13
-
-.. _vpp_config_interfaces_vxlan:
-
-.. include:: /_include/need_improvement.txt
-
-#######################
-VPP VXLAN Configuration
-#######################
-
-VPP VXLAN interfaces provide virtual extensible local area network (VXLAN)
-tunneling with high-performance packet processing. VXLAN extends Layer 2
-domains across Layer 3 networks using UDP encapsulation, enabling scalable
-multi-tenant networking while leveraging VPP's optimized data plane.
-
-Basic Configuration
--------------------
-
-Creating a VXLAN Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN>
-
- Create a VXLAN interface where ``<vppvxlanN>`` follows the naming
- convention ``vppvxlan1``, ``vppvxlan2``, etc.
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN> vni <vni>
-
- Set the Virtual Network Identifier (VNI) for the VXLAN tunnel. Valid range
- is 0-16777214.
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN> remote <address>
-
- Set the tunnel remote endpoint address. Supports both IPv4 and IPv6
- addresses.
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN> source-address <address>
-
- Set the tunnel source address. Must match an address configured on the
- local system.
-
-**Basic Example:**
-
-.. code-block:: none
-
- set interfaces vpp vxlan vppvxlan1
- set interfaces vpp vxlan vppvxlan1 vni 100
- set interfaces vpp vxlan vppvxlan1 remote 203.0.113.2
- set interfaces vpp vxlan vppvxlan1 source-address 192.168.1.1
-
-Interface Configuration
------------------------
-
-Description and Administrative Control
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN> description <description>
-
- Set a descriptive name for the VXLAN interface.
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN> disable
-
- Administratively disable the VXLAN interface.
-
-Kernel Interface Integration
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The kernel interface is bound to the VXLAN tunnel for management and
-application compatibility.
-
-IP Address Configuration
-------------------------
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN> address <ip-address/prefix>
-
- Configure IPv4 or IPv6 addresses on the kernel interface. Multiple
- addresses can be assigned.
-
-**Examples:**
-
-.. code-block:: none
-
- set interfaces vpp vxlan vppvxlan1 address 192.168.1.10/24
- set interfaces vpp vxlan vppvxlan1 address 2001:db8::10/64
-
-MTU Configuration
------------------
-
-.. cfgcmd:: set interfaces vpp vxlan <vppvxlanN> mtu <size>
-
- Set the Maximum Transmission Unit (MTU) for the kernel interface. The MTU
- must be compatible with the connected VPP interface.
-
-Configuration Examples
-----------------------
-
-Basic VXLAN Tunnel
-^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # IPv4 VXLAN tunnel
- set interfaces vpp vxlan vppvxlan1
- set interfaces vpp vxlan vppvxlan1 description "Tenant A network extension"
- set interfaces vpp vxlan vppvxlan1 vni 1000
- set interfaces vpp vxlan vppvxlan1 remote 203.0.113.10
- set interfaces vpp vxlan vppvxlan1 source-address 192.168.1.1
-
-IPv6 VXLAN Tunnel
-^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # IPv6 endpoints
- set interfaces vpp vxlan vppvxlan2
- set interfaces vpp vxlan vppvxlan2 vni 2000
- set interfaces vpp vxlan vppvxlan2 remote 2001:db8::2
- set interfaces vpp vxlan vppvxlan2 source-address 2001:db8::1
-
-VXLAN with Kernel Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # VXLAN tunnel with management interface
- set interfaces vpp vxlan vppvxlan3
- set interfaces vpp vxlan vppvxlan3 vni 3000
- set interfaces vpp vxlan vppvxlan3 remote 203.0.113.30
- set interfaces vpp vxlan vppvxlan3 source-address 192.168.1.1
- set interfaces vpp vxlan vppvxlan3 address 10.0.3.1/24
-
-Bridge Integration
-------------------
-
-VXLAN interfaces are commonly used as members in VPP bridges for Layer 2
-extension. See :doc:`bridge` for more information.
-
-.. code-block:: none
-
- # Add VXLAN tunnel to bridge
- set interfaces vpp bridge vppbr1
- set interfaces vpp bridge vppbr1 member interface vppvxlan1
- set interfaces vpp bridge vppbr1 member interface eth1
- set interfaces vpp bridge vppbr1 member interface vpplo1 bvi
-
-Multi-Tenant Configuration
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Multiple VNIs for tenant separation
- set interfaces vpp vxlan vppvxlan10
- set interfaces vpp vxlan vppvxlan10 description "Tenant A - Production"
- set interfaces vpp vxlan vppvxlan10 vni 1001
- set interfaces vpp vxlan vppvxlan10 remote 203.0.113.20
- set interfaces vpp vxlan vppvxlan10 source-address 192.168.1.1
-
- set interfaces vpp vxlan vppvxlan11
- set interfaces vpp vxlan vppvxlan11 description "Tenant A - Development"
- set interfaces vpp vxlan vppvxlan11 vni 1002
- set interfaces vpp vxlan vppvxlan11 remote 203.0.113.21
- set interfaces vpp vxlan vppvxlan11 source-address 192.168.1.1
diff --git a/docs/vpp/configuration/interfaces/rst-xconnect.rst b/docs/vpp/configuration/interfaces/rst-xconnect.rst
deleted file mode 100644
index 27916a0e..00000000
--- a/docs/vpp/configuration/interfaces/rst-xconnect.rst
+++ /dev/null
@@ -1,113 +0,0 @@
-:lastproofread: 2026-03-13
-
-.. _vpp_config_interfaces_xconnect:
-
-.. include:: /_include/need_improvement.txt
-
-##########################
-VPP XConnect Configuration
-##########################
-
-VPP XConnect provides direct Layer 2 packet forwarding between two
-interfaces with maximum transparency and minimal overhead. XConnect
-creates a simple point-to-point bridge that forwards all Layer 2 packets
-bidirectionally without MAC learning or flooding, making it ideal for
-transparent connectivity scenarios.
-
-XConnect operates as a super-transparent bridge, forwarding all frames
-between the connected interfaces without any packet inspection or
-modification. This provides the simplest possible Layer 2 forwarding with
-VPP's high-performance packet processing.
-
-Comparison with Bridges
------------------------
-
-* **XConnect**: Point-to-point only, no MAC learning, maximum
- transparency, minimal overhead
-* **Bridge**: Multi-port, MAC learning, broadcast handling, more
- features but higher overhead
-
-Choose XConnect when you need simple point-to-point Layer 2 forwarding
-with maximum performance and transparency. Use bridges when you need
-multi-port switching with MAC learning and broadcast handling.
-
-Basic Configuration
--------------------
-
-Creating an XConnect Interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. cfgcmd:: set interfaces vpp xconnect <vppxconN>
-
- Create an XConnect interface where ``<vppxconN>`` follows the naming
- convention ``vppxcon1``, ``vppxcon2``, etc.
-
-.. cfgcmd:: set interfaces vpp xconnect <vppxconN> member interface
- <interface-name>
-
- Add an interface as a member of the XConnect. Exactly two member
- interfaces must be configured to create bidirectional forwarding.
-
-**Basic Example:**
-
-.. code-block:: none
-
- set interfaces vpp xconnect vppxcon1
- set interfaces vpp xconnect vppxcon1 member interface eth0
- set interfaces vpp xconnect vppxcon1 member interface eth1
-
-This configuration creates transparent forwarding between ``eth0`` and ``eth1``,
-where any packet received on either interface is immediately forwarded to
-the other without any processing.
-
-Interface Configuration
------------------------
-
-.. cfgcmd:: set interfaces vpp xconnect <vppxconN> description <description>
-
- Set a descriptive name for the XConnect interface.
-
-Configuration Examples
-----------------------
-
-Physical Interface XConnect
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Connect two physical interfaces
- set interfaces vpp xconnect vppxcon1
- set interfaces vpp xconnect vppxcon1 description "Transparent wire between ports"
- set interfaces vpp xconnect vppxcon1 member interface eth0
- set interfaces vpp xconnect vppxcon1 member interface eth1
-
-This creates a transparent wire between two physical ports, effectively
-making them function as a single cable.
-
-Tunnel to Physical XConnect
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Connect tunnel to physical interface
- set interfaces vpp xconnect vppxcon2
- set interfaces vpp xconnect vppxcon2 description "GRE tunnel to physical bridge"
- set interfaces vpp xconnect vppxcon2 member interface vppgre1
- set interfaces vpp xconnect vppxcon2 member interface eth2
-
-This forwards all traffic from a GRE tunnel directly to a physical
-interface and vice versa.
-
-Mixed Interface Types
-^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: none
-
- # Connect different interface types
- set interfaces vpp xconnect vppxcon3
- set interfaces vpp xconnect vppxcon3 description "VXLAN to bonding bridge"
- set interfaces vpp xconnect vppxcon3 member interface vppvxlan1
- set interfaces vpp xconnect vppxcon3 member interface vppbond0
-
-This demonstrates XConnect's flexibility in connecting various VPP interface
-types.