diff options
| author | LiudmylaNad <l.nadolina@vyos.io> | 2026-09-28 13:07:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-28 12:07:13 +0100 |
| commit | 5041f59ada4a6508d9ad64c1af13395d0d6641f6 (patch) | |
| tree | fb9f4d45bd0fd4f22e0b191b4051bc8967f902dd /docs | |
| parent | f486f50c80a466f89efba9e4c9142944c7f76b5a (diff) | |
| download | vyos-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.md | 142 |
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 +``` |
