diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-06 20:42:32 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-06 20:42:32 +0300 |
| commit | 5d6fa52b8985f8068314aba26878a1d7d5cb84e5 (patch) | |
| tree | 99359ff282846e26b5c5fa2b9b176b35b172809f /docs/configuration/protocols/static.md | |
| parent | 631e454d674ad5111d2b56a6964ead461894a1f6 (diff) | |
| download | vyos-documentation-5d6fa52b8985f8068314aba26878a1d7d5cb84e5.tar.gz vyos-documentation-5d6fa52b8985f8068314aba26878a1d7d5cb84e5.zip | |
feat: flip swap mechanism — MD as primary, RST as override (Phase 1)
This is the first of three phases inverting the per-page swap mechanism
so MD becomes the canonical primary and RST becomes the rare override.
Phase 1 — file renames + conf.py exclude_patterns flip only:
- Rename docs/**/md-<stem>.md to docs/**/<stem>.md (drop md- prefix)
for all 254 stems previously listed in docs/_swap.txt
- Rename docs/**/<stem>.rst to docs/**/rst-<stem>.rst (add rst- prefix)
for the same 254 stems
- Repurpose docs/_swap.txt as docs/_rst_overrides.txt; initially empty
comment-only since no pages need the RST fallback right now
- conf.py exclude_patterns flipped: rst-*.rst is now excluded by default
instead of md-*.md
- conf.py runtime-artifact references updated to _rst_override_state.json
and _md_exclude.txt (Phase 2 will rewrite swap_sources.py to produce
these names; for now no swap script runs because overrides list is empty)
Phase 2 (next commit on this branch) will rewrite scripts/swap_sources.py
with inverted rename direction, delete scripts/import_myst.py + tests, and
update tests/test_swap_sources.py for the new semantics.
Phase 3 will be the cleanup pass and ready-for-review flip.
Generated by robots https://vyos.io
Diffstat (limited to 'docs/configuration/protocols/static.md')
| -rw-r--r-- | docs/configuration/protocols/static.md | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/docs/configuration/protocols/static.md b/docs/configuration/protocols/static.md new file mode 100644 index 00000000..357f7076 --- /dev/null +++ b/docs/configuration/protocols/static.md @@ -0,0 +1,298 @@ +(routing-static)= + +# Static + +Static routes are manually configured routes, which, in general, cannot be +updated dynamically from information VyOS learns about the network topology from +other routing protocols. However, if a link fails, the router will remove +routes, including static routes, from the {abbr}`RIPB (Routing Information +Base)` that used this interface to reach the next hop. In general, static +routes should only be used for very simple network topologies, or to override +the behavior of a dynamic routing protocol for a small number of routes. The +collection of all routes the router has learned from its configuration or from +its dynamic routing protocols is stored in the RIB. Unicast routes are directly +used to determine the forwarding table used for unicast packet forwarding. + +## IPv4 Unicast Routes + +```{cfgcmd} set protocols static route \<subnet\> next-hop \<address\> + +Configure next-hop *\<address\>* for an IPv4 static route. Multiple static +routes can be created. +``` + +```{cfgcmd} set protocols static route \<subnet\> next-hop \<address\> disable + +Disable this IPv4 static route entry. +``` + +```{cfgcmd} set protocols static route \<subnet\> next-hop \<address\> distance \<distance\> + +Defines next-hop distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. + +Range is 1 to 255, default is 1. + +:::{note} +Routes with a distance of 255 are effectively disabled and not +installed into the kernel. +::: +``` + + +### IPv4 Interface Routes + +```{cfgcmd} set protocols static route \<subnet\> interface \<interface\> + +Allows you to configure the next-hop interface for an interface-based IPv4 +static route. *\<interface\>* will be the next-hop interface where traffic is +routed for the given *\<subnet\>*. +``` + +```{cfgcmd} set protocols static route \<subnet\> interface \<interface\> disable + +Disables interface-based IPv4 static route. +``` + +```{cfgcmd} set protocols static route \<subnet\> interface \<interface\> distance \<distance\> + +Defines next-hop distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. + +Range is 1 to 255, default is 1. +``` + + +### IPv4 BFD + +```{cfgcmd} set protocols static route \<subnet\> next-hop \<address\> bfd + +Configure a static route for *\<subnet\>* using gateway *\<address\>* and use the +gateway address as BFD peer destination address. +``` + +```{cfgcmd} set protocols static route \<subnet\> next-hop \<address\> bfd profile \<profile\> + +Configure a static route for *\<subnet\>* using gateway *\<address\>* and use the +gateway address as BFD peer destination address with BFD profile *\<profile\>*. +``` + +```{cfgcmd} set protocols static route \<subnet\> next-hop \<address\> bfd multi-hop source-address \<source-address\> + +Configure a static route for *\<subnet\>* using gateway *\<address\>* and use the +gateway address as BFD peer destination address with source address +*\<source\>* but initiate a multi-hop session. +``` + + +### DHCP Interface Routes + +```{cfgcmd} set protocols static route \<subnet\> dhcp-interface \<interface\> + +Defines route with DHCP interface supplying next-hop IP address. +``` + + +### IPv4 Reject Routes + +```{cfgcmd} set protocol static route \<subnet\> reject + +Defines route which emits an ICMP unreachable when matched. +``` + +```{cfgcmd} set protocols static route \<subnet\> reject distance \<distance\> + +Defines distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. +``` + +```{cfgcmd} set protocols static route \<subnet\> reject tag \<tag\> + +Sets a tag for this route. +``` + +```{cfgcmd} set protocol static route6 \<subnet\> reject + +Defines route which emits an ICMP unreachable when matched. +``` + + +### IPv4 Blackhole Routes + +```{cfgcmd} set protocols static route \<subnet\> blackhole + +Use this command to configure a "black-hole" route on the router. A +black-hole route is a route for which the system silently discard packets +that are matched. This prevents networks leaking out public interfaces, but +it does not prevent them from being used as a more specific route inside your +network. +``` + +```{cfgcmd} set protocols static route \<subnet\> blackhole distance \<distance\> + +Defines blackhole distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. +``` + +```{cfgcmd} set protocols static route \<subnet\> blackhole tag \<tag\> + +Sets a tag for this route. +``` + + +## IPv6 Unicast Routes + +```{cfgcmd} set protocols static route6 \<subnet\> next-hop \<address\> + +Configure next-hop *\<address\>* for an IPv6 static route. Multiple static +routes can be created. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> next-hop \<address\> disable + +Disable this IPv6 static route entry. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> next-hop \<address\> distance \<distance\> + +Defines next-hop distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. + +Range is 1 to 255, default is 1. + +:::{note} +Routes with a distance of 255 are effectively disabled and not +installed into the kernel. +::: +``` + +```{cfgcmd} set protocols static route6 \<subnet\> next-hop \<address\> segments \<segments\> + +It is possible to specify a static route for ipv6 prefixes using an +SRv6 segments instruction. The ``/`` separator can be used to specify +multiple segment instructions. + +Example: + +:::{code-block} none +set protocols static route6 2001:db8:1000::/36 next-hop 2001:db8:201::ffff segments '2001:db8:aaaa::7/2002::4/2002::3/2002::2' +::: + +:::{code-block} none +vyos@vyos:~$ show ipv6 route +Codes: K - kernel route, C - connected, S - static, R - RIPng, + O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table, + v - VNC, V - VNC-Direct, A - Babel, F - PBR, + f - OpenFabric, + > - selected route, * - FIB route, q - queued, r - rejected, b - backup + t - trapped, o - offload failure +C>* 2001:db8:201::/64 is directly connected, eth0.201, 00:00:46 +S>* 2001:db8:1000::/36 [1/0] via 2001:db8:201::ffff, eth0.201, seg6 2001:db8:aaaa::7,2002::4,2002::3,2002::2, weight 1, 00:00:08 +::: +``` + + +### IPv6 Interface Routes + +```{cfgcmd} set protocols static route6 \<subnet\> interface \<interface\> + +Allows you to configure the next-hop interface for an interface-based IPv6 +static route. *\<interface\>* will be the next-hop interface where traffic is +routed for the given *\<subnet\>*. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> interface \<interface\> disable + +Disables interface-based IPv6 static route. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> interface \<interface\> distance \<distance\> + +Defines next-hop distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. + +Range is 1 to 255, default is 1. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> interface \<interface\> segments \<segments\> + +It is possible to specify a static route for ipv6 prefixes using an +SRv6 segments instruction. The ``/`` separator can be used to specify +multiple segment instructions. + +Example: + +:::{code-block} none +set protocols static route6 2001:db8:1000::/36 interface eth0 segments '2001:db8:aaaa::7/2002::4/2002::3/2002::2' +::: +``` + + +### IPv6 BFD + +```{cfgcmd} set protocols static route6 \<subnet\> next-hop \<address\> bfd + +Configure a static route for *\<subnet\>* using gateway *\<address\>* and use the +gateway address as BFD peer destination address. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> next-hop \<address\> bfd profile \<profile\> + +Configure a static route for *\<subnet\>* using gateway *\<address\>* and use the +gateway address as BFD peer destination address with BFD profile *\<profile\>*. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> next-hop \<address\> bfd multi-hop source-address \<source\> + +Configure a static route for *\<subnet\>* using gateway *\<address\>* and use the +gateway address as BFD peer destination address with source address +*\<source\>* but initiate a multi-hop session. +``` + + +### IPv6 Reject Routes + +```{cfgcmd} set protocol static route6 \<subnet\> reject + +Defines route which emits an ICMP unreachable when matched. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> reject distance \<distance\> + +Defines distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> reject tag \<tag\> + +Sets a tag for this route. +``` + + +### IPv6 Blackhole Routes + +```{cfgcmd} set protocols static route6 \<subnet\> blackhole + +Use this command to configure a "black-hole" route on the router. A +black-hole route is a route for which the system silently discard packets +that are matched. This prevents networks leaking out public interfaces, but +it does not prevent them from being used as a more specific route inside your +network. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> blackhole distance \<distance\> + +Defines blackhole distance for this route, routes with smaller administrative +distance are elected prior to those with a higher distance. +``` + +```{cfgcmd} set protocols static route6 \<subnet\> blackhole tag \<tag\> + +Sets a tag for this route. +``` + + +## Alternate Routing Tables + +Alternate routing tables are used with policy based routing by utilizing +{ref}`vrf`. |
