From 3eb7a2f08bc8ee3b3f69ae0fda37a662fdb752a1 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Tue, 30 Jan 2018 16:14:24 -0500 Subject: doc: reorganize * Move all developer related docs into developer/ * Move all figures into their own directory * Move manpages to own directory Signed-off-by: Quentin Young --- doc/manpages/bgpd.8.in | 132 +++++++++++++++++++++++ doc/manpages/eigrpd.8.in | 122 +++++++++++++++++++++ doc/manpages/frr-args.8.in | 248 +++++++++++++++++++++++++++++++++++++++++++ doc/manpages/isisd.8.in | 119 +++++++++++++++++++++ doc/manpages/ldpd.8.in | 117 ++++++++++++++++++++ doc/manpages/nhrpd.8.in | 113 ++++++++++++++++++++ doc/manpages/ospf6d.8.in | 119 +++++++++++++++++++++ doc/manpages/ospfclient.8.in | 42 ++++++++ doc/manpages/ospfd.8.in | 121 +++++++++++++++++++++ doc/manpages/pimd.8.in | 135 +++++++++++++++++++++++ doc/manpages/ripd.8.in | 121 +++++++++++++++++++++ doc/manpages/ripngd.8.in | 122 +++++++++++++++++++++ doc/manpages/watchfrr.8.in | 155 +++++++++++++++++++++++++++ doc/manpages/zebra.8.in | 153 ++++++++++++++++++++++++++ 14 files changed, 1819 insertions(+) create mode 100644 doc/manpages/bgpd.8.in create mode 100644 doc/manpages/eigrpd.8.in create mode 100644 doc/manpages/frr-args.8.in create mode 100644 doc/manpages/isisd.8.in create mode 100644 doc/manpages/ldpd.8.in create mode 100644 doc/manpages/nhrpd.8.in create mode 100644 doc/manpages/ospf6d.8.in create mode 100644 doc/manpages/ospfclient.8.in create mode 100644 doc/manpages/ospfd.8.in create mode 100644 doc/manpages/pimd.8.in create mode 100644 doc/manpages/ripd.8.in create mode 100644 doc/manpages/ripngd.8.in create mode 100644 doc/manpages/watchfrr.8.in create mode 100644 doc/manpages/zebra.8.in (limited to 'doc/manpages') diff --git a/doc/manpages/bgpd.8.in b/doc/manpages/bgpd.8.in new file mode 100644 index 0000000000..0df1b1dcea --- /dev/null +++ b/doc/manpages/bgpd.8.in @@ -0,0 +1,132 @@ +.TH BGPD 8 "25 November 2004" "@PACKAGE_FULLNAME@ BGPD daemon" "Version @PACKAGE_VERSION@" +.SH NAME +bgpd \- a BGPv4, BGPv4\+, BGPv4\- routing engine for use with @PACKAGE_FULLNAME@. + +.SH SYNOPSIS +.B bgpd +[ +.B \-dhrSv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-p +.I bgp-port-number +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B bgpd +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B bgpd +command: +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/bgpd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When bgpd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart bgpd. The default is \fB\fI@CFG_STATE@/bgpd.pid\fR. +.TP +\fB\-p\fR, \fB\-\-bgp_port \fR\fIbgp-port-number\fR +Set the port that bgpd will listen to for bgp data. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the bgpd VTY will listen on. This defaults to +2605, as specified in \fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the bgpd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-r\fR, \fB\-\-retain\fR +When the program terminates, retain routes added by \fBbgpd\fR. +.TP +\fB\-S\fR, \fB\-\-skip_runas\fR +Skip setting the process effective user and group. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +The \fBsnmp\fR module may be available for +\fBbgpd\fR, if the package was built with SNMP support. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/bgpd +The default location of the +.B bgpd +binary. +.TP +.BI @CFG_SYSCONF@/bgpd.conf +The default location of the +.B bgpd +config file. +.TP +.BI $(PWD)/bgpd.log +If the +.B bgpd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBbgpd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The bgpd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBbgpd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR isisd (8), +.BR nhrpd (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +.B bgpd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://www.zebra.org +and +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. + diff --git a/doc/manpages/eigrpd.8.in b/doc/manpages/eigrpd.8.in new file mode 100644 index 0000000000..ecac972bc2 --- /dev/null +++ b/doc/manpages/eigrpd.8.in @@ -0,0 +1,122 @@ +.TH EIGRPD 8 "6 May 2017" "@PACKAGE_FULLNAME@ EIGRP daemon" "Version @PACKAGE_VERSION@" +.SH NAME +eigrpd \- a EIGRP routing engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B eigrpd +[ +.B \-dhrv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B eigrpd +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B eigrpd +command: +.SH OPTIONS +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/eigrpd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When eigrpd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart eigrpd. The default is \fB\fI@CFG_STATE@/eigrpd.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the eigrpd VTY will listen on. This defaults to +2602, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the eigrpd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-r\fR, \fB\-\-retain\fR +When the program terminates, retain routes added by \fBeigrpd\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +The \fBsnmp\fR module may be available for +\fBeigrpd\fR, if the package was built with SNMP support. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/eigrpd +The default location of the +.B eigrpd +binary. +.TP +.BI @CFG_SYSCONF@/eigrpd.conf +The default location of the +.B eigrpd +config file. +.TP +.BI $(PWD)/eigrpd.log +If the +.B eigrpd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBeigrpd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The eigrpd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBeigrpd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR isisd (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +.B eigrpd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://www.zebra.org +and +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. diff --git a/doc/manpages/frr-args.8.in b/doc/manpages/frr-args.8.in new file mode 100644 index 0000000000..3dc84e1e22 --- /dev/null +++ b/doc/manpages/frr-args.8.in @@ -0,0 +1,248 @@ +.TH frr-args 8 "28 August 2017" "@PACKAGE_FULLNAME@ general options" "Version @PACKAGE_VERSION@" +.SH NAME +frr-args \- common command line options for all @PACKAGE_FULLNAME@ daemons. +.SH SYNOPSIS +<\fBzebra\fR|\fBbgpd\fR|\fB...\fR> +[\fB\-h\fR] [\fB\-v\fR] + +<\fBzebra\fR|\fBbgpd\fR|\fB...\fR> +[\fB\-d\fR|\fB\-t\fR|\fB\-dt\fR] +[\fB\-C\fR] +[\fB\-f\fR \fIconfig-file\fR] +[\fB\-i\fR \fIpid-file\fR] +[\fB\-z\fR \fIzclient-path\fR] +[\fB\-u\fR \fIuser\fR] +[\fB\-g\fR \fIgroup\fR] +[\fB\-A\fR \fIvty-addr\fR] +[\fB\-P\fR \fIvty-port\fR] +[\fB\-M\fR \fImodule\fR[\fB:\fIoptions\fR]] +[\fB\-N\fR \fIpathspace\fR] +[\fB\-\-vty_socket\fR \fIvty-path\fR] +[\fB\-\-moduledir\fR \fImodule-path\fR] + +.SH DESCRIPTION +@PACKAGE_NAME@ daemons share a large part of their command line options; +this man page documents these. For options on specific daemons please refer +to their respective man pages. Most of the common options are related to +process control, configuration and common library functionality. + +.SH HELP AND VERSION +.TP +\fB\-h\fR, \fB\-\-help\fR +Print a short description of the daemon's command line options. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print version and build information for the daemon. +.PP +Both of these options inhibit normal operation and will immediately exit. + +.SH PROCESS CONTROL +These options control background operation: +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Launches the process in background/daemon mode, forking and detaching from +the terminal. + +The parent process will delay its exit until the daemon/child has finished +its initialization and has entered its main loop. This is important for +\fBzebra\fR startup because the other daemons will attempt to connect to +\fBzebra\fR. A return from \fBzebra -d\fR guarantees its readiness to +accept these connections. +.TP +\fB\-t\fR, \fB\-\-terminal\fR +Opens an interactive VTY session on the terminal, allowing for both state +and configuration operations. Note that the terminal starts operating after +startup has completed and the configuration file has been loaded. + +The process will exit when end of file is detected on the terminal. It is +possible to daemonize a process started with \fB-t\fR (but without \fB-d\fR) +by sending \fISIGQUIT\fR to the process (normally mapped to a \fI^\\\fR +keypress.) +.TP +\fB\-dt\fR, \fB\-\-daemon \-\-terminal\fR +This combination of the previous two options will delay the daemon from +going into background until the terminal session ends (by end of file.) + +If the process receives \fISIGINT\fR (e.g. a \fI^C\fR keypress) in this +mode, it will exit instead of daemonizing. +.PP +It is safe to suspend (\fISIGTSTP\fR / \fI^Z\fR) the terminal session +opened by the previous two options; this will only stop the terminal but +not the protocol daemon itself (which runs in a separate second process.) + +.SH CONFIGURATION AND PATHS +The following options control configuration and file system locations for +@PACKAGE_NAME@ processes: +.TP +\fB\-f\fR, \fB\-\-config_file\fR \fIconfig-file\fR +Specify a configuration file to be used instead of the default +\fB\fI@CFG_SYSCONF@/.conf\fR file. + +Note that the daemon will attempt to write to this file if the +\fIwrite file\fR command is issued on its VTY interface or through +\fBvtysh\fR. +.TP +\fB\-C\fR, \fB\-\-dryrun\fR +Load the configuration file and check its validity, then exit. +.TP +\fB\-i\fR, \fB\-\-pid_file\fR \fIpid-file\fR +Output a pid file to a location other than the default +\fB\fI@CFG_STATE@/.pid\fR. +.TP +\fB\-z\fR, \fB\-\-socket\fR \fIzclient-path\fR +Override the path of the ZAPI socket used to communicate between \fBzebra\fR +and the various protocol daemons. The default is +\fB\fI@CFG_STATE@/zserv.api\fR. The value of this option must be the same +across all daemons. +.TP +\fB\-N\fR, \fB\-\-pathspace\fR \fIpathspace\fR +Insert \fIpathspace\fR into all default paths, changing the defaults to: +.IP +\fB@CFG_SYSCONF@/\fIpathspace\fB/.conf\fR +.br +\fB@CFG_STATE@/\fIpathspace\fB/.pid\fR +.br +\fB@CFG_STATE@/\fIpathspace\fB/.vty\fR +.br +\fB@CFG_STATE@/\fIpathspace\fB/zserv.api\fR + +\'.\' and \'/\' characters will not be accepted in \fIpathspace\fR, but the +empty string will be accepted. + +Note that this only changes the respective defaults, it has no effect on +the respective path if the \fB\-f\fR, \fB\-i\fR, \fB\-z\fR or +\fB\-\-vty_socket\fR options are used. + +The purpose of this option is to easily group all file system related +bits together for running multiple fully-separate "logical routers" on a +system, particularly with Linux network namespaces. Groups of daemons +running with distinct \fIpathspace\fR values will be completely unaware +of each other and not interact in any way. + +This option does not do any system setup (like network namespaces.) This +must be done by the user, for example by running: +.IP +\fBip netns exec \fInamespace \fB -N \fInamespace\fR + +.SH PROCESS CREDENTIALS +.TP +\fB\-u\fR, \fB\-\-user\fR \fIuser\fR +(default: \fB@enable_user@\fR) +.TP +\fB\-g\fR, \fB\-\-group\fR \fIgroup\fR +(default: \fB@enable_group@\fR) +.IP +Change the user/group which the daemon will switch to. +.PP +Note that there is an additional group, \fB@enable_vty_group@\fR, which +controls group ownership of the VTY sockets. The name of this group cannot +currently be changed, and \fIuser\fR must be a member of this group. + +.SH VTY SETUP +These following options control the daemon's VTY (interactive command line) +interface. The interface is available over TCP, using the telnet protocol, +as well as through the \fBvtysh\fR frontend. +.TP +\fB\-A\fR, \fB--vty_addr\fR \fIvty-addr\fR +Specify an IP/IPv6 address to bind the TCP VTY interface to. It is +generally recommended to specify \fI::1\fR or \fI127.0.0.1\fR. For reasons +of backwards compatibility, the default is to listen on all interfaces. +.TP +\fB\-P\fR, \fB--vty_port\fR \fIvty-port\fR +Override the daemon's default TCP VTY port (each daemon has a different +default value upwards of 2600, listed below.) Specifying \fI0\fR disables +the TCP VTY interface. + +Default ports are: + +.ta 16m +zebra 2601 +.br +ripd 2602 +.br +ripngd 2603 +.br +ospfd 2604 +.br +bgpd 2605 +.br +ospf6d 2606 +.br +isisd 2608 +.br +babeld 2609 +.br +nhrpd 2610 +.br +pimd 2611 +.br +ldpd 2612 +.br +eigrpd 2613 + +Port 2607 is used for ospfd's Opaque LSA API, while port 2600 is used for +the (insecure) TCP-ZEBRA interface. +.TP +\fB\-\-vty_socket\fR \fIvty-path\fR +Overrides the directory used for the \fB.vty\fR sockets. +\fBvtysh\fR connects to these sockets in order to access each daemon's +VTY. +.br +Default: \fB\fI@CFG_STATE@\fR[\fB/\fI\fR] + +NB: Unlike the other options, this option specifies a \fBdirectory\fR, +not a full path. + +This option is primarily used by the SNAP packaging system, its semantics +may change. It should not be neccessary in most other scenarios. + +.SH MODULE LOADING +@PACKAGE_NAME@ supports optional dynamically loadable modules, although +these can only be loaded at startup. The set of available modules may vary +across distributions and packages, and modules may be available for +installation as separate packages. +.TP +\fB\-M\fR, \fB\-\-module\fR \fImodule\fR[\fB:\fIoptions\fR] +Load a module named \fImodule\fR, optionally passing \fIoptions\fR to it. + +If there is a \'/\' character in \fImodule\fR, the value is assumed to be +a pathname to a module. + +If there is no \'/\' character, the module directory (see next option) +is searched first for a module named "\fI\fB_\fI\fB.so\fR", +then for "\fI\fB.so\fR". +This allows for a module to exist in variations appropriate for particular +daemons, e.g. \fIzebra_snmp\fR and \fIbgp_snmp\fR, with the correct one +selected by \fI\-M snmp\fR. + +The meaning of \fIoptions\fR is specific to the module being loaded. Most +modules currently ignore it. + +Modules are loaded in the order as listed on the command line. This is +not generally relevant. +.TP +\fB\-\-moduledir\fR \fImodule-path\fR +Look for modules in the \fImodule-path\fR directory instead of the default +\fI@CFG_MODULE@\fR. (This path is \fBnot\fR affected by the \fB\-N\fR +option.) +.PP +The list of loaded modules can be inspected at runtime with the +\fBshow modules\fR VTY command. + + +.SH "SEE ALSO" +.BR zebra (8), +.BR vtysh (1), +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR bgpd (8), +.BR isisd (8), +.BR babeld (8), +.BR nhrpd (8), +.BR pimd (8), +.BR ldpd (8), +.BR eigrpd (8) + +\fIhttps://frrouting.org/ diff --git a/doc/manpages/isisd.8.in b/doc/manpages/isisd.8.in new file mode 100644 index 0000000000..542c289935 --- /dev/null +++ b/doc/manpages/isisd.8.in @@ -0,0 +1,119 @@ +.TH IS-IS 8 "25 November 2004" "@PACKAGE_FULLNAME@ IS-IS daemon" "Version @PACKAGE_VERSION@" +.SH NAME +isisd \- an IS-IS routing engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B isisd +[ +.B \-dhv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B isisd +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B isisd +command: +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/isisd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When isisd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart isisd. The default is \fB\fI@CFG_STATE@/isisd.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the isisd VTY will listen on. This defaults to +2608, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the isisd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +There are currently no such modules for +\fBisisd\fR in the base package. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/isisd +The default location of the +.B isisd +binary. +.TP +.BI @CFG_SYSCONF@/isisd.conf +The default location of the +.B isisd +config file. +.TP +.BI $(PWD)/isisd.log +If the +.B isisd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBisisd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The isisd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBisisd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +\fBisisd\fR is ALPHA quality at the moment and hasn't any way ready for +production use. + +.B isisd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://isisd.sourceforge.net +or the Info file for an accurate list of authors. + diff --git a/doc/manpages/ldpd.8.in b/doc/manpages/ldpd.8.in new file mode 100644 index 0000000000..2d68a31a50 --- /dev/null +++ b/doc/manpages/ldpd.8.in @@ -0,0 +1,117 @@ +.TH LDPD 8 "29 March 2016" "@PACKAGE_FULLNAME@ LDP daemon" "Version @PACKAGE_VERSION@" +.SH NAME +ldpd \- an LDP engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B ldpd +[ +.B \-dhv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B ldpd +is a component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B ldpd +command: +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/ldpd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When ldpd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart ldpd. The default is \fB\fI@CFG_STATE@/ldpd.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the ldpd VTY will listen on. This defaults to +2612, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the ldpd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +There are currently no such modules for +\fBldpd\fR in the base package. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/ldpd +The default location of the +.B ldpd +binary. +.TP +.BI @CFG_SYSCONF@/ldpd.conf +The default location of the +.B ldpd +config file. +.TP +.BI $(PWD)/ldpd.log +If the +.B ldpd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBldpd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The ldpd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBldpd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR isisd (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +.B ldpd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. + diff --git a/doc/manpages/nhrpd.8.in b/doc/manpages/nhrpd.8.in new file mode 100644 index 0000000000..09b662ae7c --- /dev/null +++ b/doc/manpages/nhrpd.8.in @@ -0,0 +1,113 @@ +.TH NHRP 8 "24 January 2017" "@PACKAGE_FULLNAME@ NHRP daemon" "Version @PACKAGE_VERSION@" +.SH NAME +nhrpd \- a Next Hop Routing Protocol routing engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B nhrpd +[ +.B \-dhv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B nhrpd +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B nhrpd +command: +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will likely default to \fB\fI@CFG_SYSCONF@/nhrpd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When nhrpd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart nhrpd. The likely default is \fB\fI@CFG_STATE@/nhrpd.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the nhrpd VTY will listen on. This defaults to +2610, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the nhrpd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +There are currently no such modules for +\fBnhrpd\fR in the base package. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/nhrpd +The default location of the +.B nhrpd +binary. +.TP +.BI @CFG_SYSCONF@/nhrpd.conf +The default location of the +.B nhrpd +config file. +.TP +.BI $(PWD)/nhrpd.log +If the +.B nhrpd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBnhrpd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The nhrpd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBnhrpd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR zebra (8), +.BR vtysh (1) + +.B nhrpd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +Timo Teräs diff --git a/doc/manpages/ospf6d.8.in b/doc/manpages/ospf6d.8.in new file mode 100644 index 0000000000..02d9d8083d --- /dev/null +++ b/doc/manpages/ospf6d.8.in @@ -0,0 +1,119 @@ +.TH OSPF6D 8 "25 November 2004" "@PACKAGE_FULLNAME@ OSPFv3 daemon" "Version @PACKAGE_VERSION@" +.SH NAME +ospf6d \- an OSPFv3 routing engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B ospf6d +[ +.B \-dhv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B ospf6d +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B ospf6d +command: +.SH OPTIONS +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/ospf6d.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When ospf6d starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart ospf6d. The default is \fB\fI@CFG_STATE@/ospf6d.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the ospf6d VTY will listen on. This defaults to +2606, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the ospf6d VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +The \fBsnmp\fR module may be available for +\fBospf6d\fR, if the package was built with SNMP support. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/ospf6d +The default location of the +.B ospf6d +binary. +.TP +.BI @CFG_SYSCONF@/ospf6d.conf +The default location of the +.B ospf6d +config file. +.TP +.BI $(PWD)/ospf6d.log +If the +.B ospf6d +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBospf6d\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The ospf6d process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBospf6d\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR isisd (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +.B ospf6d +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://www.zebra.org +and +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. + diff --git a/doc/manpages/ospfclient.8.in b/doc/manpages/ospfclient.8.in new file mode 100644 index 0000000000..a304beffda --- /dev/null +++ b/doc/manpages/ospfclient.8.in @@ -0,0 +1,42 @@ +.\" This file was originally generated by help2man 1.36. +.TH OSPFCLIENT "8" "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 <@PACKAGE_URL@>. diff --git a/doc/manpages/ospfd.8.in b/doc/manpages/ospfd.8.in new file mode 100644 index 0000000000..6bad777711 --- /dev/null +++ b/doc/manpages/ospfd.8.in @@ -0,0 +1,121 @@ +.TH OSPFD 8 "25 November 2004" "@PACKAGE_FULLNAME@ OSPFv2 daemon" "Version @PACKAGE_VERSION@" +.SH NAME +ospfd \- an OSPFv2 routing engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B ospfd +[ +.B \-dhlv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B ospfd +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B ospfd +command: +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/ospfd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When ospfd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart ospfd. The default is \fB\fI@CFG_STATE@/ospfd.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the ospfd VTY will listen on. This defaults to +2604, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the ospfd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-a\fR, \fB\-\-apiserver \fR +Enable OSPF apiserver. Default is disabled. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +The \fBsnmp\fR module may be available for +\fBospfd\fR, if the package was built with SNMP support. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/ospfd +The default location of the +.B ospfd +binary. +.TP +.BI @CFG_SYSCONF@/ospfd.conf +The default location of the +.B ospfd +config file. +.TP +.BI $(PWD)/ospfd.log +If the +.B ospfd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBospfd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The ospfd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBospfd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ripngd (8), +.BR ospf6d (8), +.BR isisd (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +.B ospfd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://www.zebra.org +and +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. + diff --git a/doc/manpages/pimd.8.in b/doc/manpages/pimd.8.in new file mode 100644 index 0000000000..6db3418f8f --- /dev/null +++ b/doc/manpages/pimd.8.in @@ -0,0 +1,135 @@ +.TH PIM 8 "10 December 2008" "@PACKAGE_FULLNAME@ PIM daemon" "Version @PACKAGE_VERSION@" +.SH NAME +pimd \- a PIM routing for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B pimd +[ +.B \-dhvZ +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-z +.I path +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B pimd +is a protocol-independent multicast component that works with the +.B @PACKAGE_FULLNAME@ +Routing Suite. +.SH OPTIONS +Options available for the +.B pimd +command: +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/pimd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When pimd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart pimd. The default is \fB\fI@CFG_STATE@/pimd.pid\fR. +.TP +\fB\-z\fR, \fB\-\-socket \fR\fIpath\fR +Specify the socket path for contacting the zebra daemon. +The default is \fB\fI@CFG_STATE@/zserv.api\fR. The value of this option +must be the same as the one given when starting zebra. Refer to the \fBzebra +(8)\fR man page for more information. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the pimd VTY will listen on. This defaults to +2611, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the pimd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +There are currently no such modules for +\fBpimd\fR in the base package. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.TP +\fB\-Z\fR, \fB\-\-debug_zclient\fR +Enable logging information for zclient debugging. +.SH FILES +.TP +.BI @CFG_SBIN@/pimd +The default location of the +.B pimd +binary. +.TP +.BI @CFG_SYSCONF@/pimd.conf +The default location of the +.B pimd +config file. +.TP +.BI @CFG_STATE@/pimd.pid +The default location of the +.B pimd +pid file. +.TP +.BI @CFG_STATE@/zserv.api +The default location of the +.B zebra +unix socket file. +.TP +.BI $(PWD)/pimd.log +If the +.B pimd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBpimd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. +.SH DIAGNOSTICS +The pimd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. +.SH "SEE ALSO" +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +\fBpimd\fR is in early development at the moment and is not ready for +production use. + +.B pimd +eats bugs for breakfast. If you have food for the maintainers try +.BI https://github.com/udhos/qpimd +.SH AUTHORS +See +.BI https://github.com/udhos/qpimd +for an accurate list of authors. + diff --git a/doc/manpages/ripd.8.in b/doc/manpages/ripd.8.in new file mode 100644 index 0000000000..a84668e6dd --- /dev/null +++ b/doc/manpages/ripd.8.in @@ -0,0 +1,121 @@ +.TH RIPD 8 "25 November 2004" "@PACKAGE_FULLNAME@ RIP daemon" "Version @PACKAGE_VERSION@" +.SH NAME +ripd \- a RIP routing engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B ripd +[ +.B \-dhrv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B ripd +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B ripd +command: +.SH OPTIONS +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/ripd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When ripd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart ripd. The default is \fB\fI@CFG_STATE@/ripd.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the ripd VTY will listen on. This defaults to +2602, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the ripd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-r\fR, \fB\-\-retain\fR +When the program terminates, retain routes added by \fBripd\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +The \fBsnmp\fR module may be available for +\fBripd\fR, if the package was built with SNMP support. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/ripd +The default location of the +.B ripd +binary. +.TP +.BI @CFG_SYSCONF@/ripd.conf +The default location of the +.B ripd +config file. +.TP +.BI $(PWD)/ripd.log +If the +.B ripd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBripd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The ripd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBripd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR isisd (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +.B ripd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://www.zebra.org +and +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. diff --git a/doc/manpages/ripngd.8.in b/doc/manpages/ripngd.8.in new file mode 100644 index 0000000000..98039219a7 --- /dev/null +++ b/doc/manpages/ripngd.8.in @@ -0,0 +1,122 @@ +.TH RIPNGD 8 "25 November 2004" "@PACKAGE_FULLNAME@ RIPNG daemon" "Version @PACKAGE_VERSION@" +.SH NAME +ripngd \- a RIPNG routing engine for use with @PACKAGE_FULLNAME@. +.SH SYNOPSIS +.B ripngd +[ +.B \-dhlrv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] +.SH DESCRIPTION +.B ripngd +is a routing component that works with the +.B @PACKAGE_FULLNAME@ +routing engine. +.SH OPTIONS +Options available for the +.B ripngd +command: +.SH OPTIONS +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/ripngd.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When ripngd starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart ripngd. The default is \fB\fI@CFG_STATE@/ripngd.pid\fR. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the ripngd VTY will listen on. This defaults to +2603, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the ripngd VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-r\fR, \fB\-\-retain\fR +When the program terminates, retain routes added by \fBripd\fR. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +There are currently no such modules for +\fBripngd\fR in the base package. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/ripngd +The default location of the +.B ripngd +binary. +.TP +.BI @CFG_SYSCONF@/ripngd.conf +The default location of the +.B ripngd +config file. +.TP +.BI $(PWD)/ripngd.log +If the +.B ripngd +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBripngd\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The ripngd process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBripngd\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR isisd (8), +.BR zebra (8), +.BR vtysh (1) +.SH BUGS +.B ripngd +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://www.zebra.org +and +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. + diff --git a/doc/manpages/watchfrr.8.in b/doc/manpages/watchfrr.8.in new file mode 100644 index 0000000000..782ac7b46e --- /dev/null +++ b/doc/manpages/watchfrr.8.in @@ -0,0 +1,155 @@ +.\" This file was originally generated by help2man 1.36. +.TH WATCHFRR 8 "July 2010" +.SH NAME +watchfrr \- a program to monitor the status of frr daemons +.SH SYNOPSIS +.B watchfrr +.RI [ option ...] +.IR daemon ... +.br +.B watchfrr +.BR \-h " | " \-v +.SH DESCRIPTION +.B watchfrr +is a watchdog program that monitors the status of supplied frr +.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 watchfrr can react immediately. +.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 +The following 3 options specify scripts that +.B watchfrr +uses to perform start/stop/restart actions. These options are mandatory +unless the +.B --dry +option is used: +.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 +.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. +.PP +Other options: +.TP +.BI \-\-dry +Run watchfrr in "dry-run" mode, only monitoring the specified daemons but not +performing any start/stop/restart actions. +.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/frr"). +.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 \-\-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 \-\-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 \-p " filename" "\fR, \fB\-\-pid\-file " filename +Set the process identifier +.I filename +(the default value is "/var/run/frr/watchfrr.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 , +or +.BR \-k ), +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 PREVIOUS OPTIONS +Prior versions of \fBwatchfrr\fR supported some additional options that no +longer exist: +.IP +.BR \-a ,\ \-A ,\ \-e ,\ \-R ,\ \-z +.PP +The \fB-a\fR, \fB-A\fR and \fB-R\fR 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 \fB-e\fR and \fB-z\fR +options used to disable some monitoring aspects, watchfrr now always has all +monitoring features enabled. +.PP +Removing these options should result in correct operation, if it does not +please file a bug report. +.SH SEE ALSO +.BR zebra (8), +.BR bgpd (8), +.BR isisd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR ripd (8), +.BR ripngd (8) +.PP +See the project homepage at <@PACKAGE_URL@>. +.SH AUTHORS +Copyright 2004 Andrew J. Schorr diff --git a/doc/manpages/zebra.8.in b/doc/manpages/zebra.8.in new file mode 100644 index 0000000000..7f4a81b1a0 --- /dev/null +++ b/doc/manpages/zebra.8.in @@ -0,0 +1,153 @@ +.TH ZEBRA 8 "25 November 2004" "Zebra daemon" "Version @PACKAGE_VERSION@" +.SH NAME +zebra \- a routing manager for use with associated @PACKAGE_FULLNAME@ components. +.SH SYNOPSIS +.B zebra +[ +.B \-bdhklrv +] [ +.B \-f +.I config-file +] [ +.B \-i +.I pid-file +] [ +.B \-P +.I port-number +] [ +.B \-A +.I vty-address +] [ +.B \-u +.I user +] [ +.B \-g +.I group +] [ +.B \-M +.I module:options +] [ +.B \-z +.I socketpath +] +.SH DESCRIPTION +.B zebra +is a routing manager that implements the +.B zebra +route engine. +.B zebra +supports RIPv1, RIPv2, RIPng, OSPF, OSPF6, IS-IS, BGP4+, and BGP4-. +.SH OPTIONS +Options available for the +.B zebra +command: +.TP +\fB\-b\fR, \fB\-\-batch\fR +Runs in batch mode, \fBzebra\fR parses its config and exits. +.TP +\fB\-d\fR, \fB\-\-daemon\fR +Runs in daemon mode, forking and exiting from tty. +.TP +\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR +Specifies the config file to use for startup. If not specified this +option will default to \fB\fI@CFG_SYSCONF@/zebra.conf\fR. +.TP +\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR +Specify the group to run as. Default is \fI@enable_group@\fR. +.TP +\fB\-h\fR, \fB\-\-help\fR +A brief message. +.TP +\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR +When zebra starts its process identifier is written to +\fB\fIpid-file\fR. The init system uses the recorded PID to stop or +restart zebra. The default is \fB\fI@CFG_STATE@/zebra.pid\fR. +.TP +\fB\-k\fR, \fB\-\-keep_kernel\fR +On startup, don't delete self inserted routes. +.TP +\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR +Specify the port that the zebra VTY will listen on. This defaults to +2601, as specified in \fB\fI/etc/services\fR. +.TP +\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR +Specify the address that the zebra VTY will listen on. Default is all +interfaces. +.TP +\fB\-u\fR, \fB\-\-user \fR\fIuser\fR +Specify the user to run as. Default is \fI@enable_user@\fR. +.TP +\fB\-r\fR, \fB\-\-retain\fR +When the program terminates, retain routes added by \fBzebra\fR. +.TP +\fB\-s\fR, \fB\-\-nl-bufsize \fR\fInetlink-buffer-size\fR +Set netlink receive buffer size. There are cases where zebra daemon can't +handle flood of netlink messages from kernel. If you ever see "recvmsg overrun" +messages in zebra log, you are in trouble. + +Solution is to increase receive buffer of netlink socket. Note that kernel +< 2.6.14 doesn't allow to increase it over maximum value defined in +\fI/proc/sys/net/core/rmem_max\fR. If you want to do it, you have to increase +maximum before starting zebra. + +Note that this affects Linux only. +.TP +\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR +Load a module at startup. May be specified more than once. +The \fBsnmp\fR and \fBfpm\fR modules may be +available for \fBzebra\fR, if the package was built with SNMP and FPM support +respectively. The \fBfpm\fR module takes an additional colon-separated +argument specifying the encapsulation, either \fBnetlink\fR or \fBprotobuf\fR. +It should thus be loaded with \fB-M fpm:netlink\fR or \fB-M fpm:protobuf\fR. +.TP +\fB\-z\fR, \fB\-\-socket \fR\fIsocketpath\fR +Use the specified path to open the zebra API socket on. +The default is \fB\fI@CFG_STATE@/zserv.api\fR. This option must be given with +the same value to all FRR protocol daemons. +.TP +\fB\-v\fR, \fB\-\-version\fR +Print the version and exit. +.SH FILES +.TP +.BI @CFG_SBIN@/zebra +The default location of the +.B zebra +binary. +.TP +.BI @CFG_SYSCONF@/zebra.conf +The default location of the +.B zebra +config file. +.TP +.BI $(PWD)/zebra.log +If the +.B zebra +process is config'd to output logs to a file, then you will find this +file in the directory where you started \fBzebra\fR. +.SH WARNING +This man page is intended to be a quick reference for command line +options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. +.SH DIAGNOSTICS +The zebra process may log to standard output, to a VTY, to a log +file, or through syslog to the system logs. \fBzebra\fR supports many +debugging options, see the Info file, or the source for details. +.SH "SEE ALSO" +.BR bgpd (8), +.BR ripd (8), +.BR ripngd (8), +.BR ospfd (8), +.BR ospf6d (8), +.BR isisd (8), +.BR nhrpd (8), +.BR vtysh (1) +.SH BUGS +.B zebra +eats bugs for breakfast. If you have food for the maintainers try +.BI @PACKAGE_BUGREPORT@ +.SH AUTHORS +See +.BI http://www.zebra.org +and +.BI @PACKAGE_URL@ +or the Info file for an accurate list of authors. + -- cgit v1.2.3 From a1e276e1d328cf3cc871da409fa098ebc428a62a Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 31 Jan 2018 15:59:26 -0500 Subject: doc: overhaul manpages * Remove groff manpages * Rewrite manpages in RST * Clean up and standardize manpage content Signed-off-by: Quentin Young --- doc/.gitignore | 2 + doc/manpages/bgpd.8.in | 132 --------------- doc/manpages/bgpd.rst | 38 +++++ doc/manpages/common-options.rst | 165 +++++++++++++++++++ doc/manpages/conf.py | 347 ++++++++++++++++++++++++++++++++++++++++ doc/manpages/defines.txt | 3 + doc/manpages/eigrpd.8.in | 122 -------------- doc/manpages/eigrpd.rst | 38 +++++ doc/manpages/epilogue.rst | 16 ++ doc/manpages/frr-args.8.in | 248 ---------------------------- doc/manpages/frr.rst | 42 +++++ doc/manpages/index.rst | 26 +++ doc/manpages/isisd.8.in | 119 -------------- doc/manpages/isisd.rst | 38 +++++ doc/manpages/ldpd.8.in | 117 -------------- doc/manpages/ldpd.rst | 38 +++++ doc/manpages/nhrpd.8.in | 113 ------------- doc/manpages/nhrpd.rst | 38 +++++ doc/manpages/ospf6d.8.in | 119 -------------- doc/manpages/ospf6d.rst | 39 +++++ doc/manpages/ospfclient.8.in | 42 ----- doc/manpages/ospfclient.rst | 41 +++++ doc/manpages/ospfd.8.in | 121 -------------- doc/manpages/ospfd.rst | 39 +++++ doc/manpages/pimd.8.in | 135 ---------------- doc/manpages/pimd.rst | 38 +++++ doc/manpages/ripd.8.in | 121 -------------- doc/manpages/ripd.rst | 38 +++++ doc/manpages/ripngd.8.in | 122 -------------- doc/manpages/ripngd.rst | 38 +++++ doc/manpages/vtysh.rst | 72 +++++++++ doc/manpages/watchfrr.8.in | 155 ------------------ doc/manpages/watchfrr.rst | 119 ++++++++++++++ doc/manpages/zebra.8.in | 153 ------------------ doc/manpages/zebra.rst | 54 +++++++ 35 files changed, 1269 insertions(+), 1819 deletions(-) delete mode 100644 doc/manpages/bgpd.8.in create mode 100644 doc/manpages/bgpd.rst create mode 100644 doc/manpages/common-options.rst create mode 100644 doc/manpages/conf.py create mode 100644 doc/manpages/defines.txt delete mode 100644 doc/manpages/eigrpd.8.in create mode 100644 doc/manpages/eigrpd.rst create mode 100644 doc/manpages/epilogue.rst delete mode 100644 doc/manpages/frr-args.8.in create mode 100644 doc/manpages/frr.rst create mode 100644 doc/manpages/index.rst delete mode 100644 doc/manpages/isisd.8.in create mode 100644 doc/manpages/isisd.rst delete mode 100644 doc/manpages/ldpd.8.in create mode 100644 doc/manpages/ldpd.rst delete mode 100644 doc/manpages/nhrpd.8.in create mode 100644 doc/manpages/nhrpd.rst delete mode 100644 doc/manpages/ospf6d.8.in create mode 100644 doc/manpages/ospf6d.rst delete mode 100644 doc/manpages/ospfclient.8.in create mode 100644 doc/manpages/ospfclient.rst delete mode 100644 doc/manpages/ospfd.8.in create mode 100644 doc/manpages/ospfd.rst delete mode 100644 doc/manpages/pimd.8.in create mode 100644 doc/manpages/pimd.rst delete mode 100644 doc/manpages/ripd.8.in create mode 100644 doc/manpages/ripd.rst delete mode 100644 doc/manpages/ripngd.8.in create mode 100644 doc/manpages/ripngd.rst create mode 100644 doc/manpages/vtysh.rst delete mode 100644 doc/manpages/watchfrr.8.in create mode 100644 doc/manpages/watchfrr.rst delete mode 100644 doc/manpages/zebra.8.in create mode 100644 doc/manpages/zebra.rst (limited to 'doc/manpages') diff --git a/doc/.gitignore b/doc/.gitignore index 8dada02288..fca8f3209b 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -36,3 +36,5 @@ stamp-vti *.loT refix _build +_static +_template diff --git a/doc/manpages/bgpd.8.in b/doc/manpages/bgpd.8.in deleted file mode 100644 index 0df1b1dcea..0000000000 --- a/doc/manpages/bgpd.8.in +++ /dev/null @@ -1,132 +0,0 @@ -.TH BGPD 8 "25 November 2004" "@PACKAGE_FULLNAME@ BGPD daemon" "Version @PACKAGE_VERSION@" -.SH NAME -bgpd \- a BGPv4, BGPv4\+, BGPv4\- routing engine for use with @PACKAGE_FULLNAME@. - -.SH SYNOPSIS -.B bgpd -[ -.B \-dhrSv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-p -.I bgp-port-number -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B bgpd -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B bgpd -command: -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/bgpd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When bgpd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart bgpd. The default is \fB\fI@CFG_STATE@/bgpd.pid\fR. -.TP -\fB\-p\fR, \fB\-\-bgp_port \fR\fIbgp-port-number\fR -Set the port that bgpd will listen to for bgp data. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the bgpd VTY will listen on. This defaults to -2605, as specified in \fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the bgpd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-r\fR, \fB\-\-retain\fR -When the program terminates, retain routes added by \fBbgpd\fR. -.TP -\fB\-S\fR, \fB\-\-skip_runas\fR -Skip setting the process effective user and group. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -The \fBsnmp\fR module may be available for -\fBbgpd\fR, if the package was built with SNMP support. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/bgpd -The default location of the -.B bgpd -binary. -.TP -.BI @CFG_SYSCONF@/bgpd.conf -The default location of the -.B bgpd -config file. -.TP -.BI $(PWD)/bgpd.log -If the -.B bgpd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBbgpd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The bgpd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBbgpd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR isisd (8), -.BR nhrpd (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -.B bgpd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://www.zebra.org -and -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. - diff --git a/doc/manpages/bgpd.rst b/doc/manpages/bgpd.rst new file mode 100644 index 0000000000..73ca6b2351 --- /dev/null +++ b/doc/manpages/bgpd.rst @@ -0,0 +1,38 @@ +**** +BGPD +**** + +.. include:: defines.txt +.. |DAEMON| replace:: bgpd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/common-options.rst b/doc/manpages/common-options.rst new file mode 100644 index 0000000000..5b136f5e1a --- /dev/null +++ b/doc/manpages/common-options.rst @@ -0,0 +1,165 @@ +HELP AND VERSION +---------------- + +.. option:: -h, --help + + Print a short description of the daemon's command line options. + +.. option:: -v, --version + + Print version and build information for the daemon. + +Both of these options inhibit normal operation and will immediately exit. + +PROCESS CONTROL +--------------- +These options control background operation: + +.. option:: -d, --daemon + + Launches the process in background/daemon mode, forking and detaching from the terminal. + + The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections. + +.. option:: -t, --terminal + + Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded. + + The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^\ keypress.) + + +The combination of :option:`--daemon` and :option:`--terminal` will delay the daemon from going into background until the terminal session ends (by end of file.) + +If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing. + +It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.) + +CONFIGURATION AND PATHS +----------------------- +The following options control configuration and file system locations for frr processes: + +.. option:: -f, --config_file config-file + + Specify a configuration file to be used instead of the default /etc/frr/.conf file. + + Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh. + +.. option:: -C, --dryrun + + Load the configuration file and check its validity, then exit. + +.. option:: -i, --pid_file pid-file + + Output a pid file to a location other than the default /var/run/frr/.pid. + +.. option:: -z, --socket zclient-path + + Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons. + +.. option:: -N, --pathspace pathspace + + Insert pathspace into all default paths, changing the defaults to: + + /etc/frr/pathspace/.conf + /var/run/frr/pathspace/.pid + /var/run/frr/pathspace/.vty + /var/run/frr/pathspace/zserv.api + + ´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted. + + Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used. + + The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way. + + This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running: + + ip netns exec namespace -N namespace + + +PROCESS CREDENTIALS +------------------- +.. option:: -u, --user user + + (default: frr) + +.. option:: -g, --group group + + (default: frr) + + Change the user/group which the daemon will switch to. + +.. option:: -S, --skip_runas + + Skip setting the process effective user and group. + + +Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group. + + +VTY SETUP +--------- +These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend. + +.. option:: -A, --vty_addr vty-addr + + Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces. + +.. option:: -P, --vty_port vty-port + + Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface. + + Default ports are::: + + zebra 2601 + ripd 2602 + ripngd 2603 + ospfd 2604 + bgpd 2605 + ospf6d 2606 + isisd 2608 + babeld 2609 + nhrpd 2610 + pimd 2611 + ldpd 2612 + eigrpd 2613 + + Port 2607 is used for ospfd's Opaque LSA API, while port 2600 is used for the (insecure) TCP-ZEBRA interface. + +.. option:: --vty_socket vty-path + + Overrides the directory used for the .vty sockets. vtysh connects to these sockets in order to access each daemon's VTY. + Default: /var/run/frr[/] + + NB: Unlike the other options, this option specifies a directory, not a full path. + + This option is primarily used by the SNAP packaging system, its semantics may change. It should not be neccessary in most other scenarios. + +MODULE LOADING +-------------- +frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages. + +.. option:: -M, --module module[:options] + + Load a module named module, optionally passing options to it. + + If there is a ´/´ character in module, the value is assumed to be a pathname to a module. + + If there is no ´/´ character, the module directory (see next option) is searched first for a module named "_.so", then for ".so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp. + + The meaning of options is specific to the module being loaded. Most modules currently ignore it. + + Modules are loaded in the order as listed on the command line. This is not generally relevant. + +.. option:: --moduledir module-path + + Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.) + +The list of loaded modules can be inspected at runtime with the show modules VTY command. + +ROUTES +------ + +.. option:: -r, --retain + + When the program terminates, retain routes added by the daemon. + diff --git a/doc/manpages/conf.py b/doc/manpages/conf.py new file mode 100644 index 0000000000..6aa8588039 --- /dev/null +++ b/doc/manpages/conf.py @@ -0,0 +1,347 @@ +# -*- coding: utf-8 -*- +# +# FRR documentation build configuration file, created by +# sphinx-quickstart on Tue Jan 31 16:00:52 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os +import re + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +needs_sphinx = '1.0' + +# prolog for various variable substitutions +rst_prolog = '' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ['sphinx.ext.todo'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# source_suffix = ['.rst'] +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'FRR' +copyright = u'2017, FRR' +author = u'Kunihiro Ishiguro, et al.' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. + +# The short X.Y version. +version = u'?.?' +# The full version, including alpha/beta/rc tags. +release = u'?.?-?' + + +# ----------------------------------------------------------------------------- +# Extract values from codebase for substitution into docs. +# ----------------------------------------------------------------------------- + +# Various installation prefixes. Reasonable defaults are set where possible. +# Values are overridden by logic below. +replace_vars = { + 'AUTHORS': author, + 'COPYRIGHT_YEAR': '1999-2005', + 'COPYRIGHT_STR': None, + 'PACKAGE_NAME': project.lower(), + 'PACKAGE_TARNAME': project.lower(), + 'PACKAGE_STRING': None, + 'PACKAGE_URL': 'https://frrouting.org/', + 'PACKAGE_VERSION': None, + 'INSTALL_PREFIX_ETC': None, + 'INSTALL_PREFIX_SBIN': None, + 'INSTALL_PREFIX_STATE': None, + 'INSTALL_PREFIX_MODULES': None, + 'INSTALL_USER': None, + 'INSTALL_GROUP': None, + 'INSTALL_VTY_GROUP': None, + 'GROUP': 'frr', + 'USER': 'frr', +} + +# extract version information, installation location, other stuff we need to +# use when building final documents +val = re.compile('^S\["([^"]+)"\]="(.*)"$') +with open('../../config.status', 'r') as cfgstatus: + for ln in cfgstatus.readlines(): + m = val.match(ln) + if not m or m.group(1) not in replace_vars.keys(): continue + replace_vars[m.group(1)] = m.group(2) + +# manually fill out some of these we can't get from config.status +replace_vars['COPYRIGHT_STR'] = "Copyright (c)" +replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['COPYRIGHT_YEAR']) +replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['AUTHORS']) +release = replace_vars['PACKAGE_VERSION'] +version = release.split('-')[0] + +# add substitutions to prolog +for key, value in replace_vars.items(): + rst_prolog += '.. |{0}| replace:: {1}\n'.format(key, value) + + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' +#html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# Now only 'ja' uses this config value +#html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +#html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'FRRdoc' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', + +# Latex figure (float) alignment +#'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'FRR.tex', u'FRR User Manual', + u'FRR', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). + +# If true, show URL addresses after external links. +#man_show_urls = False + +fwfrr = "{} routing engine for use with FRRouting." + +man_pages = [ + ('bgpd', 'bgpd', fwfrr.format("a BGPv4, BGPv4+, BGPv4- "), [], 8), + ('eigrpd', 'eigrpd', fwfrr.format("an EIGRP "), [], 8), + ('ospf6d', 'ospf6d', fwfrr.format("an OSPFv3 "), [], 8), + ('ospfd', 'ospfd', fwfrr.format("an OSPFv2 "), [], 8), + ('isisd', 'isisd', fwfrr.format("an IS-IS "), [], 8), + ('ospfclient', 'ospfclient', 'an example ospf-api client', [], 8), + ('ldpd', 'ldpd', fwfrr.format("an LDP "), [], 8), + ('nhrpd', 'nhrpd', fwfrr.format("a Next Hop Routing Protocol "), [], 8), + ('pimd', 'pimd', fwfrr.format("a PIM "), [], 8), + ('ripd', 'ripd', fwfrr.format("a RIP "), [], 8), + ('ripngd', 'ripngd', fwfrr.format("a RIPNG "), [], 8), + ('zebra', 'zebra', 'a routing manager for use with associated FRRouting components.', [], 8), + ('watchfrr', 'watchfrr', 'a program to monitor the status of FRRouting daemons', [], 8), + ('vtysh', 'vtysh', 'an integrated shell for FRRouting.', [], 1), + ('frr', 'frr', 'a systemd interaction script', [], 1), +] + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + +# custom extensions here diff --git a/doc/manpages/defines.txt b/doc/manpages/defines.txt new file mode 100644 index 0000000000..4b66d71b44 --- /dev/null +++ b/doc/manpages/defines.txt @@ -0,0 +1,3 @@ +.. |synopsis-options| replace:: [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path] +.. |synopsis-options-hv| replace:: [-h] [-v] +.. |seealso-programs| replace:: zebra(8), vtysh(1), ripd(8), ripngd(8), ospfd(8), ospf6d(8), bgpd(8), isisd(8), babeld(8), nhrpd(8), pimd(8), ldpd(8), eigrpd(8) diff --git a/doc/manpages/eigrpd.8.in b/doc/manpages/eigrpd.8.in deleted file mode 100644 index ecac972bc2..0000000000 --- a/doc/manpages/eigrpd.8.in +++ /dev/null @@ -1,122 +0,0 @@ -.TH EIGRPD 8 "6 May 2017" "@PACKAGE_FULLNAME@ EIGRP daemon" "Version @PACKAGE_VERSION@" -.SH NAME -eigrpd \- a EIGRP routing engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B eigrpd -[ -.B \-dhrv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B eigrpd -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B eigrpd -command: -.SH OPTIONS -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/eigrpd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When eigrpd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart eigrpd. The default is \fB\fI@CFG_STATE@/eigrpd.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the eigrpd VTY will listen on. This defaults to -2602, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the eigrpd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-r\fR, \fB\-\-retain\fR -When the program terminates, retain routes added by \fBeigrpd\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -The \fBsnmp\fR module may be available for -\fBeigrpd\fR, if the package was built with SNMP support. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/eigrpd -The default location of the -.B eigrpd -binary. -.TP -.BI @CFG_SYSCONF@/eigrpd.conf -The default location of the -.B eigrpd -config file. -.TP -.BI $(PWD)/eigrpd.log -If the -.B eigrpd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBeigrpd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The eigrpd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBeigrpd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR isisd (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -.B eigrpd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://www.zebra.org -and -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. diff --git a/doc/manpages/eigrpd.rst b/doc/manpages/eigrpd.rst new file mode 100644 index 0000000000..ef269b1151 --- /dev/null +++ b/doc/manpages/eigrpd.rst @@ -0,0 +1,38 @@ +****** +EIGRPD +****** + +.. include:: defines.txt +.. |DAEMON| replace:: eigrpd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/epilogue.rst b/doc/manpages/epilogue.rst new file mode 100644 index 0000000000..a4c1b897e3 --- /dev/null +++ b/doc/manpages/epilogue.rst @@ -0,0 +1,16 @@ +WARNING +======= +This man page is intended to be a quick reference for command line options. The definitive document is the info file |PACKAGE_STRING| or the documentation available on the project website at |PACKAGE_URL|. + +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 +======== +zebra(8), vtysh(1), ripd(8), ripngd(8), ospfd(8), ospf6d(8), bgpd(8), isisd(8), babeld(8), nhrpd(8), pimd(8), ldpd(8), eigrpd(8) +|PACKAGE_URL| + +BUGS +==== +FRR eats bugs for breakfast. If you have food for the maintainers, please email . diff --git a/doc/manpages/frr-args.8.in b/doc/manpages/frr-args.8.in deleted file mode 100644 index 3dc84e1e22..0000000000 --- a/doc/manpages/frr-args.8.in +++ /dev/null @@ -1,248 +0,0 @@ -.TH frr-args 8 "28 August 2017" "@PACKAGE_FULLNAME@ general options" "Version @PACKAGE_VERSION@" -.SH NAME -frr-args \- common command line options for all @PACKAGE_FULLNAME@ daemons. -.SH SYNOPSIS -<\fBzebra\fR|\fBbgpd\fR|\fB...\fR> -[\fB\-h\fR] [\fB\-v\fR] - -<\fBzebra\fR|\fBbgpd\fR|\fB...\fR> -[\fB\-d\fR|\fB\-t\fR|\fB\-dt\fR] -[\fB\-C\fR] -[\fB\-f\fR \fIconfig-file\fR] -[\fB\-i\fR \fIpid-file\fR] -[\fB\-z\fR \fIzclient-path\fR] -[\fB\-u\fR \fIuser\fR] -[\fB\-g\fR \fIgroup\fR] -[\fB\-A\fR \fIvty-addr\fR] -[\fB\-P\fR \fIvty-port\fR] -[\fB\-M\fR \fImodule\fR[\fB:\fIoptions\fR]] -[\fB\-N\fR \fIpathspace\fR] -[\fB\-\-vty_socket\fR \fIvty-path\fR] -[\fB\-\-moduledir\fR \fImodule-path\fR] - -.SH DESCRIPTION -@PACKAGE_NAME@ daemons share a large part of their command line options; -this man page documents these. For options on specific daemons please refer -to their respective man pages. Most of the common options are related to -process control, configuration and common library functionality. - -.SH HELP AND VERSION -.TP -\fB\-h\fR, \fB\-\-help\fR -Print a short description of the daemon's command line options. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print version and build information for the daemon. -.PP -Both of these options inhibit normal operation and will immediately exit. - -.SH PROCESS CONTROL -These options control background operation: -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Launches the process in background/daemon mode, forking and detaching from -the terminal. - -The parent process will delay its exit until the daemon/child has finished -its initialization and has entered its main loop. This is important for -\fBzebra\fR startup because the other daemons will attempt to connect to -\fBzebra\fR. A return from \fBzebra -d\fR guarantees its readiness to -accept these connections. -.TP -\fB\-t\fR, \fB\-\-terminal\fR -Opens an interactive VTY session on the terminal, allowing for both state -and configuration operations. Note that the terminal starts operating after -startup has completed and the configuration file has been loaded. - -The process will exit when end of file is detected on the terminal. It is -possible to daemonize a process started with \fB-t\fR (but without \fB-d\fR) -by sending \fISIGQUIT\fR to the process (normally mapped to a \fI^\\\fR -keypress.) -.TP -\fB\-dt\fR, \fB\-\-daemon \-\-terminal\fR -This combination of the previous two options will delay the daemon from -going into background until the terminal session ends (by end of file.) - -If the process receives \fISIGINT\fR (e.g. a \fI^C\fR keypress) in this -mode, it will exit instead of daemonizing. -.PP -It is safe to suspend (\fISIGTSTP\fR / \fI^Z\fR) the terminal session -opened by the previous two options; this will only stop the terminal but -not the protocol daemon itself (which runs in a separate second process.) - -.SH CONFIGURATION AND PATHS -The following options control configuration and file system locations for -@PACKAGE_NAME@ processes: -.TP -\fB\-f\fR, \fB\-\-config_file\fR \fIconfig-file\fR -Specify a configuration file to be used instead of the default -\fB\fI@CFG_SYSCONF@/.conf\fR file. - -Note that the daemon will attempt to write to this file if the -\fIwrite file\fR command is issued on its VTY interface or through -\fBvtysh\fR. -.TP -\fB\-C\fR, \fB\-\-dryrun\fR -Load the configuration file and check its validity, then exit. -.TP -\fB\-i\fR, \fB\-\-pid_file\fR \fIpid-file\fR -Output a pid file to a location other than the default -\fB\fI@CFG_STATE@/.pid\fR. -.TP -\fB\-z\fR, \fB\-\-socket\fR \fIzclient-path\fR -Override the path of the ZAPI socket used to communicate between \fBzebra\fR -and the various protocol daemons. The default is -\fB\fI@CFG_STATE@/zserv.api\fR. The value of this option must be the same -across all daemons. -.TP -\fB\-N\fR, \fB\-\-pathspace\fR \fIpathspace\fR -Insert \fIpathspace\fR into all default paths, changing the defaults to: -.IP -\fB@CFG_SYSCONF@/\fIpathspace\fB/.conf\fR -.br -\fB@CFG_STATE@/\fIpathspace\fB/.pid\fR -.br -\fB@CFG_STATE@/\fIpathspace\fB/.vty\fR -.br -\fB@CFG_STATE@/\fIpathspace\fB/zserv.api\fR - -\'.\' and \'/\' characters will not be accepted in \fIpathspace\fR, but the -empty string will be accepted. - -Note that this only changes the respective defaults, it has no effect on -the respective path if the \fB\-f\fR, \fB\-i\fR, \fB\-z\fR or -\fB\-\-vty_socket\fR options are used. - -The purpose of this option is to easily group all file system related -bits together for running multiple fully-separate "logical routers" on a -system, particularly with Linux network namespaces. Groups of daemons -running with distinct \fIpathspace\fR values will be completely unaware -of each other and not interact in any way. - -This option does not do any system setup (like network namespaces.) This -must be done by the user, for example by running: -.IP -\fBip netns exec \fInamespace \fB -N \fInamespace\fR - -.SH PROCESS CREDENTIALS -.TP -\fB\-u\fR, \fB\-\-user\fR \fIuser\fR -(default: \fB@enable_user@\fR) -.TP -\fB\-g\fR, \fB\-\-group\fR \fIgroup\fR -(default: \fB@enable_group@\fR) -.IP -Change the user/group which the daemon will switch to. -.PP -Note that there is an additional group, \fB@enable_vty_group@\fR, which -controls group ownership of the VTY sockets. The name of this group cannot -currently be changed, and \fIuser\fR must be a member of this group. - -.SH VTY SETUP -These following options control the daemon's VTY (interactive command line) -interface. The interface is available over TCP, using the telnet protocol, -as well as through the \fBvtysh\fR frontend. -.TP -\fB\-A\fR, \fB--vty_addr\fR \fIvty-addr\fR -Specify an IP/IPv6 address to bind the TCP VTY interface to. It is -generally recommended to specify \fI::1\fR or \fI127.0.0.1\fR. For reasons -of backwards compatibility, the default is to listen on all interfaces. -.TP -\fB\-P\fR, \fB--vty_port\fR \fIvty-port\fR -Override the daemon's default TCP VTY port (each daemon has a different -default value upwards of 2600, listed below.) Specifying \fI0\fR disables -the TCP VTY interface. - -Default ports are: - -.ta 16m -zebra 2601 -.br -ripd 2602 -.br -ripngd 2603 -.br -ospfd 2604 -.br -bgpd 2605 -.br -ospf6d 2606 -.br -isisd 2608 -.br -babeld 2609 -.br -nhrpd 2610 -.br -pimd 2611 -.br -ldpd 2612 -.br -eigrpd 2613 - -Port 2607 is used for ospfd's Opaque LSA API, while port 2600 is used for -the (insecure) TCP-ZEBRA interface. -.TP -\fB\-\-vty_socket\fR \fIvty-path\fR -Overrides the directory used for the \fB.vty\fR sockets. -\fBvtysh\fR connects to these sockets in order to access each daemon's -VTY. -.br -Default: \fB\fI@CFG_STATE@\fR[\fB/\fI\fR] - -NB: Unlike the other options, this option specifies a \fBdirectory\fR, -not a full path. - -This option is primarily used by the SNAP packaging system, its semantics -may change. It should not be neccessary in most other scenarios. - -.SH MODULE LOADING -@PACKAGE_NAME@ supports optional dynamically loadable modules, although -these can only be loaded at startup. The set of available modules may vary -across distributions and packages, and modules may be available for -installation as separate packages. -.TP -\fB\-M\fR, \fB\-\-module\fR \fImodule\fR[\fB:\fIoptions\fR] -Load a module named \fImodule\fR, optionally passing \fIoptions\fR to it. - -If there is a \'/\' character in \fImodule\fR, the value is assumed to be -a pathname to a module. - -If there is no \'/\' character, the module directory (see next option) -is searched first for a module named "\fI\fB_\fI\fB.so\fR", -then for "\fI\fB.so\fR". -This allows for a module to exist in variations appropriate for particular -daemons, e.g. \fIzebra_snmp\fR and \fIbgp_snmp\fR, with the correct one -selected by \fI\-M snmp\fR. - -The meaning of \fIoptions\fR is specific to the module being loaded. Most -modules currently ignore it. - -Modules are loaded in the order as listed on the command line. This is -not generally relevant. -.TP -\fB\-\-moduledir\fR \fImodule-path\fR -Look for modules in the \fImodule-path\fR directory instead of the default -\fI@CFG_MODULE@\fR. (This path is \fBnot\fR affected by the \fB\-N\fR -option.) -.PP -The list of loaded modules can be inspected at runtime with the -\fBshow modules\fR VTY command. - - -.SH "SEE ALSO" -.BR zebra (8), -.BR vtysh (1), -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR bgpd (8), -.BR isisd (8), -.BR babeld (8), -.BR nhrpd (8), -.BR pimd (8), -.BR ldpd (8), -.BR eigrpd (8) - -\fIhttps://frrouting.org/ diff --git a/doc/manpages/frr.rst b/doc/manpages/frr.rst new file mode 100644 index 0000000000..37b90ac93b --- /dev/null +++ b/doc/manpages/frr.rst @@ -0,0 +1,42 @@ +*** +FRR +*** + +SYNOPSIS +======== +frr [ start ] + +frr [ stop ] + +frr [ reload ] + +frr [ restart ] + +frr [ status ] + + +DESCRIPTION +=========== +frr is a systemd interaction script for the FRRouting routing engine. + +OPTIONS +======= +Options available for the frr command: + +start + Start enabled FRR daemons + +stop + Stop enabled FRR daemons + +reload + Reload modified configuration files + +restart + Stop all running daemons and then restart them + +status + Status of all the daemon + +.. include:: epilogue.rst + diff --git a/doc/manpages/index.rst b/doc/manpages/index.rst new file mode 100644 index 0000000000..a909e094d2 --- /dev/null +++ b/doc/manpages/index.rst @@ -0,0 +1,26 @@ +.. FRR documentation master file, created by + sphinx-quickstart on Wed Jan 31 12:00:55 2018. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to FRR's documentation! +=============================== + +.. toctree:: + :maxdepth: 2 + + bgpd + eigrpd + isisd + ldpd + nhrpd + ospf6d + ospfclient + ospfd + pimd + ripd + ripngd + watchfrr + zebra + vtysh + frr diff --git a/doc/manpages/isisd.8.in b/doc/manpages/isisd.8.in deleted file mode 100644 index 542c289935..0000000000 --- a/doc/manpages/isisd.8.in +++ /dev/null @@ -1,119 +0,0 @@ -.TH IS-IS 8 "25 November 2004" "@PACKAGE_FULLNAME@ IS-IS daemon" "Version @PACKAGE_VERSION@" -.SH NAME -isisd \- an IS-IS routing engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B isisd -[ -.B \-dhv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B isisd -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B isisd -command: -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/isisd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When isisd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart isisd. The default is \fB\fI@CFG_STATE@/isisd.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the isisd VTY will listen on. This defaults to -2608, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the isisd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -There are currently no such modules for -\fBisisd\fR in the base package. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/isisd -The default location of the -.B isisd -binary. -.TP -.BI @CFG_SYSCONF@/isisd.conf -The default location of the -.B isisd -config file. -.TP -.BI $(PWD)/isisd.log -If the -.B isisd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBisisd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The isisd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBisisd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -\fBisisd\fR is ALPHA quality at the moment and hasn't any way ready for -production use. - -.B isisd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://isisd.sourceforge.net -or the Info file for an accurate list of authors. - diff --git a/doc/manpages/isisd.rst b/doc/manpages/isisd.rst new file mode 100644 index 0000000000..6926d56051 --- /dev/null +++ b/doc/manpages/isisd.rst @@ -0,0 +1,38 @@ +***** +ISISD +***** + +.. include:: defines.txt +.. |DAEMON| replace:: isisd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/ldpd.8.in b/doc/manpages/ldpd.8.in deleted file mode 100644 index 2d68a31a50..0000000000 --- a/doc/manpages/ldpd.8.in +++ /dev/null @@ -1,117 +0,0 @@ -.TH LDPD 8 "29 March 2016" "@PACKAGE_FULLNAME@ LDP daemon" "Version @PACKAGE_VERSION@" -.SH NAME -ldpd \- an LDP engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B ldpd -[ -.B \-dhv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B ldpd -is a component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B ldpd -command: -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/ldpd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When ldpd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart ldpd. The default is \fB\fI@CFG_STATE@/ldpd.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the ldpd VTY will listen on. This defaults to -2612, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the ldpd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -There are currently no such modules for -\fBldpd\fR in the base package. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/ldpd -The default location of the -.B ldpd -binary. -.TP -.BI @CFG_SYSCONF@/ldpd.conf -The default location of the -.B ldpd -config file. -.TP -.BI $(PWD)/ldpd.log -If the -.B ldpd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBldpd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The ldpd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBldpd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR isisd (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -.B ldpd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. - diff --git a/doc/manpages/ldpd.rst b/doc/manpages/ldpd.rst new file mode 100644 index 0000000000..e01027d1f7 --- /dev/null +++ b/doc/manpages/ldpd.rst @@ -0,0 +1,38 @@ +**** +LDPD +**** + +.. include:: defines.txt +.. |DAEMON| replace:: ldpd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/nhrpd.8.in b/doc/manpages/nhrpd.8.in deleted file mode 100644 index 09b662ae7c..0000000000 --- a/doc/manpages/nhrpd.8.in +++ /dev/null @@ -1,113 +0,0 @@ -.TH NHRP 8 "24 January 2017" "@PACKAGE_FULLNAME@ NHRP daemon" "Version @PACKAGE_VERSION@" -.SH NAME -nhrpd \- a Next Hop Routing Protocol routing engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B nhrpd -[ -.B \-dhv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B nhrpd -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B nhrpd -command: -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will likely default to \fB\fI@CFG_SYSCONF@/nhrpd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When nhrpd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart nhrpd. The likely default is \fB\fI@CFG_STATE@/nhrpd.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the nhrpd VTY will listen on. This defaults to -2610, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the nhrpd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -There are currently no such modules for -\fBnhrpd\fR in the base package. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/nhrpd -The default location of the -.B nhrpd -binary. -.TP -.BI @CFG_SYSCONF@/nhrpd.conf -The default location of the -.B nhrpd -config file. -.TP -.BI $(PWD)/nhrpd.log -If the -.B nhrpd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBnhrpd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The nhrpd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBnhrpd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR zebra (8), -.BR vtysh (1) - -.B nhrpd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -Timo Teräs diff --git a/doc/manpages/nhrpd.rst b/doc/manpages/nhrpd.rst new file mode 100644 index 0000000000..8a2cb25611 --- /dev/null +++ b/doc/manpages/nhrpd.rst @@ -0,0 +1,38 @@ +***** +NHRPD +***** + +.. include:: defines.txt +.. |DAEMON| replace:: nhrpd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/ospf6d.8.in b/doc/manpages/ospf6d.8.in deleted file mode 100644 index 02d9d8083d..0000000000 --- a/doc/manpages/ospf6d.8.in +++ /dev/null @@ -1,119 +0,0 @@ -.TH OSPF6D 8 "25 November 2004" "@PACKAGE_FULLNAME@ OSPFv3 daemon" "Version @PACKAGE_VERSION@" -.SH NAME -ospf6d \- an OSPFv3 routing engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B ospf6d -[ -.B \-dhv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B ospf6d -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B ospf6d -command: -.SH OPTIONS -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/ospf6d.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When ospf6d starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart ospf6d. The default is \fB\fI@CFG_STATE@/ospf6d.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the ospf6d VTY will listen on. This defaults to -2606, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the ospf6d VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -The \fBsnmp\fR module may be available for -\fBospf6d\fR, if the package was built with SNMP support. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/ospf6d -The default location of the -.B ospf6d -binary. -.TP -.BI @CFG_SYSCONF@/ospf6d.conf -The default location of the -.B ospf6d -config file. -.TP -.BI $(PWD)/ospf6d.log -If the -.B ospf6d -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBospf6d\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The ospf6d process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBospf6d\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR isisd (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -.B ospf6d -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://www.zebra.org -and -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. - diff --git a/doc/manpages/ospf6d.rst b/doc/manpages/ospf6d.rst new file mode 100644 index 0000000000..2328d240ae --- /dev/null +++ b/doc/manpages/ospf6d.rst @@ -0,0 +1,39 @@ +****** +OSPF6D +****** + +.. include:: defines.txt +.. |DAEMON| replace:: ospf6d + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/ospfclient.8.in b/doc/manpages/ospfclient.8.in deleted file mode 100644 index a304beffda..0000000000 --- a/doc/manpages/ospfclient.8.in +++ /dev/null @@ -1,42 +0,0 @@ -.\" This file was originally generated by help2man 1.36. -.TH OSPFCLIENT "8" "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 <@PACKAGE_URL@>. diff --git a/doc/manpages/ospfclient.rst b/doc/manpages/ospfclient.rst new file mode 100644 index 0000000000..573a75f6a7 --- /dev/null +++ b/doc/manpages/ospfclient.rst @@ -0,0 +1,41 @@ +********** +OSPFCLIENT +********** + +SYNOPSIS +======== +ospfclient + +DESCRIPTION +=========== +ospfclient is an example ospf-api client to test the ospfd daemon. + +OPTIONS +======= + +.. option:: ospfd + + A router where the API-enabled OSPF daemon is running. + +.. option:: lsatype + + The value has to be either "9", "10", or "11", depending on the flooding scope. + +.. option:: opaquetype + + The value has to be in the range of 0-255 (for example, experimental applications might use opaquetype larger than 128). + +.. option:: opaqueid + + Arbitrary application instance (24 bits). + +.. option:: ifaddr + + Interface IP address for type 9, otherwise it will be ignored. + +.. option:: areaid + + Area in the IP address format for type 10, otherwise it will be ignored. + + +.. include:: epilogue.rst diff --git a/doc/manpages/ospfd.8.in b/doc/manpages/ospfd.8.in deleted file mode 100644 index 6bad777711..0000000000 --- a/doc/manpages/ospfd.8.in +++ /dev/null @@ -1,121 +0,0 @@ -.TH OSPFD 8 "25 November 2004" "@PACKAGE_FULLNAME@ OSPFv2 daemon" "Version @PACKAGE_VERSION@" -.SH NAME -ospfd \- an OSPFv2 routing engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B ospfd -[ -.B \-dhlv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B ospfd -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B ospfd -command: -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/ospfd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When ospfd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart ospfd. The default is \fB\fI@CFG_STATE@/ospfd.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the ospfd VTY will listen on. This defaults to -2604, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the ospfd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-a\fR, \fB\-\-apiserver \fR -Enable OSPF apiserver. Default is disabled. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -The \fBsnmp\fR module may be available for -\fBospfd\fR, if the package was built with SNMP support. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/ospfd -The default location of the -.B ospfd -binary. -.TP -.BI @CFG_SYSCONF@/ospfd.conf -The default location of the -.B ospfd -config file. -.TP -.BI $(PWD)/ospfd.log -If the -.B ospfd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBospfd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The ospfd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBospfd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ripngd (8), -.BR ospf6d (8), -.BR isisd (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -.B ospfd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://www.zebra.org -and -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. - diff --git a/doc/manpages/ospfd.rst b/doc/manpages/ospfd.rst new file mode 100644 index 0000000000..50ee503730 --- /dev/null +++ b/doc/manpages/ospfd.rst @@ -0,0 +1,39 @@ +***** +OSPFD +***** + +.. include:: defines.txt +.. |DAEMON| replace:: ospfd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/pimd.8.in b/doc/manpages/pimd.8.in deleted file mode 100644 index 6db3418f8f..0000000000 --- a/doc/manpages/pimd.8.in +++ /dev/null @@ -1,135 +0,0 @@ -.TH PIM 8 "10 December 2008" "@PACKAGE_FULLNAME@ PIM daemon" "Version @PACKAGE_VERSION@" -.SH NAME -pimd \- a PIM routing for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B pimd -[ -.B \-dhvZ -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-z -.I path -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B pimd -is a protocol-independent multicast component that works with the -.B @PACKAGE_FULLNAME@ -Routing Suite. -.SH OPTIONS -Options available for the -.B pimd -command: -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/pimd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When pimd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart pimd. The default is \fB\fI@CFG_STATE@/pimd.pid\fR. -.TP -\fB\-z\fR, \fB\-\-socket \fR\fIpath\fR -Specify the socket path for contacting the zebra daemon. -The default is \fB\fI@CFG_STATE@/zserv.api\fR. The value of this option -must be the same as the one given when starting zebra. Refer to the \fBzebra -(8)\fR man page for more information. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the pimd VTY will listen on. This defaults to -2611, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the pimd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -There are currently no such modules for -\fBpimd\fR in the base package. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.TP -\fB\-Z\fR, \fB\-\-debug_zclient\fR -Enable logging information for zclient debugging. -.SH FILES -.TP -.BI @CFG_SBIN@/pimd -The default location of the -.B pimd -binary. -.TP -.BI @CFG_SYSCONF@/pimd.conf -The default location of the -.B pimd -config file. -.TP -.BI @CFG_STATE@/pimd.pid -The default location of the -.B pimd -pid file. -.TP -.BI @CFG_STATE@/zserv.api -The default location of the -.B zebra -unix socket file. -.TP -.BI $(PWD)/pimd.log -If the -.B pimd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBpimd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. -.SH DIAGNOSTICS -The pimd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. -.SH "SEE ALSO" -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -\fBpimd\fR is in early development at the moment and is not ready for -production use. - -.B pimd -eats bugs for breakfast. If you have food for the maintainers try -.BI https://github.com/udhos/qpimd -.SH AUTHORS -See -.BI https://github.com/udhos/qpimd -for an accurate list of authors. - diff --git a/doc/manpages/pimd.rst b/doc/manpages/pimd.rst new file mode 100644 index 0000000000..98fd3a5c92 --- /dev/null +++ b/doc/manpages/pimd.rst @@ -0,0 +1,38 @@ +**** +PIMD +**** + +.. include:: defines.txt +.. |DAEMON| replace:: pimd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/ripd.8.in b/doc/manpages/ripd.8.in deleted file mode 100644 index a84668e6dd..0000000000 --- a/doc/manpages/ripd.8.in +++ /dev/null @@ -1,121 +0,0 @@ -.TH RIPD 8 "25 November 2004" "@PACKAGE_FULLNAME@ RIP daemon" "Version @PACKAGE_VERSION@" -.SH NAME -ripd \- a RIP routing engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B ripd -[ -.B \-dhrv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B ripd -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B ripd -command: -.SH OPTIONS -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/ripd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When ripd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart ripd. The default is \fB\fI@CFG_STATE@/ripd.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the ripd VTY will listen on. This defaults to -2602, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the ripd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-r\fR, \fB\-\-retain\fR -When the program terminates, retain routes added by \fBripd\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -The \fBsnmp\fR module may be available for -\fBripd\fR, if the package was built with SNMP support. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/ripd -The default location of the -.B ripd -binary. -.TP -.BI @CFG_SYSCONF@/ripd.conf -The default location of the -.B ripd -config file. -.TP -.BI $(PWD)/ripd.log -If the -.B ripd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBripd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The ripd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBripd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR isisd (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -.B ripd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://www.zebra.org -and -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. diff --git a/doc/manpages/ripd.rst b/doc/manpages/ripd.rst new file mode 100644 index 0000000000..01b0223251 --- /dev/null +++ b/doc/manpages/ripd.rst @@ -0,0 +1,38 @@ +**** +RIPD +**** + +.. include:: defines.txt +.. |DAEMON| replace:: ripd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/ripngd.8.in b/doc/manpages/ripngd.8.in deleted file mode 100644 index 98039219a7..0000000000 --- a/doc/manpages/ripngd.8.in +++ /dev/null @@ -1,122 +0,0 @@ -.TH RIPNGD 8 "25 November 2004" "@PACKAGE_FULLNAME@ RIPNG daemon" "Version @PACKAGE_VERSION@" -.SH NAME -ripngd \- a RIPNG routing engine for use with @PACKAGE_FULLNAME@. -.SH SYNOPSIS -.B ripngd -[ -.B \-dhlrv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] -.SH DESCRIPTION -.B ripngd -is a routing component that works with the -.B @PACKAGE_FULLNAME@ -routing engine. -.SH OPTIONS -Options available for the -.B ripngd -command: -.SH OPTIONS -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/ripngd.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When ripngd starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart ripngd. The default is \fB\fI@CFG_STATE@/ripngd.pid\fR. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the ripngd VTY will listen on. This defaults to -2603, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the ripngd VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-r\fR, \fB\-\-retain\fR -When the program terminates, retain routes added by \fBripd\fR. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -There are currently no such modules for -\fBripngd\fR in the base package. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/ripngd -The default location of the -.B ripngd -binary. -.TP -.BI @CFG_SYSCONF@/ripngd.conf -The default location of the -.B ripngd -config file. -.TP -.BI $(PWD)/ripngd.log -If the -.B ripngd -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBripngd\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The ripngd process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBripngd\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR isisd (8), -.BR zebra (8), -.BR vtysh (1) -.SH BUGS -.B ripngd -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://www.zebra.org -and -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. - diff --git a/doc/manpages/ripngd.rst b/doc/manpages/ripngd.rst new file mode 100644 index 0000000000..2a3e14ae6f --- /dev/null +++ b/doc/manpages/ripngd.rst @@ -0,0 +1,38 @@ +****** +RIPNGD +****** + +.. include:: defines.txt +.. |DAEMON| replace:: ripngd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/vtysh.rst b/doc/manpages/vtysh.rst new file mode 100644 index 0000000000..341d5eae44 --- /dev/null +++ b/doc/manpages/vtysh.rst @@ -0,0 +1,72 @@ +***** +VTYSH +***** + +.. include:: defines.txt +.. |DAEMON| replace:: eigrpd + +SYNOPSIS +======== +vtysh [ -b ] + +vtysh [ -E ] [ -d *daemon* ] [ -c *command* ] + +DESCRIPTION +=========== +vtysh is an integrated shell for the FRRouting suite of protocol daemons. + +OPTIONS +======= +OPTIONS available for the vtysh command: + +.. option:: -b, --boot + + Execute boot startup configuration. It makes sense only if integrated config file is in use (not default in FRRouting). See Info file frr for more info. + +.. option:: -c, --command command + + Specify command to be executed under batch mode. It behaves like -c option in any other shell - command is executed and vtysh exits. + + It's useful for gathering info from FRRouting daemons or reconfiguring daemons from inside shell scripts, etc. Note that multiple commands may be executed by using more than one -c option and/or embedding linefeed characters inside the command string. + +.. option:: -d, --daemon daemon_name + + Specify which daemon to connect to. By default, vtysh attempts to connect to all FRRouting daemons running on the system. With this flag, one can specify a single daemon to connect to instead. For example, specifying '-d ospfd' will connect only to ospfd. This can be particularly useful inside scripts with -c where the command is targeted for a single daemon. + +.. option:: -e, --execute command + + Alias for -c. It's here only for compatibility with Zebra routing software and older FRR versions. This will be removed in future. + +.. option:: -E, --echo + + When the -c option is being used, this flag will cause the standard vtysh prompt and command to be echoed prior to displaying the results. This is particularly useful to separate the results when executing multiple commands. + +.. option:: -h, --help + + Display a usage message on standard output and exit. + +ENVIRONMENT VARIABLES +===================== +VTYSH_PAGER + This should be the name of the pager to use. Default is more. + +FILES +===== +|INSTALL_PREFIX_SBIN|/vtysh + The default location of the vtysh binary. + +|INSTALL_PREFIX_ETC|/vtysh.conf + The default location of the vtysh config file. + +|INSTALL_PREFIX_ETC|/frr.conf + The default location of the integrated FRRouting routing engine config file if integrated config file is in use. + +${HOME}/.history_frr + Location of history of commands entered via cli + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/watchfrr.8.in b/doc/manpages/watchfrr.8.in deleted file mode 100644 index 782ac7b46e..0000000000 --- a/doc/manpages/watchfrr.8.in +++ /dev/null @@ -1,155 +0,0 @@ -.\" This file was originally generated by help2man 1.36. -.TH WATCHFRR 8 "July 2010" -.SH NAME -watchfrr \- a program to monitor the status of frr daemons -.SH SYNOPSIS -.B watchfrr -.RI [ option ...] -.IR daemon ... -.br -.B watchfrr -.BR \-h " | " \-v -.SH DESCRIPTION -.B watchfrr -is a watchdog program that monitors the status of supplied frr -.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 watchfrr can react immediately. -.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 -The following 3 options specify scripts that -.B watchfrr -uses to perform start/stop/restart actions. These options are mandatory -unless the -.B --dry -option is used: -.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 -.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. -.PP -Other options: -.TP -.BI \-\-dry -Run watchfrr in "dry-run" mode, only monitoring the specified daemons but not -performing any start/stop/restart actions. -.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/frr"). -.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 \-\-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 \-\-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 \-p " filename" "\fR, \fB\-\-pid\-file " filename -Set the process identifier -.I filename -(the default value is "/var/run/frr/watchfrr.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 , -or -.BR \-k ), -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 PREVIOUS OPTIONS -Prior versions of \fBwatchfrr\fR supported some additional options that no -longer exist: -.IP -.BR \-a ,\ \-A ,\ \-e ,\ \-R ,\ \-z -.PP -The \fB-a\fR, \fB-A\fR and \fB-R\fR 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 \fB-e\fR and \fB-z\fR -options used to disable some monitoring aspects, watchfrr now always has all -monitoring features enabled. -.PP -Removing these options should result in correct operation, if it does not -please file a bug report. -.SH SEE ALSO -.BR zebra (8), -.BR bgpd (8), -.BR isisd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR ripd (8), -.BR ripngd (8) -.PP -See the project homepage at <@PACKAGE_URL@>. -.SH AUTHORS -Copyright 2004 Andrew J. Schorr diff --git a/doc/manpages/watchfrr.rst b/doc/manpages/watchfrr.rst new file mode 100644 index 0000000000..5c18ac2e6a --- /dev/null +++ b/doc/manpages/watchfrr.rst @@ -0,0 +1,119 @@ +******** +WATCHFRR +******** + +.. include:: defines.txt +.. |DAEMON| replace:: watchfrr + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| [option...] ... + + +DESCRIPTION +=========== +|DAEMON| 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 |DAEMON| 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 +======= +The following 3 options specify scripts that |DAEMON| uses to perform start/stop/restart actions. These options are mandatory unless the --dry option is used: + +.. option:: -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 sub‐ stituted with the daemon name. + +.. option:: -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. + +.. option:: -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. + +Other options: + +.. option:: --dry + + Run |DAEMON| in "dry-run" mode, only monitoring the specified daemons but not performing any start/stop/restart actions. + +.. option:: -d, --daemon + + Run in daemon mode. When supplied, error messages are sent to Syslog instead of standard output (stdout). + +.. option:: -S , --statedir + + Set the VTY socket directory (the default value is "/var/run/frr"). + +.. option:: -l , --loglevel + + 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. + +.. option:: --min-restart-interval + + Set the minimum number of seconds to wait between invocations of the daemon restart commands (the default value is "60"). + +.. option:: --max-restart-interval + + Set the maximum number of seconds to wait between invocations of the daemon restart commands (the default value is "600"). + +.. option:: -i , --interval + + Set the status polling interval in seconds (the default value is "5"). + +.. option:: -t , --timeout + + Set the unresponsiveness timeout in seconds (the default value is "10"). + +.. option:: -T , --restart-timeout + + 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. + +.. option:: -p , --pid-file + + Set the process identifier filename (the default value is "/var/run/frr/|DAEMON|.pid"). + +.. option:: -b , --blank-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. + +.. option:: -v, --version + + Display the version information and exit. + +.. option:: -h, --help + + Display the usage information and exit. + +PREVIOUS OPTIONS +================ +Prior versions of |DAEMON| 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, |DAEMON| 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 +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + diff --git a/doc/manpages/zebra.8.in b/doc/manpages/zebra.8.in deleted file mode 100644 index 7f4a81b1a0..0000000000 --- a/doc/manpages/zebra.8.in +++ /dev/null @@ -1,153 +0,0 @@ -.TH ZEBRA 8 "25 November 2004" "Zebra daemon" "Version @PACKAGE_VERSION@" -.SH NAME -zebra \- a routing manager for use with associated @PACKAGE_FULLNAME@ components. -.SH SYNOPSIS -.B zebra -[ -.B \-bdhklrv -] [ -.B \-f -.I config-file -] [ -.B \-i -.I pid-file -] [ -.B \-P -.I port-number -] [ -.B \-A -.I vty-address -] [ -.B \-u -.I user -] [ -.B \-g -.I group -] [ -.B \-M -.I module:options -] [ -.B \-z -.I socketpath -] -.SH DESCRIPTION -.B zebra -is a routing manager that implements the -.B zebra -route engine. -.B zebra -supports RIPv1, RIPv2, RIPng, OSPF, OSPF6, IS-IS, BGP4+, and BGP4-. -.SH OPTIONS -Options available for the -.B zebra -command: -.TP -\fB\-b\fR, \fB\-\-batch\fR -Runs in batch mode, \fBzebra\fR parses its config and exits. -.TP -\fB\-d\fR, \fB\-\-daemon\fR -Runs in daemon mode, forking and exiting from tty. -.TP -\fB\-f\fR, \fB\-\-config-file \fR\fIconfig-file\fR -Specifies the config file to use for startup. If not specified this -option will default to \fB\fI@CFG_SYSCONF@/zebra.conf\fR. -.TP -\fB\-g\fR, \fB\-\-group \fR\fIgroup\fR -Specify the group to run as. Default is \fI@enable_group@\fR. -.TP -\fB\-h\fR, \fB\-\-help\fR -A brief message. -.TP -\fB\-i\fR, \fB\-\-pid_file \fR\fIpid-file\fR -When zebra starts its process identifier is written to -\fB\fIpid-file\fR. The init system uses the recorded PID to stop or -restart zebra. The default is \fB\fI@CFG_STATE@/zebra.pid\fR. -.TP -\fB\-k\fR, \fB\-\-keep_kernel\fR -On startup, don't delete self inserted routes. -.TP -\fB\-P\fR, \fB\-\-vty_port \fR\fIport-number\fR -Specify the port that the zebra VTY will listen on. This defaults to -2601, as specified in \fB\fI/etc/services\fR. -.TP -\fB\-A\fR, \fB\-\-vty_addr \fR\fIvty-address\fR -Specify the address that the zebra VTY will listen on. Default is all -interfaces. -.TP -\fB\-u\fR, \fB\-\-user \fR\fIuser\fR -Specify the user to run as. Default is \fI@enable_user@\fR. -.TP -\fB\-r\fR, \fB\-\-retain\fR -When the program terminates, retain routes added by \fBzebra\fR. -.TP -\fB\-s\fR, \fB\-\-nl-bufsize \fR\fInetlink-buffer-size\fR -Set netlink receive buffer size. There are cases where zebra daemon can't -handle flood of netlink messages from kernel. If you ever see "recvmsg overrun" -messages in zebra log, you are in trouble. - -Solution is to increase receive buffer of netlink socket. Note that kernel -< 2.6.14 doesn't allow to increase it over maximum value defined in -\fI/proc/sys/net/core/rmem_max\fR. If you want to do it, you have to increase -maximum before starting zebra. - -Note that this affects Linux only. -.TP -\fB\-M\fR, \fB\-\-module \fR\fImodule:options\fR -Load a module at startup. May be specified more than once. -The \fBsnmp\fR and \fBfpm\fR modules may be -available for \fBzebra\fR, if the package was built with SNMP and FPM support -respectively. The \fBfpm\fR module takes an additional colon-separated -argument specifying the encapsulation, either \fBnetlink\fR or \fBprotobuf\fR. -It should thus be loaded with \fB-M fpm:netlink\fR or \fB-M fpm:protobuf\fR. -.TP -\fB\-z\fR, \fB\-\-socket \fR\fIsocketpath\fR -Use the specified path to open the zebra API socket on. -The default is \fB\fI@CFG_STATE@/zserv.api\fR. This option must be given with -the same value to all FRR protocol daemons. -.TP -\fB\-v\fR, \fB\-\-version\fR -Print the version and exit. -.SH FILES -.TP -.BI @CFG_SBIN@/zebra -The default location of the -.B zebra -binary. -.TP -.BI @CFG_SYSCONF@/zebra.conf -The default location of the -.B zebra -config file. -.TP -.BI $(PWD)/zebra.log -If the -.B zebra -process is config'd to output logs to a file, then you will find this -file in the directory where you started \fBzebra\fR. -.SH WARNING -This man page is intended to be a quick reference for command line -options. The definitive document is the Info file \fB@PACKAGE_NAME@\fR. -.SH DIAGNOSTICS -The zebra process may log to standard output, to a VTY, to a log -file, or through syslog to the system logs. \fBzebra\fR supports many -debugging options, see the Info file, or the source for details. -.SH "SEE ALSO" -.BR bgpd (8), -.BR ripd (8), -.BR ripngd (8), -.BR ospfd (8), -.BR ospf6d (8), -.BR isisd (8), -.BR nhrpd (8), -.BR vtysh (1) -.SH BUGS -.B zebra -eats bugs for breakfast. If you have food for the maintainers try -.BI @PACKAGE_BUGREPORT@ -.SH AUTHORS -See -.BI http://www.zebra.org -and -.BI @PACKAGE_URL@ -or the Info file for an accurate list of authors. - diff --git a/doc/manpages/zebra.rst b/doc/manpages/zebra.rst new file mode 100644 index 0000000000..9e5d4deb07 --- /dev/null +++ b/doc/manpages/zebra.rst @@ -0,0 +1,54 @@ +***** +ZEBRA +***** + +.. include:: defines.txt +.. |DAEMON| replace:: zebra + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing manager that implements the zebra route engine. zebra supports all protocol daemons in the FRRouting suite. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst + +.. option:: -b, --batch + + Runs in batch mode, zebra parses its config and exits. + +.. option:: -k, --keep_kernel + + On startup, don't delete self inserted routes. + +.. option:: -s, --nl-bufsize + + Set netlink receive buffer size. There are cases where zebra daemon can't handle flood of netlink messages from kernel. If you ever see "recvmsg overrun" messages in zebra log, you are in trouble. + + Solution is to increase receive buffer of netlink socket. Note that kernel < 2.6.14 doesn't allow to increase it over maximum value defined in /proc/sys/net/core/rmem_max. If you want to do it, you have to increase maximum before starting zebra. + + Note that this affects Linux only. + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|DAEMON| + The default location of the |DAEMON| binary. + +|INSTALL_PREFIX_ETC|/|DAEMON|.conf + The default location of the |DAEMON| config file. + +$(PWD)/|DAEMON|.log + If the |DAEMON| process is configured to output logs to a file, then you + will find this file in the directory where you started |DAEMON|. + +.. include:: epilogue.rst + -- cgit v1.2.3 From 82b7ec1da7e7a491e1ef5b52bbf344d50ceb5507 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 31 Jan 2018 17:31:17 -0500 Subject: *: update configure.ac, Makefiles for new manpages Signed-off-by: Quentin Young --- configure.ac | 17 ----- doc/Makefile.am | 192 ++++++++++++------------------------------------ doc/manpages/.gitignore | 3 + doc/manpages/Makefile | 25 +++++++ 4 files changed, 73 insertions(+), 164 deletions(-) create mode 100644 doc/manpages/.gitignore create mode 100644 doc/manpages/Makefile (limited to 'doc/manpages') diff --git a/configure.ac b/configure.ac index a3b38559e5..0c96546c8e 100755 --- a/configure.ac +++ b/configure.ac @@ -1875,23 +1875,6 @@ AC_CONFIG_FILES([Makefile snapcraft/snapcraft.yaml lib/version.h tests/lib/cli/test_cli.refout - doc/defines.texi - doc/bgpd.8 - doc/isisd.8 - doc/ospf6d.8 - doc/ospfclient.8 - doc/ospfd.8 - doc/ldpd.8 - doc/ripd.8 - doc/eigrpd.8 - doc/ripngd.8 - doc/pimd.8 - doc/nhrpd.8 - doc/vtysh.1 - doc/watchfrr.8 - doc/zebra.8 - doc/frr.1 - doc/frr-args.8 pkgsrc/bgpd.sh pkgsrc/ospf6d.sh pkgsrc/ospfd.sh pkgsrc/ripd.sh pkgsrc/ripngd.sh pkgsrc/zebra.sh pkgsrc/eigrpd.sh]) diff --git a/doc/Makefile.am b/doc/Makefile.am index 7aaa36556f..8c7efed09b 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,192 +1,90 @@ ## Process this file with automake to produce Makefile.in. -# Dia, the version i have at least, doesn't do very good EPS output -# (some of the text is scaled strangely). So this will work, but -# it is probably better to use something like gimp to convert the -# dia exported PNG files to EPS manually. -# -# Here we use 'convert' from the well known 'ImageMagick' package -# to do conversion from png to eps/pdf for figures. -# PDF form is required for frr.pdf, using PDFTex at least. -# -# TeX implementation, which we depend on already anyway. -# -# dia -> (dia) -> png -> (convert) -> eps -> (epstopdf) -> pdf -SUFFIXES = .png .eps .dia .pdf -DIATOPNG = dia -t png -e -DIATOEPS = dia -t eps -e -PNGTOEPS = convert -antialias -contrast -despeckle -PNGTOPDF = $(PNGTOEPS) -EPSTOPDF = epstopdf - -VNCFIGURES_PNG = -VNCFIGURES_DIA = -vnc-mesh -vnc-frr-route-reflector \ --vnc-commercial-route-reflector -vnc-redundant-route-reflectors \ --vnc-gw -vnc-gw-rr - -# TODO: A target that creates an empty text file for each member of -# VNCFIGURES_TXT -VNCFIGURES_TXT = $(VNCFIGURES:%.png=%.txt) - -# The figure sources -figures_names_parts = -normal-processing -rs-processing \ - _topologies_full _topologies_rs \ - $(VNCFIGURES_DIA) - -figures_sources = $(figures_names_parts:%=fig%.dia) -figures_png = $(figures_names_parts:%=fig%.png) $(VNCFIGURES_PNG) -figures_pdf = $(figures_names_parts:%=fig%.pdf) $(VNCFIGURES_PNG:%.png=%.pdf) -figures_eps = $(figures_names_parts:%=fig%.eps) $(VNCFIGURES_PNG:%.png=%.eps) -figures_txt = $(figures_names_parts:%=fig%.txt) - -# rather twisted logic because we have to build PDFs of the EPS figures for -# PDFTex and yet build one PDF, frr.pdf, from texi source. Which means we -# cant rely on a single automatic rule for *.pdf, eg the one automatically -# provided by automake. If you are an automake wizard, please feel free to -# compact it somehow. - -info_TEXINFOS = frr.texi - -# Have to manually specify the frr.pdf rule in order to allow -# us to have a generic automatic .pdf rule to build the figure sources -# because it cant just work from the png's directly it seems - contrary -# to the documentation... -frr.pdf: $(info_TEXINFOS) $(figures_pdf) $(frr_TEXINFOS) defines.texi - $(TEXI2PDF) -o "$@" $< || true - -# don't ask me why the info file is in srcdir -$(srcdir)/frr.info: $(frr_TEXINFOS) defines.texi -frr.dvi: $(frr_TEXINFOS) defines.texi -frr.html: $(frr_TEXINFOS) defines.texi - -frr_TEXINFOS = \ - appendix.texi \ - basic.texi \ - bgpd.texi \ - isisd.texi \ - filter.texi \ - vnc.texi \ - babeld.texi \ - install.texi \ - ipv6.texi \ - kernel.texi \ - main.texi \ - nhrpd.texi \ - eigrpd.texi \ - ospf6d.texi \ - ospfd.texi \ - overview.texi \ - protocol.texi \ - ripd.texi \ - ripngd.texi \ - routemap.texi \ - snmp.texi \ - vtysh.texi \ - routeserver.texi \ - $(figures_png) \ - snmptrap.texi \ - ospf_fundamentals.texi \ - isisd.texi $(figures_txt) \ - rpki.texi \ - pimd.texi \ - #END - -.png.eps: - $(PNGTOEPS) $< "$@" - -.png.pdf: - $(PNGTOPDF) $< "$@" - -.dia.png: - $(DIATOPNG) "$@" $< - -man_MANS = frr.1 frr-args.8 +# Tell Automake to invoke 'make' in the manpages directory with argument 'man' +SUBDIRS = manpages +AM_MAKEFLAGS = man + +MANPAGE_BUILDDIR = manpages/_build/man + +# Once that is done these will all exist +man_MANS = $(MANPAGE_BUILDDIR)/frr.1 if PIMD -man_MANS += pimd.8 +man_MANS += $(MANPAGE_BUILDDIR)/pimd.8 endif if BGPD -man_MANS += bgpd.8 +man_MANS += $(MANPAGE_BUILDDIR)/bgpd.8 endif if ISISD -man_MANS += isisd.8 +man_MANS += $(MANPAGE_BUILDDIR)/isisd.8 endif if OSPF6D -man_MANS += ospf6d.8 +man_MANS += $(MANPAGE_BUILDDIR)/ospf6d.8 endif if OSPFCLIENT -man_MANS += ospfclient.8 +man_MANS += $(MANPAGE_BUILDDIR)/ospfclient.8 endif if OSPFD -man_MANS += ospfd.8 +man_MANS += $(MANPAGE_BUILDDIR)/ospfd.8 endif if LDPD -man_MANS += ldpd.8 +man_MANS += $(MANPAGE_BUILDDIR)/ldpd.8 endif if RIPD -man_MANS += ripd.8 +man_MANS += $(MANPAGE_BUILDDIR)/ripd.8 endif if RIPNGD -man_MANS += ripngd.8 +man_MANS += $(MANPAGE_BUILDDIR)/ripngd.8 endif if NHRPD -man_MANS += nhrpd.8 +man_MANS += $(MANPAGE_BUILDDIR)/nhrpd.8 endif if VTYSH -man_MANS += vtysh.1 +man_MANS += $(MANPAGE_BUILDDIR)/vtysh.1 endif if WATCHFRR -man_MANS += watchfrr.8 +man_MANS += $(MANPAGE_BUILDDIR)/watchfrr.8 endif if ZEBRA -man_MANS += zebra.8 +man_MANS += $(MANPAGE_BUILDDIR)/zebra.8 endif if EIGRPD -man_MANS += eigrpd.8 +man_MANS += $(MANPAGE_BUILDDIR)/eigrpd.8 endif -EXTRA_DIST = BGP-TypeCode draft-zebra-00.ms draft-zebra-00.txt \ - \ - bgpd.8.in \ - isisd.8.in \ - ospf6d.8.in \ - ospfclient.8.in \ - ospfd.8.in \ - ldpd.8.in \ - ripd.8.in \ - ripngd.8.in \ - pimd.8.in \ - nhrpd.8.in \ - vtysh.1.in \ - watchfrr.8.in \ - zebra.8.in \ - frr.1.in \ - eigrpd.8.in \ - \ - mpls/ChangeLog.opaque.txt mpls/cli_summary.txt \ - mpls/opaque_lsa.txt mpls/ospfd.conf \ - $(figures_sources) $(figures_png) $(figures_txt) - -draft-zebra-00.txt: draft-zebra-00.ms - groff -T ascii -ms $< > $@ - -# Ensure that all of the figures are copied into the html directory -html-local: $(HTMLS) - if test -d $(HTMLS) ; then \ - cp -p $(figures_png) $(HTMLS) ; \ - else \ - echo "$(HTMLS) is not a directory. Make it so, the rerun make."; \ - fi +# handled by subdir target +man: ; + +# include sources for shipped docs +EXTRA_DIST = manpages/defines.txt \ + manpages/ldpd.rst \ + manpages/index.rst \ + manpages/bgpd.rst \ + manpages/watchfrr.rst \ + manpages/ospfclient.rst \ + manpages/ripd.rst \ + manpages/zebra.rst \ + manpages/epilogue.rst \ + manpages/eigrpd.rst \ + manpages/isisd.rst \ + manpages/ospf6d.rst \ + manpages/common-options.rst \ + manpages/ospfd.rst \ + manpages/vtysh.rst \ + manpages/nhrpd.rst \ + manpages/pimd.rst \ + manpages/ripngd.rst \ + manpages/frr.rst diff --git a/doc/manpages/.gitignore b/doc/manpages/.gitignore new file mode 100644 index 0000000000..0505537159 --- /dev/null +++ b/doc/manpages/.gitignore @@ -0,0 +1,3 @@ +/_templates +/_build +!/Makefile diff --git a/doc/manpages/Makefile b/doc/manpages/Makefile new file mode 100644 index 0000000000..fa10577844 --- /dev/null +++ b/doc/manpages/Makefile @@ -0,0 +1,25 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = FRR +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile all check install + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + echo "invoking: $(SPHINXBUILD) -M $@ $(SOURCEDIR) $(BUILDDIR) $(SPHINXOPTS) $(O)" + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +all: ; +check: ; +install: ; -- cgit v1.2.3 From 6180f995f4ab84522ac9334899857ef4c8aad382 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 7 Feb 2018 10:59:36 -0500 Subject: doc: replace manpages Makefile Newer sphinx-build generated makefiles use an as-of-yet undocumented CLI option that is not present in older versions. Signed-off-by: Quentin Young --- doc/manpages/Makefile | 220 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 207 insertions(+), 13 deletions(-) (limited to 'doc/manpages') diff --git a/doc/manpages/Makefile b/doc/manpages/Makefile index fa10577844..562108a0bc 100644 --- a/doc/manpages/Makefile +++ b/doc/manpages/Makefile @@ -1,25 +1,219 @@ -# Minimal makefile for Sphinx documentation +# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build -SPHINXPROJ = FRR -SOURCEDIR = . +PAPER = BUILDDIR = _build -# Put it first so that "make" without argument is like "make help". +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" -.PHONY: help Makefile all check install +.PHONY: clean +clean: + rm -rf $(BUILDDIR)/* -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - echo "invoking: $(SPHINXBUILD) -M $@ $(SOURCEDIR) $(BUILDDIR) $(SPHINXOPTS) $(O)" - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) +.PHONY: html +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +.PHONY: dirhtml +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: pickle +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +.PHONY: json +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +.PHONY: htmlhelp +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +.PHONY: qthelp +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FRR.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FRR.qhc" + +.PHONY: applehelp +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +.PHONY: devhelp +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/FRR" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FRR" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.PHONY: latex +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +.PHONY: latexpdf +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: latexpdfja +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: text +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +.PHONY: man +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +.PHONY: texinfo +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +.PHONY: info +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +.PHONY: gettext +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +.PHONY: changes +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +.PHONY: linkcheck +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +.PHONY: doctest +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +.PHONY: coverage +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +.PHONY: xml +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." -all: ; -check: ; install: ; +all: ; -- cgit v1.2.3 From 12b7724ff82caf19beb9c20e570a43af8d343674 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 7 Feb 2018 13:36:03 -0500 Subject: doc: fix toctree warning in manpages Forgot to add a couple includes to the exclude list. Also move defines.txt to defines.rst since I know how to properly ignore things now. Signed-off-by: Quentin Young --- doc/manpages/bgpd.rst | 2 +- doc/manpages/conf.py | 2 +- doc/manpages/defines.rst | 3 +++ doc/manpages/defines.txt | 3 --- doc/manpages/eigrpd.rst | 2 +- doc/manpages/isisd.rst | 2 +- doc/manpages/ldpd.rst | 2 +- doc/manpages/nhrpd.rst | 2 +- doc/manpages/ospf6d.rst | 2 +- doc/manpages/ospfd.rst | 2 +- doc/manpages/pimd.rst | 2 +- doc/manpages/ripd.rst | 2 +- doc/manpages/ripngd.rst | 2 +- doc/manpages/vtysh.rst | 2 +- doc/manpages/watchfrr.rst | 2 +- doc/manpages/zebra.rst | 2 +- 16 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 doc/manpages/defines.rst delete mode 100644 doc/manpages/defines.txt (limited to 'doc/manpages') diff --git a/doc/manpages/bgpd.rst b/doc/manpages/bgpd.rst index 73ca6b2351..94213db4d7 100644 --- a/doc/manpages/bgpd.rst +++ b/doc/manpages/bgpd.rst @@ -2,7 +2,7 @@ BGPD **** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: bgpd SYNOPSIS diff --git a/doc/manpages/conf.py b/doc/manpages/conf.py index 6aa8588039..403e86e55e 100644 --- a/doc/manpages/conf.py +++ b/doc/manpages/conf.py @@ -125,7 +125,7 @@ language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build'] +exclude_patterns = ['_build', 'common-options.rst', 'epilogue.rst', 'defines.rst'] # The reST default role (used for this markup: `text`) to use for all # documents. diff --git a/doc/manpages/defines.rst b/doc/manpages/defines.rst new file mode 100644 index 0000000000..4b66d71b44 --- /dev/null +++ b/doc/manpages/defines.rst @@ -0,0 +1,3 @@ +.. |synopsis-options| replace:: [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path] +.. |synopsis-options-hv| replace:: [-h] [-v] +.. |seealso-programs| replace:: zebra(8), vtysh(1), ripd(8), ripngd(8), ospfd(8), ospf6d(8), bgpd(8), isisd(8), babeld(8), nhrpd(8), pimd(8), ldpd(8), eigrpd(8) diff --git a/doc/manpages/defines.txt b/doc/manpages/defines.txt deleted file mode 100644 index 4b66d71b44..0000000000 --- a/doc/manpages/defines.txt +++ /dev/null @@ -1,3 +0,0 @@ -.. |synopsis-options| replace:: [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path] -.. |synopsis-options-hv| replace:: [-h] [-v] -.. |seealso-programs| replace:: zebra(8), vtysh(1), ripd(8), ripngd(8), ospfd(8), ospf6d(8), bgpd(8), isisd(8), babeld(8), nhrpd(8), pimd(8), ldpd(8), eigrpd(8) diff --git a/doc/manpages/eigrpd.rst b/doc/manpages/eigrpd.rst index ef269b1151..bc824468d0 100644 --- a/doc/manpages/eigrpd.rst +++ b/doc/manpages/eigrpd.rst @@ -2,7 +2,7 @@ EIGRPD ****** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: eigrpd SYNOPSIS diff --git a/doc/manpages/isisd.rst b/doc/manpages/isisd.rst index 6926d56051..68761f642c 100644 --- a/doc/manpages/isisd.rst +++ b/doc/manpages/isisd.rst @@ -2,7 +2,7 @@ ISISD ***** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: isisd SYNOPSIS diff --git a/doc/manpages/ldpd.rst b/doc/manpages/ldpd.rst index e01027d1f7..113f06673e 100644 --- a/doc/manpages/ldpd.rst +++ b/doc/manpages/ldpd.rst @@ -2,7 +2,7 @@ LDPD **** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: ldpd SYNOPSIS diff --git a/doc/manpages/nhrpd.rst b/doc/manpages/nhrpd.rst index 8a2cb25611..cae01c677b 100644 --- a/doc/manpages/nhrpd.rst +++ b/doc/manpages/nhrpd.rst @@ -2,7 +2,7 @@ NHRPD ***** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: nhrpd SYNOPSIS diff --git a/doc/manpages/ospf6d.rst b/doc/manpages/ospf6d.rst index 2328d240ae..cfc6860d5c 100644 --- a/doc/manpages/ospf6d.rst +++ b/doc/manpages/ospf6d.rst @@ -2,7 +2,7 @@ OSPF6D ****** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: ospf6d SYNOPSIS diff --git a/doc/manpages/ospfd.rst b/doc/manpages/ospfd.rst index 50ee503730..6e4d093f69 100644 --- a/doc/manpages/ospfd.rst +++ b/doc/manpages/ospfd.rst @@ -2,7 +2,7 @@ OSPFD ***** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: ospfd SYNOPSIS diff --git a/doc/manpages/pimd.rst b/doc/manpages/pimd.rst index 98fd3a5c92..d7582668d2 100644 --- a/doc/manpages/pimd.rst +++ b/doc/manpages/pimd.rst @@ -2,7 +2,7 @@ PIMD **** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: pimd SYNOPSIS diff --git a/doc/manpages/ripd.rst b/doc/manpages/ripd.rst index 01b0223251..af4590c824 100644 --- a/doc/manpages/ripd.rst +++ b/doc/manpages/ripd.rst @@ -2,7 +2,7 @@ RIPD **** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: ripd SYNOPSIS diff --git a/doc/manpages/ripngd.rst b/doc/manpages/ripngd.rst index 2a3e14ae6f..aedd689876 100644 --- a/doc/manpages/ripngd.rst +++ b/doc/manpages/ripngd.rst @@ -2,7 +2,7 @@ RIPNGD ****** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: ripngd SYNOPSIS diff --git a/doc/manpages/vtysh.rst b/doc/manpages/vtysh.rst index 341d5eae44..38cb668e82 100644 --- a/doc/manpages/vtysh.rst +++ b/doc/manpages/vtysh.rst @@ -2,7 +2,7 @@ VTYSH ***** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: eigrpd SYNOPSIS diff --git a/doc/manpages/watchfrr.rst b/doc/manpages/watchfrr.rst index 5c18ac2e6a..f0b733298d 100644 --- a/doc/manpages/watchfrr.rst +++ b/doc/manpages/watchfrr.rst @@ -2,7 +2,7 @@ WATCHFRR ******** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: watchfrr SYNOPSIS diff --git a/doc/manpages/zebra.rst b/doc/manpages/zebra.rst index 9e5d4deb07..268b1d8645 100644 --- a/doc/manpages/zebra.rst +++ b/doc/manpages/zebra.rst @@ -2,7 +2,7 @@ ZEBRA ***** -.. include:: defines.txt +.. include:: defines.rst .. |DAEMON| replace:: zebra SYNOPSIS -- cgit v1.2.3 From 4898758807b53f79576a2d83c8e22e3ae6d0f45d Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 7 Feb 2018 16:18:52 -0500 Subject: doc: fix makefiles again Signed-off-by: Quentin Young --- doc/Makefile.am | 2 +- doc/manpages/Makefile | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'doc/manpages') diff --git a/doc/Makefile.am b/doc/Makefile.am index a1f619ade7..0a7ff6c03c 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -81,7 +81,7 @@ developer.html: $(MAKE) -C developer html # include sources for shipped docs -EXTRA_DIST = manpages/defines.txt \ +EXTRA_DIST = manpages/defines.rst \ manpages/ldpd.rst \ manpages/index.rst \ manpages/bgpd.rst \ diff --git a/doc/manpages/Makefile b/doc/manpages/Makefile index 562108a0bc..3f0c8f55ae 100644 --- a/doc/manpages/Makefile +++ b/doc/manpages/Makefile @@ -215,5 +215,4 @@ pseudoxml: @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." -install: ; -all: ; +%: ; -- cgit v1.2.3 From 6c749456224b383a95e717c95cdb6289eb9cb5e4 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 7 Feb 2018 19:22:52 -0500 Subject: doc: use python 2.6 format strings Centos 6 only has python 2.6 which requires numerical identifiers for format strings Signed-off-by: Quentin Young --- doc/developer/conf.py | 4 ++-- doc/manpages/conf.py | 6 +++--- doc/user/conf.py | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'doc/manpages') diff --git a/doc/developer/conf.py b/doc/developer/conf.py index e4c56f54c3..1cb1d45af6 100644 --- a/doc/developer/conf.py +++ b/doc/developer/conf.py @@ -98,8 +98,8 @@ with open('../../config.status', 'r') as cfgstatus: # manually fill out some of these we can't get from config.status replace_vars['COPYRIGHT_STR'] = "Copyright (c)" -replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['COPYRIGHT_YEAR']) -replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['AUTHORS']) +replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['COPYRIGHT_YEAR']) +replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['AUTHORS']) release = replace_vars['PACKAGE_VERSION'] version = release.split('-')[0] diff --git a/doc/manpages/conf.py b/doc/manpages/conf.py index 403e86e55e..6da6ebff0a 100644 --- a/doc/manpages/conf.py +++ b/doc/manpages/conf.py @@ -100,8 +100,8 @@ with open('../../config.status', 'r') as cfgstatus: # manually fill out some of these we can't get from config.status replace_vars['COPYRIGHT_STR'] = "Copyright (c)" -replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['COPYRIGHT_YEAR']) -replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['AUTHORS']) +replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['COPYRIGHT_YEAR']) +replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['AUTHORS']) release = replace_vars['PACKAGE_VERSION'] version = release.split('-')[0] @@ -306,7 +306,7 @@ latex_documents = [ # If true, show URL addresses after external links. #man_show_urls = False -fwfrr = "{} routing engine for use with FRRouting." +fwfrr = "{0} routing engine for use with FRRouting." man_pages = [ ('bgpd', 'bgpd', fwfrr.format("a BGPv4, BGPv4+, BGPv4- "), [], 8), diff --git a/doc/user/conf.py b/doc/user/conf.py index 6aa97de304..bd1bf6c041 100644 --- a/doc/user/conf.py +++ b/doc/user/conf.py @@ -98,8 +98,8 @@ with open('../../config.status', 'r') as cfgstatus: # manually fill out some of these we can't get from config.status replace_vars['COPYRIGHT_STR'] = "Copyright (c)" -replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['COPYRIGHT_YEAR']) -replace_vars['COPYRIGHT_STR'] += ' {}'.format(replace_vars['AUTHORS']) +replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['COPYRIGHT_YEAR']) +replace_vars['COPYRIGHT_STR'] += ' {0}'.format(replace_vars['AUTHORS']) release = replace_vars['PACKAGE_VERSION'] version = release.split('-')[0] -- cgit v1.2.3 From e207a4b589a489649cdb06b2c824dc6948158b21 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Tue, 6 Mar 2018 10:33:21 -0500 Subject: doc: prevent `clean` target from building manpages Unconditional automake subdirectory flag = 'man' causes manpages to always be built regardless of target, which is undesirable for `clean`. Remove unconditional flag and override automake targets that need to build manpages instead. Signed-off-by: Quentin Young --- doc/Makefile.am | 1 - doc/developer/Makefile | 2 +- doc/manpages/Makefile | 17 +++++++++++++---- doc/user/Makefile | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) (limited to 'doc/manpages') diff --git a/doc/Makefile.am b/doc/Makefile.am index d8244edca4..4a9b0525a5 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -2,7 +2,6 @@ # Tell Automake to invoke 'make' in the manpages directory with argument 'man' SUBDIRS = manpages -AM_MAKEFLAGS = man MANPAGE_BUILDDIR = manpages/_build/man diff --git a/doc/developer/Makefile b/doc/developer/Makefile index f5e7cb60ec..f5aca7a655 100644 --- a/doc/developer/Makefile +++ b/doc/developer/Makefile @@ -12,7 +12,7 @@ ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) SPHINXBUILD = sphinx-1.0-build endif ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/") endif # Internal variables. diff --git a/doc/manpages/Makefile b/doc/manpages/Makefile index 3f0c8f55ae..33a3af1f14 100644 --- a/doc/manpages/Makefile +++ b/doc/manpages/Makefile @@ -2,14 +2,17 @@ # # You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +PAPER ?= BUILDDIR = _build # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +SPHINXBUILD = sphinx-1.0-build +endif +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/") endif # Internal variables. @@ -215,4 +218,10 @@ pseudoxml: @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." +.PHONY: install-data +install-data: man + +.PHONY: all +all: install-data + %: ; diff --git a/doc/user/Makefile b/doc/user/Makefile index f5e7cb60ec..f5aca7a655 100644 --- a/doc/user/Makefile +++ b/doc/user/Makefile @@ -12,7 +12,7 @@ ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) SPHINXBUILD = sphinx-1.0-build endif ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/") endif # Internal variables. -- cgit v1.2.3 From edc33b2f22e790cfe3e60de869baf17d0c8c65e0 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 7 Mar 2018 14:35:20 -0500 Subject: doc: fix make setup Iron out all of the glitches with recursive Automake, 3rd-party autogenerated Sphinx makefiles, building and installing 3 different document formats under different targets, and handling clean. * Implement all Automake-required targets for 3rd-party Makefiles * Setup subdirectories for 3rd-party Makefiles * Override implicit Automake document targets * Clean up explicit targets for developer docs * Move Sphinx-generated Makefile to an include file * Update targets for debian packaging Signed-off-by: Quentin Young --- debianpkg/backports/ubuntu12.04/debian/rules | 4 +- debianpkg/backports/ubuntu14.04/debian/rules | 4 +- debianpkg/rules | 4 +- doc/Makefile.am | 74 +++++--- doc/developer/Makefile | 220 +-------------------- doc/frr-sphinx.mk | 219 +++++++++++++++++++++ doc/manpages/Makefile | 267 +++++--------------------- doc/manpages/conf.py | 2 +- doc/user/Makefile | 274 ++++++--------------------- 9 files changed, 376 insertions(+), 692 deletions(-) create mode 100644 doc/frr-sphinx.mk (limited to 'doc/manpages') diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index 83e5e9689e..9a3ea1ffbd 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -139,10 +139,10 @@ override_dh_auto_configure: override_dh_auto_build: ifeq ($(GENERATE_PDF), 1) - dh_auto_build -- -C doc user.pdf + dh_auto_build -- -C doc pdf endif rm -vf doc/user/_build/texinfo/frr.info - dh_auto_build -- -C doc frr.info + dh_auto_build -- -C doc info override_dh_auto_test: diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index 64a3d7b63e..20b821ead7 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -143,10 +143,10 @@ override_dh_auto_build: # doc/ is a bit crazy ifeq ($(GENERATE_PDF), 1) - dh_auto_build -- -C doc user.pdf + dh_auto_build -- -C doc pdf endif rm -vf doc/_build/texinfo/frr.info - dh_auto_build -- -C doc frr.info + dh_auto_build -- -C doc info override_dh_auto_test: diff --git a/debianpkg/rules b/debianpkg/rules index 46f8f48028..82a5148039 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -141,10 +141,10 @@ override_dh_auto_configure: override_dh_auto_build: # doc/ is a bit crazy ifeq ($(GENERATE_PDF), 1) - dh_auto_build -- -C doc user.pdf + dh_auto_build -- -C doc pdf endif rm -vf doc/user/_build/texinfo/frr.info - dh_auto_build -- -C doc frr.info + dh_auto_build -- -C doc info override_dh_auto_test: diff --git a/doc/Makefile.am b/doc/Makefile.am index 4a9b0525a5..62f3ae2b6a 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,11 +1,20 @@ ## Process this file with automake to produce Makefile.in. -# Tell Automake to invoke 'make' in the manpages directory with argument 'man' -SUBDIRS = manpages +# Pass down make invocation to each subdirectory. +# +# Each of these directories contains a Sphinx-generated Makefile that has been +# modified to implement all the targets required by Automake, as documented in +# the 'Third-Party Makefiles' section of the Automake docs. +# +# Note the absence of the 'developer' directory here; development docs are +# never built as part of a regular build. They are only built when explicitly +# asked for. See comment further down. +SUBDIRS = manpages user +AM_MAKEFLAGS = DESTDIR=${DESTDIR} infodir=${infodir} MANPAGE_BUILDDIR = manpages/_build/man -# Once that is done these will all exist +# This is a hack, see comment further down. man_MANS = $(MANPAGE_BUILDDIR)/frr.1 if PIMD @@ -65,32 +74,49 @@ if EIGRPD man_MANS += $(MANPAGE_BUILDDIR)/eigrpd.8 endif -# handled by subdir target -man: ; - -# explicit targets -frr.info: - $(MAKE) -C user info - -user.pdf: - $(MAKE) -C user latexpdf - -user.html: - $(MAKE) -C user html - -developer.pdf: +# Automake is particular about manpages. It is aware of them and has some +# special facilities for handling them, but it assumes that manpages are always +# given in groff source and so these facilities are limited to simply +# specifying the path to the groff sources in a special variable. There is no +# target for building manpages that can be extended, as there are for pdf, +# html, dvi, etc. Unfortunately this leaves us with hijacking the +# 'install-data' and 'all' targets in the 3rd-party Makefile in manpages/ to +# make sure manpages are always built, and then using the special Automake +# variable defined above in order to take advantage of automatic installation. +# +# However, it is conceivable that someone may want to build just the manpages, +# so here's an explicit target for that. +man: + $(MAKE) -C manpages man + +# Automake automatically defines targets for various document formats. All of +# the child 3rd-party Makefiles are aware of all Automake targets and implement +# the ones we are interested in. +# +# The SUBDIRS variable at the top of this Makefile.am causes the following +# implicit Automake targets to only build user documentation, and not developer +# documentation: +# - info +# - html +# - pdf +# +# If you wish to build developer documentation, use these targets: +developer-info: + $(MAKE) -C developer info + +developer-pdf: $(MAKE) -C developer latexpdf -developer.html: +developer-html: $(MAKE) -C developer html -# info target, handled by automake installation -install-data-local: frr.info - install -d ${DESTDIR}${infodir} - gzip < user/_build/texinfo/frr.info > ${DESTDIR}${infodir}/frr.info.gz - install-info user/_build/texinfo/frr.info ${DESTDIR}${infodir}/dir +# If you want to build the developer's docs in other formats, try the +# following: +# +# $ cd developer +# $ make help -# include sources for shipped docs +# dist tarballs want doc sources EXTRA_DIST = manpages/defines.rst \ manpages/ldpd.rst \ manpages/index.rst \ diff --git a/doc/developer/Makefile b/doc/developer/Makefile index f5aca7a655..9807a750bf 100644 --- a/doc/developer/Makefile +++ b/doc/developer/Makefile @@ -1,219 +1 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -PAPER ?= -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -SPHINXBUILD = sphinx-1.0-build -endif -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/") -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " applehelp to make an Apple Help Book" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - @echo " coverage to run coverage check of the documentation (if enabled)" - -.PHONY: clean -clean: - rm -rf $(BUILDDIR)/* - -.PHONY: html -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -.PHONY: dirhtml -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -.PHONY: singlehtml -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -.PHONY: pickle -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -.PHONY: json -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -.PHONY: htmlhelp -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -.PHONY: qthelp -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FRR.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FRR.qhc" - -.PHONY: applehelp -applehelp: - $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp - @echo - @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." - @echo "N.B. You won't be able to view it unless you put it in" \ - "~/Library/Documentation/Help or install it in your application" \ - "bundle." - -.PHONY: devhelp -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/FRR" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FRR" - @echo "# devhelp" - -.PHONY: epub -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -.PHONY: latex -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -.PHONY: latexpdf -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: latexpdfja -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: text -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -.PHONY: man -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -.PHONY: texinfo -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -.PHONY: info -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - $(MAKE) -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -.PHONY: gettext -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -.PHONY: changes -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -.PHONY: linkcheck -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -.PHONY: doctest -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -.PHONY: coverage -coverage: - $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage - @echo "Testing of coverage in the sources finished, look at the " \ - "results in $(BUILDDIR)/coverage/python.txt." - -.PHONY: xml -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -.PHONY: pseudoxml -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." +include ../frr-sphinx.mk diff --git a/doc/frr-sphinx.mk b/doc/frr-sphinx.mk new file mode 100644 index 0000000000..f5aca7a655 --- /dev/null +++ b/doc/frr-sphinx.mk @@ -0,0 +1,219 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +PAPER ?= +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +SPHINXBUILD = sphinx-1.0-build +endif +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/") +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + +.PHONY: clean +clean: + rm -rf $(BUILDDIR)/* + +.PHONY: html +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +.PHONY: dirhtml +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: pickle +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +.PHONY: json +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +.PHONY: htmlhelp +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +.PHONY: qthelp +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FRR.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FRR.qhc" + +.PHONY: applehelp +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +.PHONY: devhelp +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/FRR" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FRR" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.PHONY: latex +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +.PHONY: latexpdf +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: latexpdfja +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: text +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +.PHONY: man +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +.PHONY: texinfo +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +.PHONY: info +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + $(MAKE) -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +.PHONY: gettext +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +.PHONY: changes +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +.PHONY: linkcheck +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +.PHONY: doctest +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +.PHONY: coverage +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +.PHONY: xml +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/manpages/Makefile b/doc/manpages/Makefile index 33a3af1f14..ebbbc31009 100644 --- a/doc/manpages/Makefile +++ b/doc/manpages/Makefile @@ -1,227 +1,48 @@ -# Makefile for Sphinx documentation -# +include ../frr-sphinx.mk + +# ----------------------------------------------------------------------------- +# Automake requires that 3rd-party Makefiles recognize these targets. +# ----------------------------------------------------------------------------- +# install +# install-data +# install-exec +# uninstall +# install-dvi +# install-html +# install-info +# install-ps +# install-pdf +# installdirs +# check +# installcheck +# mostlyclean +# clean +# distclean +# maintainer-clean +# dvi +# pdf +# ps +# info +# html +# tags +# ctags + +# ignore these targets +EMPTY_AUTOMAKE_TARGETS = dvi pdf ps tags ctags distdir installdirs check installcheck install-dvi install-ps install-html install-pdf install-info install-exec +.PHONY: $(EMPTY_AUTOMAKE_TARGETS) +$(EMPTY_AUTOMAKE_TARGETS): + +# These targets are automatically generated by Sphinx but conflict with +# implicitly defined Automake rules, so we manually override them to nothing. +# The other option is deleting the Sphinx-generated rules, which suppresses the +# warning but kinda screws up the symmetry between Makefiles. +info: ; +html: ; + +all: man -# You can set these variables from the command line. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -PAPER ?= -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -SPHINXBUILD = sphinx-1.0-build -endif -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/") -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " applehelp to make an Apple Help Book" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - @echo " coverage to run coverage check of the documentation (if enabled)" - -.PHONY: clean -clean: - rm -rf $(BUILDDIR)/* - -.PHONY: html -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -.PHONY: dirhtml -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -.PHONY: singlehtml -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -.PHONY: pickle -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -.PHONY: json -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -.PHONY: htmlhelp -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -.PHONY: qthelp -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FRR.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FRR.qhc" - -.PHONY: applehelp -applehelp: - $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp - @echo - @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." - @echo "N.B. You won't be able to view it unless you put it in" \ - "~/Library/Documentation/Help or install it in your application" \ - "bundle." - -.PHONY: devhelp -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/FRR" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FRR" - @echo "# devhelp" - -.PHONY: epub -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -.PHONY: latex -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -.PHONY: latexpdf -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: latexpdfja -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: text -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -.PHONY: man -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -.PHONY: texinfo -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -.PHONY: info -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -.PHONY: gettext -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -.PHONY: changes -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -.PHONY: linkcheck -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -.PHONY: doctest -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -.PHONY: coverage -coverage: - $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage - @echo "Testing of coverage in the sources finished, look at the " \ - "results in $(BUILDDIR)/coverage/python.txt." - -.PHONY: xml -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -.PHONY: pseudoxml -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." - -.PHONY: install-data install-data: man -.PHONY: all -all: install-data +install: install-data -%: ; +mostlyclean distclean maintainer-clean: clean diff --git a/doc/manpages/conf.py b/doc/manpages/conf.py index 2d6fbe8503..50331b6f0a 100644 --- a/doc/manpages/conf.py +++ b/doc/manpages/conf.py @@ -159,7 +159,7 @@ todo_include_todos = True # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'sphinx_rtd_theme' +html_theme = 'classic' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the diff --git a/doc/user/Makefile b/doc/user/Makefile index f5aca7a655..ad2abb25c1 100644 --- a/doc/user/Makefile +++ b/doc/user/Makefile @@ -1,219 +1,55 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -PAPER ?= -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -SPHINXBUILD = sphinx-1.0-build -endif -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/") -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " applehelp to make an Apple Help Book" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - @echo " coverage to run coverage check of the documentation (if enabled)" - -.PHONY: clean -clean: - rm -rf $(BUILDDIR)/* - -.PHONY: html -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -.PHONY: dirhtml -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -.PHONY: singlehtml -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -.PHONY: pickle -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -.PHONY: json -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -.PHONY: htmlhelp -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -.PHONY: qthelp -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FRR.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FRR.qhc" - -.PHONY: applehelp -applehelp: - $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp - @echo - @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." - @echo "N.B. You won't be able to view it unless you put it in" \ - "~/Library/Documentation/Help or install it in your application" \ - "bundle." - -.PHONY: devhelp -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/FRR" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FRR" - @echo "# devhelp" - -.PHONY: epub -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -.PHONY: latex -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -.PHONY: latexpdf -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: latexpdfja -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: text -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -.PHONY: man -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -.PHONY: texinfo -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -.PHONY: info -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - $(MAKE) -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -.PHONY: gettext -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -.PHONY: changes -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -.PHONY: linkcheck -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -.PHONY: doctest -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -.PHONY: coverage -coverage: - $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage - @echo "Testing of coverage in the sources finished, look at the " \ - "results in $(BUILDDIR)/coverage/python.txt." - -.PHONY: xml -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -.PHONY: pseudoxml -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." +include ../frr-sphinx.mk + +# ----------------------------------------------------------------------------- +# Automake requires that 3rd-party Makefiles recognize these targets. +# ----------------------------------------------------------------------------- +# install +# install-data +# install-exec +# uninstall +# install-dvi +# install-html +# install-info +# install-ps +# install-pdf +# installdirs +# check +# installcheck +# mostlyclean +# clean +# distclean +# maintainer-clean +# dvi +# pdf +# ps +# info +# html +# tags +# ctags + +# ignore these targets +EMPTY_AUTOMAKE_TARGETS = dvi ps tags ctags distdir install-exec install-dvi install-ps installdirs check installcheck install-html install-pdf install-data install +.PHONY: $(EMPTY_AUTOMAKE_TARGETS) +$(EMPTY_AUTOMAKE_TARGETS): + +# When building 'all', the logic is that we want to make docs that are easily +# readable by the person that just built them. Technically the reST source is +# readable in its own right, but we'll also build info and html because those +# offer sequentially better reading experiences. PDF is not built by default +# because it takes quite a while. +all: info html + +# info and html already have built-in sphinx rules; pdf goes to latexpdf +pdf: latexpdf + +# install user manual as info file +install-info: info + install -d ${DESTDIR}${infodir} + gzip < _build/texinfo/frr.info > ${DESTDIR}${infodir}/frr.info.gz + install-info _build/texinfo/frr.info ${DESTDIR}${infodir}/dir + +install-data: install-info + +install: install-data + +mostlyclean distclean maintainer-clean: clean -- cgit v1.2.3 From 37ba370b9eb45c2905c9c411f29c8ecf5e0e4c53 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Wed, 7 Mar 2018 16:28:23 -0500 Subject: doc: change html theme to 'default' Looks like older versions of Sphinx switched around naming for the default themes. Signed-off-by: Quentin Young --- doc/Makefile.am | 5 +++-- doc/developer/conf.py | 2 +- doc/manpages/conf.py | 2 +- doc/user/conf.py | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) (limited to 'doc/manpages') diff --git a/doc/Makefile.am b/doc/Makefile.am index 62f3ae2b6a..caa909d50d 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -10,7 +10,7 @@ # never built as part of a regular build. They are only built when explicitly # asked for. See comment further down. SUBDIRS = manpages user -AM_MAKEFLAGS = DESTDIR=${DESTDIR} infodir=${infodir} +AM_MAKEFLAGS = DESTDIR=${DESTDIR} infodir=${infodir} doczdir=${abs_srcdir} MANPAGE_BUILDDIR = manpages/_build/man @@ -117,7 +117,8 @@ developer-html: # $ make help # dist tarballs want doc sources -EXTRA_DIST = manpages/defines.rst \ +EXTRA_DIST = frr-sphinx.mk \ + manpages/defines.rst \ manpages/ldpd.rst \ manpages/index.rst \ manpages/bgpd.rst \ diff --git a/doc/developer/conf.py b/doc/developer/conf.py index 3f531c14b0..e2293b2a6b 100644 --- a/doc/developer/conf.py +++ b/doc/developer/conf.py @@ -157,7 +157,7 @@ todo_include_todos = True # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'classic' +html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the diff --git a/doc/manpages/conf.py b/doc/manpages/conf.py index 50331b6f0a..a78e1a2c38 100644 --- a/doc/manpages/conf.py +++ b/doc/manpages/conf.py @@ -159,7 +159,7 @@ todo_include_todos = True # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'classic' +html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the diff --git a/doc/user/conf.py b/doc/user/conf.py index 817a6d83bb..efe1023740 100644 --- a/doc/user/conf.py +++ b/doc/user/conf.py @@ -157,7 +157,7 @@ todo_include_todos = True # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'classic' +html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the -- cgit v1.2.3