From 69181726948ab5182d12a7face4dc35fafce88da Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Tue, 31 Jan 2023 05:21:59 -0500 Subject: T1237: Add protocol failover route --- docs/configuration/protocols/failover.rst | 103 ++++++++++++++++++++++++++++++ docs/configuration/protocols/index.rst | 1 + docs/copyright.md | 2 +- 3 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 docs/configuration/protocols/failover.rst diff --git a/docs/configuration/protocols/failover.rst b/docs/configuration/protocols/failover.rst new file mode 100644 index 00000000..72201ade --- /dev/null +++ b/docs/configuration/protocols/failover.rst @@ -0,0 +1,103 @@ +.. _routing-static: + +######## +Failover +######## + +Failover routes are manually configured routes, but they install +to the routing table if the health-check target is alive. +If the target is not alive the route is removed from the routing table +until the target will be available. + +*************** +Failover Routes +*************** + +.. cfgcmd:: set protocols failover route next-hop
check + target + + Configure next-hop `
` and `` for an IPv4 static + route. Specify the target + IPv4 address for health checking. + +.. cfgcmd:: set protocols failover route next-hop
check + timeout + + Timeout in seconds between health target checks. + + Range is 1 to 300, default is 10. + +.. cfgcmd:: set protocols failover route next-hop
check + type + + Defines protocols for checking ARP, ICMP, TCP + + Default is ``icmp``. + +.. cfgcmd:: set protocols failover route next-hop
+ interface + + Next-hop interface for the route + +.. cfgcmd:: set protocols failover route next-hop
+ metric + + Route metric + + Default 1. + + +******* +Example +******* + +**One gateway:** + +.. code-block:: none + + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 check target '192.0.2.1' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 check timeout '5' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 check type 'icmp' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 interface 'eth0' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 metric '10' + +Show the route + +.. code-block:: none + + vyos@vyos:~$ show ip route 203.0.113.1 + Routing entry for 203.0.113.1/32 + Known via "kernel", distance 0, metric 10, best + Last update 00:00:39 ago + * 192.0.2.1, via eth0 + +**Two gateways and different metrics:** + +.. code-block:: none + + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 check target '192.0.2.1' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 check timeout '5' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 check type 'icmp' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 interface 'eth0' + set protocols failover route 203.0.113.1/32 next-hop 192.0.2.1 metric '10' + + set protocols failover route 203.0.113.1/32 next-hop 198.51.100.1 check target '198.51.100.99' + set protocols failover route 203.0.113.1/32 next-hop 198.51.100.1 check timeout '5' + set protocols failover route 203.0.113.1/32 next-hop 198.51.100.1 check type 'icmp' + set protocols failover route 203.0.113.1/32 next-hop 198.51.100.1 interface 'eth2' + set protocols failover route 203.0.113.1/32 next-hop 198.51.100.1 metric '20' + +Show the route + +.. code-block:: none + + vyos@vyos:~$ show ip route 203.0.113.1 + Routing entry for 203.0.113.1/32 + Known via "kernel", distance 0, metric 10, best + Last update 00:08:06 ago + * 192.0.2.1, via eth0 + + Routing entry for 203.0.113.1/32 + Known via "kernel", distance 0, metric 20 + Last update 00:08:14 ago + * 198.51.100.1, via eth2 diff --git a/docs/configuration/protocols/index.rst b/docs/configuration/protocols/index.rst index c302d6a9..b7fc6289 100644 --- a/docs/configuration/protocols/index.rst +++ b/docs/configuration/protocols/index.rst @@ -9,6 +9,7 @@ Protocols bfd bgp + failover igmp isis mpls diff --git a/docs/copyright.md b/docs/copyright.md index 670e1420..2a06d761 100644 --- a/docs/copyright.md +++ b/docs/copyright.md @@ -1,6 +1,6 @@ # Copyright Notice -Copyright (C) 2018-2022 VyOS maintainers and contributors +Copyright (C) 2018-2023 VyOS maintainers and contributors Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all -- cgit v1.2.3