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