diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-10 17:19:31 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-10 17:19:31 +0300 |
| commit | 3fd1787d50dda76619647dd95ea6e1d421204734 (patch) | |
| tree | 3e4f5341e2b4c5618ba1fa6b52a5cda63c4c1c29 /docs/vpp/configuration/interfaces | |
| parent | d7e63e1923814a791dadf93453e8c090d26ca896 (diff) | |
| download | vyos-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.rst | 263 | ||||
| -rw-r--r-- | docs/vpp/configuration/interfaces/rst-bridge.rst | 210 | ||||
| -rw-r--r-- | docs/vpp/configuration/interfaces/rst-gre.rst | 176 | ||||
| -rw-r--r-- | docs/vpp/configuration/interfaces/rst-index.rst | 49 | ||||
| -rw-r--r-- | docs/vpp/configuration/interfaces/rst-ipip.rst | 123 | ||||
| -rw-r--r-- | docs/vpp/configuration/interfaces/rst-loopback.rst | 154 | ||||
| -rw-r--r-- | docs/vpp/configuration/interfaces/rst-vxlan.rst | 162 | ||||
| -rw-r--r-- | docs/vpp/configuration/interfaces/rst-xconnect.rst | 113 |
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. |
