Provided by: frr_8.4.2-1ubuntu1_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

       2023, FRR