summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorLiudmylaNad <l.nadolina@vyos.io>2026-09-28 13:07:13 +0200
committerGitHub <noreply@github.com>2026-09-28 12:07:13 +0100
commit5041f59ada4a6508d9ad64c1af13395d0d6641f6 (patch)
treefb9f4d45bd0fd4f22e0b191b4051bc8967f902dd /docs
parentf486f50c80a466f89efba9e4c9142944c7f76b5a (diff)
downloadvyos-documentation-5041f59ada4a6508d9ad64c1af13395d0d6641f6.tar.gz
vyos-documentation-5041f59ada4a6508d9ad64c1af13395d0d6641f6.zip
docs: Update FRR page to VyOS 1.5 standards (#2251)
* docs: Update FRR page to VyOS 1.5 standards * Minor corrections * Update frr.md
Diffstat (limited to 'docs')
-rw-r--r--docs/configuration/system/frr.md142
1 files changed, 118 insertions, 24 deletions
diff --git a/docs/configuration/system/frr.md b/docs/configuration/system/frr.md
index 40305ad7..d7620549 100644
--- a/docs/configuration/system/frr.md
+++ b/docs/configuration/system/frr.md
@@ -1,45 +1,139 @@
-(system-frr)=
+---
+myst:
+ html_meta:
+ description: |
+ FRR (FRRouting) is the control plane VyOS uses to run its dynamic
+ and static routing protocols, with each protocol run as its own
+ process.
+ keywords: frr, frrouting, dynamic routing, static routing
+---
+
+(frr)=
# FRR
-VyOS uses [FRRouting](https://frrouting.org/) as the control plane for dynamic
-and static routing. The routing daemon behavior can be adjusted during runtime,
-but requires either a restart of the routing daemon, or a reboot of the system.
+VyOS uses [FRRouting](https://frrouting.org/) as the control plane for
+its dynamic and static routing protocols. The control plane runs each
+routing protocol as its own process and computes the routing table. The
+router forwards packets according to that table, which is the data
+plane.
+
+The commands under `system frr` control how FRR starts. After the
+initial boot, a change under `system frr` takes effect only after you
+reboot the router (preferred) or restart FRR.
+
+## Configuration
```{cfgcmd} set system frr bmp
-Enable {abbr}`BMP (BGP Monitoring Protocol)` support.
+**Enable {abbr}`BMP (BGP Monitoring Protocol)` for BGP.**
+
+BMP ([RFC 7854](https://datatracker.ietf.org/doc/html/rfc7854)) lets the
+router send the BGP routes it learns and periodic BGP statistics to an
+external monitoring station. This command only enables BMP. Configure the
+monitoring station separately under `set protocols bgp bmp`.
+```
+
+Example:
+
+```none
+set system frr bmp
+```
+
+```{cfgcmd} set system frr descriptors \<1024-8192\>
+
+**Configure the maximum number of open file descriptors that each of
+FRR's processes may hold.**
+
+Raise it for a process that maintains many simultaneous network
+connections, such as BGP with thousands of peers.
+
+The default is 1024.
```
-```{cfgcmd} set system frr descriptors \<number\>
+Example:
-This allows the operator to control the number of open file descriptors
-each daemon is allowed to start with. If the operator plans to run bgp with
-several thousands of peers then this is where we would modify FRR to allow
-this to happen.
+```none
+set system frr descriptors 4096
```
```{cfgcmd} set system frr irdp
-Enable ICMP Router Discovery Protocol support.
+**Enable {abbr}`IRDP (ICMP Router Discovery Protocol)` on the router.**
+
+IRDP ([RFC 1256](https://datatracker.ietf.org/doc/html/rfc1256)) makes
+the router periodically multicast ICMP Router Advertisement messages on
+its interfaces, so directly connected hosts can discover it as a default
+router without static configuration.
+```
+
+Example:
+
+```none
+set system frr irdp
+```
+
+```{cfgcmd} set system frr watchfrr-timeout \<60-600\>
+
+**Configure the time, in seconds, that FRR's watchdog waits for a
+monitored FRR process to answer its health check before marking it
+unresponsive.**
+
+The watchdog (watchfrr) repeatedly sends an echo to each FRR process and
+restarts one that does not answer within this time.
+
+The default is 90.
+```
+
+Example:
+
+```none
+set system frr watchfrr-timeout 120
```
```{cfgcmd} set system frr profile \<traditional | datacenter\>
-Select an FRR profile to adapt its default settings. If unset, the
-traditional profile is applied.
+**Configure the profile whose defaults FRR applies to the routing
+protocols:**
+
+- `traditional`: Provides defaults that follow IETF standards and common
+ wide-area internet routing practice.
+- `datacenter`: Provides more aggressive defaults tailored for single
+ administrative domains, for example, a BGP keepalive of 3 seconds and
+ hold time of 9 seconds compared to 60 and 180 for `traditional`.
+
+The default is `traditional`.
+```
+
+Example:
+
+```none
+set system frr profile datacenter
```
-```{cfgcmd} set system frr snmp \<daemon\>
+```{cfgcmd} set system frr snmp \<bgpd | isisd | ldpd | ospf6d | ospfd | ripd | zebra\>
+
+**Enable SNMP for the specified FRR process.**
+
+The process then makes its own state available over SNMP. This requires
+an SNMP service configured under `set service snmp`.
+
+Supported processes:
-Enable SNMP support for an individual routing daemon.
+- `bgpd`: BGP
+- `isisd`: IS-IS
+- `ldpd`: LDP
+- `ospf6d`: OSPFv3
+- `ospfd`: OSPFv2
+- `ripd`: RIP
+- `zebra`: The router's routing table manager
-Supported daemons:
-- bgpd
-- isisd
-- ldpd
-- ospf6d
-- ospfd
-- ripd
-- zebra
-``` \ No newline at end of file
+Repeat the command to enable SNMP for more than one process.
+```
+
+Example:
+
+```none
+set system frr snmp bgpd
+set system frr snmp ospfd
+```