be647ac04a
- fixed and added initscript of watchquagga daemon
305 lines
9.8 KiB
Diff
305 lines
9.8 KiB
Diff
diff -up quagga-0.99.16/doc/Makefile.am.man quagga-0.99.16/doc/Makefile.am
|
|
--- quagga-0.99.16/doc/Makefile.am.man 2009-12-09 13:37:12.000000000 +0100
|
|
+++ quagga-0.99.16/doc/Makefile.am 2010-07-20 09:45:13.768782383 +0200
|
|
@@ -61,7 +61,7 @@ quagga_TEXINFOS = appendix.texi basic.te
|
|
.dia.png:
|
|
$(DIATOPNG) "$@" $<
|
|
|
|
-man_MANS = vtysh.1 bgpd.8 ospf6d.8 ospfd.8 ripd.8 ripngd.8 zebra.8 isisd.8
|
|
+man_MANS = vtysh.1 bgpd.8 ospf6d.8 ospfd.8 ripd.8 ripngd.8 zebra.8 isisd.8 ospfclient.8 watchquagga.8
|
|
|
|
EXTRA_DIST = BGP-TypeCode draft-zebra-00.ms draft-zebra-00.txt $(man_MANS) \
|
|
mpls/ChangeLog.opaque.txt mpls/cli_summary.txt \
|
|
diff -up quagga-0.99.16/doc/Makefile.in.man quagga-0.99.16/doc/Makefile.in
|
|
--- quagga-0.99.16/doc/Makefile.in.man 2010-03-09 11:55:53.000000000 +0100
|
|
+++ quagga-0.99.16/doc/Makefile.in 2010-07-20 09:45:13.769794338 +0200
|
|
@@ -271,7 +271,7 @@ quagga_TEXINFOS = appendix.texi basic.te
|
|
vtysh.texi routeserver.texi defines.texi $(figures_png) snmptrap.texi \
|
|
$(figures_txt)
|
|
|
|
-man_MANS = vtysh.1 bgpd.8 ospf6d.8 ospfd.8 ripd.8 ripngd.8 zebra.8 isisd.8
|
|
+man_MANS = vtysh.1 bgpd.8 ospf6d.8 ospfd.8 ripd.8 ripngd.8 zebra.8 isisd.8 ospfclient.8 watchquagga.8
|
|
EXTRA_DIST = BGP-TypeCode draft-zebra-00.ms draft-zebra-00.txt $(man_MANS) \
|
|
mpls/ChangeLog.opaque.txt mpls/cli_summary.txt \
|
|
mpls/opaque_lsa.txt mpls/ospfd.conf \
|
|
diff -up quagga-0.99.16/doc/ospfclient.8.man quagga-0.99.16/doc/ospfclient.8
|
|
--- quagga-0.99.16/doc/ospfclient.8.man 2010-07-20 09:45:13.796017658 +0200
|
|
+++ quagga-0.99.16/doc/ospfclient.8 2010-07-20 17:09:50.099039258 +0200
|
|
@@ -0,0 +1,42 @@
|
|
+.\" This file was originally generated by help2man 1.36.
|
|
+.TH OSPFCLIENT "1" "July 2010"
|
|
+.SH NAME
|
|
+ospfclient \- an example ospf-api client
|
|
+.SH SYNOPSIS
|
|
+.B ospfclient
|
|
+.I ospfd
|
|
+.I lsatype
|
|
+.I opaquetype
|
|
+.I opaqueid
|
|
+.I ifaddr
|
|
+.I areaid
|
|
+.SH DESCRIPTION
|
|
+.B ospfclient
|
|
+is a an example ospf-api client to test the ospfd daemon.
|
|
+.SH OPTIONS
|
|
+.TP
|
|
+.I ospfd
|
|
+A router where the API\-enabled OSPF daemon is running.
|
|
+.TP
|
|
+.I lsatype
|
|
+The value has to be either "9", "10", or "11", depending on the flooding
|
|
+scope.
|
|
+.TP
|
|
+.I opaquetype
|
|
+The value has to be in the range of 0\-255 (for example, experimental
|
|
+applications use
|
|
+.I opaquetype
|
|
+larger than 128).
|
|
+.TP
|
|
+.I opaqueid
|
|
+Arbitrary application instance (24 bits).
|
|
+.TP
|
|
+.I ifaddr
|
|
+Interface IP address for type 9, otherwise it will be ignored.
|
|
+.TP
|
|
+.I areaid
|
|
+Area in the IP address format for type 10, otherwise it will be ignored.
|
|
+.SH "SEE ALSO"
|
|
+.BR ospfd (8).
|
|
+.SH AUTHORS
|
|
+See the project homepage at <http://www.quagga.net/>.
|
|
diff -up quagga-0.99.16/doc/watchquagga.8.man quagga-0.99.16/doc/watchquagga.8
|
|
--- quagga-0.99.16/doc/watchquagga.8.man 2010-07-20 09:45:13.798019148 +0200
|
|
+++ quagga-0.99.16/doc/watchquagga.8 2010-07-20 17:10:04.052794938 +0200
|
|
@@ -0,0 +1,230 @@
|
|
+.\" This file was originally generated by help2man 1.36.
|
|
+.TH WATCHQUAGGA 8 "July 2010"
|
|
+.SH NAME
|
|
+watchquagga \- a program to monitor the status of quagga daemons
|
|
+.SH SYNOPSIS
|
|
+.B watchquagga
|
|
+.RI [ option ...]
|
|
+.IR daemon ...
|
|
+.br
|
|
+.B watchquagga
|
|
+.BR \-h " | " \-v
|
|
+.SH DESCRIPTION
|
|
+.B watchquagga
|
|
+is a watchdog program that monitors the status of supplied quagga
|
|
+.IR daemon s
|
|
+and tries to restart them in case they become unresponsive or shut down.
|
|
+.PP
|
|
+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 watchquagga can react immediately.
|
|
+.PP
|
|
+This program can run in one of the following 5 modes:
|
|
+.TP
|
|
+.B Mode 0: monitor
|
|
+In this mode, the program serves as a monitor and reports status changes.
|
|
+.IP
|
|
+Example usage: watchquagga \-d zebra ospfd bgpd
|
|
+.TP
|
|
+.B Mode 1: global restart
|
|
+In this mode, whenever a daemon hangs or crashes, the given command is used
|
|
+to restart all watched daemons.
|
|
+.IP
|
|
+Example usage: watchquagga \-dz \e
|
|
+.br
|
|
+-R '/sbin/service zebra restart; /sbin/service ospfd restart' \e
|
|
+.br
|
|
+zebra ospfd
|
|
+.TP
|
|
+.B Mode 2: individual daemon restart
|
|
+In this mode, whenever a single daemon hangs or crashes, the given command
|
|
+is used to restart this daemon only.
|
|
+.IP
|
|
+Example usage: watchquagga \-dz \-r '/sbin/service %s restart' \e
|
|
+.br
|
|
+zebra ospfd bgpd
|
|
+.TP
|
|
+.B Mode 3: phased zebra restart
|
|
+In this mode, whenever a single daemon hangs or crashes, the given command
|
|
+is used to restart this daemon only. The only exception is the zebra
|
|
+daemon; in this case, the following steps are taken: (1) all other daemons
|
|
+are stopped, (2) zebra is restarted, and (3) other daemons are started
|
|
+again.
|
|
+.IP
|
|
+Example usage: watchquagga \-adz \-r '/sbin/service %s restart' \e
|
|
+.br
|
|
+\-s '/sbin/service %s start' \e
|
|
+.br
|
|
+\-k '/sbin/service %s stop' zebra ospfd bgpd
|
|
+.TP
|
|
+.B Mode 4: phased global restart for any failure
|
|
+In this mode, whenever a single daemon hangs or crashes, the following
|
|
+steps are taken: (1) all other daemons are stopped, (2) zebra is restarted,
|
|
+and (3) other daemons are started again.
|
|
+.IP
|
|
+Example usage: watchquagga \-Adz \-r '/sbin/service %s restart' \e
|
|
+.br
|
|
+\-s '/sbin/service %s start' \e
|
|
+.br
|
|
+\-k '/sbin/service %s stop' zebra ospfd bgpd
|
|
+.PP
|
|
+Important: It is believed that mode 2 (individual daemon restart) is not
|
|
+safe, and mode 3 (phased zebra restart) may not be safe with certain
|
|
+routing daemons.
|
|
+.PP
|
|
+In order to avoid restarting the daemons in quick succession, you can
|
|
+supply the
|
|
+.B \-m
|
|
+and
|
|
+.B \-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
|
|
+.BR \-M ,
|
|
+the restart delay is set to the value of
|
|
+.BR \-m ,
|
|
+otherwise the interval is doubled (but capped at the value of
|
|
+.BR \-M ).
|
|
+.SH OPTIONS
|
|
+.TP
|
|
+.BR \-d ", " \-\-daemon
|
|
+Run in daemon mode. When supplied, error messages are sent to Syslog
|
|
+instead of standard output (stdout).
|
|
+.TP
|
|
+.BI \-S " directory" "\fR, \fB\-\-statedir " directory
|
|
+Set the VTY socket
|
|
+.I directory
|
|
+(the default value is "/var/run/quagga").
|
|
+.TP
|
|
+.BR \-e ", " \-\-no\-echo
|
|
+Do not ping the daemons to test whether they respond. This option is
|
|
+necessary if one or more daemons do not support the echo command.
|
|
+.TP
|
|
+.BI \-l " level" "\fR, \fB\-\-loglevel " level
|
|
+Set the logging
|
|
+.I 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.
|
|
+.TP
|
|
+.BI \-m " number" "\fR, \fB\-\-min\-restart\-interval " number
|
|
+Set the minimum
|
|
+.I number
|
|
+of seconds to wait between invocations of the daemon restart commands (the
|
|
+default value is "60").
|
|
+.TP
|
|
+.BI \-M " number" "\fR, \fB\-\-max\-restart\-interval " number
|
|
+Set the maximum
|
|
+.I number
|
|
+of seconds to wait between invocations of the daemon restart commands (the
|
|
+default value is "600").
|
|
+.TP
|
|
+.BI \-i " number" "\fR, \fB\-\-interval " number
|
|
+Set the status polling interval in seconds (the default value is "5").
|
|
+.TP
|
|
+.BI \-t " number" "\fR, \fB\-\-timeout " number
|
|
+Set the unresponsiveness timeout in seconds (the default value is "10").
|
|
+.TP
|
|
+.BI \-T " number" "\fR, \fB\-\-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.
|
|
+.TP
|
|
+.BI \-r " command" "\fR, \fB\-\-restart " command
|
|
+Supply a Bourne shell
|
|
+.I command
|
|
+to restart a single daemon. The command string should contain the '%s'
|
|
+placeholder to be substituted with the daemon name.
|
|
+.IP
|
|
+Note that
|
|
+.B \-r
|
|
+and
|
|
+.B \-R
|
|
+options are not compatible.
|
|
+.TP
|
|
+.BI \-s " command" "\fR, \fB\-\-start\-command " command
|
|
+Supply a Bourne shell
|
|
+.I command
|
|
+to start a single daemon. The command string should contain the '%s'
|
|
+placeholder to be substituted with the daemon name.
|
|
+.TP
|
|
+.BI \-k " command" "\fR, \fB\-\-kill\-command " command
|
|
+Supply a Bourne shell
|
|
+.I command
|
|
+to stop a single daemon. The command string should contain the '%s'
|
|
+placeholder to be substituted with the daemon name.
|
|
+.TP
|
|
+.BR \-R ", " \-\-restart\-all
|
|
+When one or more daemons are shut down, try to restart them using the
|
|
+Bourne shell command supplied on the command line.
|
|
+.IP
|
|
+Note that
|
|
+.B \-r
|
|
+and
|
|
+.B \-R
|
|
+options are not compatible.
|
|
+.TP
|
|
+.BR \-z ", " \-\-unresponsive\-restart
|
|
+When a daemon is in an unresponsive state, treat it as being shut down for
|
|
+the restart purposes.
|
|
+.TP
|
|
+.BR \-a ", " \-\-all\-restart
|
|
+When zebra hangs or crashes, restart all daemons taking the following
|
|
+steps: (1) stop all other daemons, (2) restart zebra, and (3) start other
|
|
+daemons again.
|
|
+.IP
|
|
+Note that this option also requires
|
|
+.BR \-r ,
|
|
+.BR \-s ,
|
|
+and
|
|
+.B \-k
|
|
+options to be specified.
|
|
+.TP
|
|
+.BR \-A ", " \-\-always\-all\-restart
|
|
+When any daemon (i.e., not just zebra) hangs or crashes, restart all
|
|
+daemons taking the following steps: (1) stop all other daemons, (2) restart
|
|
+zebra, and (3) start other daemons again.
|
|
+.IP
|
|
+Note that this option also requires
|
|
+.BR \-r ,
|
|
+.BR \-s ,
|
|
+and
|
|
+.B \-k
|
|
+options to be specified.
|
|
+.TP
|
|
+.BI \-p " filename" "\fR, \fB\-\-pid\-file " filename
|
|
+Set the process identifier
|
|
+.I filename
|
|
+(the default value is "/var/run/quagga/watchquagga.pid").
|
|
+.TP
|
|
+.BI \-b " string" "\fR, \fB\-\-blank\-string " string
|
|
+When the supplied
|
|
+.I string
|
|
+is found in any of the command line option arguments (i.e.,
|
|
+.BR \-r ,
|
|
+.BR \-s ,
|
|
+.BR \-k ,
|
|
+or
|
|
+.BR \-R ),
|
|
+replace it with a space.
|
|
+.IP
|
|
+This is an ugly hack to circumvent problems with passing the command line
|
|
+arguments containing embedded spaces.
|
|
+.TP
|
|
+.BR \-v ", " \-\-version
|
|
+Display the version information and exit.
|
|
+.TP
|
|
+.BR \-h ", " \-\-help
|
|
+Display the usage information and exit.
|
|
+.SH SEE ALSO
|
|
+.BR bgpd (8),
|
|
+.BR ripd (8),
|
|
+.BR ripngd (8),
|
|
+.BR ospfd (8),
|
|
+.BR ospf6d (8),
|
|
+.BR isisd (8).
|
|
+.PP
|
|
+See the project homepage at <http://www.quagga.net/>.
|
|
+.SH AUTHORS
|
|
+Copyright 2004 Andrew J. Schorr
|