Provided by: frr_8.4.4-1.1ubuntu6.3_amd64 bug

NAME

       frr-watchfrr - a program to monitor the status of FRRouting daemons

SYNOPSIS

       watchfrr [-h] [-v]

       watchfrr [option...] <daemon>...

DESCRIPTION

       watchfrr is a watchdog program that monitors the status of supplied frr daemons and tries to restart them
       in case they become unresponsive or shut down.

       To determine whether a daemon is running, it tries to connect to the daemon's VTY UNIX stream socket, and
       send  echo  commands  to  ensure  the  daemon responds. When the daemon crashes, EOF is received from the
       socket, so that watchfrr can react immediately.

       In order to avoid restarting the daemons in quick succession, you can supply the -m and -M options to set
       the minimum and maximum delay between the restart commands. The minimum  restart  delay  is  recalculated
       each  time a restart is attempted.  If the time since the last restart attempt exceeds twice the value of
       -M, the restart delay is set to the value of -m, otherwise the interval is doubled  (but  capped  at  the
       value of -M).

OPTIONS

       --dry  Run  watchfrr  in  "dry-run"  mode,  only  monitoring the specified daemons but not performing any
              start/stop/restart actions.

       -d, --daemon
              Run in daemon mode. When supplied, error messages are sent to Syslog instead  of  standard  output
              (stdout).

       -S <directory>, --statedir <directory>
              Set the VTY socket directory (the default value is "/var/run/frr").

       -N <name>, --pathspace <name>
              Insert  the  given  name  into  paths used by the FRR daemons.  This is appended to the VTY socket
              directory and passed to the daemons which also add it to their paths in /etc.

       --netns[=<name>]
              (Linux only.)  Switch network namespaces when starting watchfrr.  The name defaults to  the  value
              passed  with  -N (which it should be used in conjunction with.)  If the name is not specified, the
              option has no effect.

              If the network namespace does not exist, it is created  in  a  manner  compatible  with  iproute2.
              Network namespaces are not removed by FRR, this must be done with "ip netns delete".

       -l <level>, --loglevel <level>
              Set  the  logging level (the default value is "6"). The value should range from 0 (LOG_EMERG) to 7
              (LOG_DEBUG), but higher number can be supplied if extra debugging messages are required.

       --min-restart-interval <number>
              Set the minimum number of seconds to wait between invocations of the daemon restart commands  (the
              default value is "60").

       --max-restart-interval <number>
              Set  the maximum number of seconds to wait between invocations of the daemon restart commands (the
              default value is "600").

       -i <number>, --interval <number>
              Set the status polling interval in seconds (the default value is "5").

       -t <number>, --timeout <number>
              Set the unresponsiveness timeout in seconds (the default value is "10").

       -T <number>, --restart-timeout <number>
              Set the restart (kill) timeout in seconds (the default value is "20"). If any background jobs  are
              still running after this period has elapsed, they will be killed.

       -p <filename>, --pid-file <filename>
              Set the process identifier filename (the default value is "/var/run/frr/watchfrr.pid").

       -b <string>, --blank-string <string>
              When  the  supplied  string is found in any of the command line option arguments (i.e., -r, -s, or
              -k), replace it with a space.

              This is an ugly hack to circumvent problems with passing the  command  line  arguments  containing
              embedded spaces.

       -v, --version
              Display the version information and exit.

       -h, --help
              Display the usage information and exit.

       The  following  3  options  specify  scripts  that  watchfrr  uses to perform start/stop/restart actions.
       Reasonable default values are built into watchfrr, so the use  of  these  options  should  no  longer  be
       necessary:

       -s command, --start-command command
              Supply a Bourne shell command to start a single daemon. The command string should contain the '%s'
              placeholder to be substituted with the daemon name.

       -k command, --kill-command command
              Supply  a Bourne shell command to stop a single daemon. The command string should contain the '%s'
              placeholder to be substituted with the daemon name.

       -r command, --restart command
              Supply a Bourne shell command to restart a single daemon. The command string  should  contain  the
              '%s' placeholder to be substituted with the daemon name.

PREVIOUS OPTIONS

       Prior versions of watchfrr supported some additional options that no longer exist::

          -a, -A, -e, -R, -z

       The  -a, -A and -R options were used to select alternate monitoring modes that offered different patterns
       of restarting daemons. The "correct" mode (phased restart) is now the default. The -e and -z options used
       to disable some monitoring aspects, watchfrr now always has all monitoring features enabled.

       Removing these options should result in correct operation, if it does not please file a bug report.

FILES

       /usr/lib/frr/watchfrr
              The default location of the watchfrr binary.

       /etc/frr/watchfrr.conf
              The default location of the watchfrr config file.

       $(PWD)/watchfrr.log
              If the watchfrr process is configured to output logs to a file, then you will find  this  file  in
              the directory where you started watchfrr.

WARNING

       This  man  page  is intended to be a quick reference for command line options. The definitive document is
       the info file frr latest or the documentation available on the project website at https://frrouting.org/.

DIAGNOSTICS

       The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR
       supports many debugging options, see the Info file, web docs or source for details.

SEE ALSO

       frr-zebra(8),   vtysh(1),   frr-ripd(8),   frr-ripngd(8),   frr-ospfd(8),   frr-ospf6d(8),   frr-bgpd(8),
       frr-isisd(8),   frr-babeld(8),   frr-nhrpd(8),   frr-pimd(8),  frr-pbrd(8),  frr-ldpd(8),  frr-eigrpd(8),
       frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) https://frrouting.org/

BUGS

       FRR  eats  bugs  for  breakfast.  If   you   have   food   for   the   maintainers,   please   email   <‐
       dev@lists.frrouting.org>.

COPYRIGHT

       2025, FRR

latest                                            Jan 24, 2025                                   FRR-WATCHFRR(8)