Currently in VyOS 1.5, the watchfrr timeout value (default 90 seconds) is not exposed in the VyOS CLI, The only way to change this parameter|valeu is by manually editing
etc/frr/daemons and setting:
watchfrr_options="--timeout=120"
This change does not survive VyOS commits, as /etc/frr/daemons so is regenerated from a template on every commit. The workaround requires a post-config script in /config/scripts/vyos-postconfig-bootup.script to reapply the change after each commit and reboot.
For large-scale deployments (ISP and IXP routers, full-table BGP, 100+ peers), the default 90-second timeout is insufficient. During heavy BGP reconvergence, the bgpd event loop may take longer than 90 seconds to complete processing, causing watchfrr to trigger a premature restart of bgpd, which in turn causes all BGP sessions to drop and reconvergence to restart from scratch, creating a crash loop.
The proposed CLI would be:
set system frr watchfrr-timeout <seconds>
This should map to the
watchfrr_options="--timeout=<seconds>" line in /etc/frr/daemons,
following the same pattern already used by set system frr file-descriptors.
Current workaround (not persistent across VyOS commits):
sed -i 's/#watchfrr_options=""/watchfrr_options="--timeout=120"/' /etc/frr/daemons systemctl reload frr