]> git.puffer.fish Git - mirror/frr.git/commitdiff
doc: overhaul manpages
authorQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 31 Jan 2018 20:59:26 +0000 (15:59 -0500)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 31 Jan 2018 22:27:02 +0000 (17:27 -0500)
* Remove groff manpages
* Rewrite manpages in RST
* Clean up and standardize manpage content

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
35 files changed:
doc/.gitignore
doc/manpages/bgpd.8.in [deleted file]
doc/manpages/bgpd.rst [new file with mode: 0644]
doc/manpages/common-options.rst [new file with mode: 0644]
doc/manpages/conf.py [new file with mode: 0644]
doc/manpages/defines.txt [new file with mode: 0644]
doc/manpages/eigrpd.8.in [deleted file]
doc/manpages/eigrpd.rst [new file with mode: 0644]
doc/manpages/epilogue.rst [new file with mode: 0644]
doc/manpages/frr-args.8.in [deleted file]
doc/manpages/frr.rst [new file with mode: 0644]
doc/manpages/index.rst [new file with mode: 0644]
doc/manpages/isisd.8.in [deleted file]
doc/manpages/isisd.rst [new file with mode: 0644]
doc/manpages/ldpd.8.in [deleted file]
doc/manpages/ldpd.rst [new file with mode: 0644]
doc/manpages/nhrpd.8.in [deleted file]
doc/manpages/nhrpd.rst [new file with mode: 0644]
doc/manpages/ospf6d.8.in [deleted file]
doc/manpages/ospf6d.rst [new file with mode: 0644]
doc/manpages/ospfclient.8.in [deleted file]
doc/manpages/ospfclient.rst [new file with mode: 0644]
doc/manpages/ospfd.8.in [deleted file]
doc/manpages/ospfd.rst [new file with mode: 0644]
doc/manpages/pimd.8.in [deleted file]
doc/manpages/pimd.rst [new file with mode: 0644]
doc/manpages/ripd.8.in [deleted file]
doc/manpages/ripd.rst [new file with mode: 0644]
doc/manpages/ripngd.8.in [deleted file]
doc/manpages/ripngd.rst [new file with mode: 0644]
doc/manpages/vtysh.rst [new file with mode: 0644]
doc/manpages/watchfrr.8.in [deleted file]
doc/manpages/watchfrr.rst [new file with mode: 0644]
doc/manpages/zebra.8.in [deleted file]
doc/manpages/zebra.rst [new file with mode: 0644]

index 8dada02288dd0ebb3db03a4395689e3f5bbe877f..fca8f3209bd4cd8589b687d1c5f57b8a08197b51 100644 (file)
@@ -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 (file)
index 0df1b1d..0000000
+++ /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 (file)
index 0000000..73ca6b2
--- /dev/null
@@ -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 (file)
index 0000000..5b136f5
--- /dev/null
@@ -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/<daemon>.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/<daemon>.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/<daemon>.conf
+   /var/run/frr/pathspace/<daemon>.pid
+   /var/run/frr/pathspace/<daemon>.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 <daemon> -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 <daemon>.vty sockets.  vtysh connects to these sockets in order to access each daemon's VTY.
+   Default: /var/run/frr[/<pathspace>]
+
+   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 "<daemon>_<module>.so", then for "<module>.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 (file)
index 0000000..6aa8588
--- /dev/null
@@ -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
+# "<project> v<release> 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 <link> 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 (file)
index 0000000..4b66d71
--- /dev/null
@@ -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 (file)
index ecac972..0000000
+++ /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 (file)
index 0000000..ef269b1
--- /dev/null
@@ -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 (file)
index 0000000..a4c1b89
--- /dev/null
@@ -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 <dev@lists.frrouting.org>.
diff --git a/doc/manpages/frr-args.8.in b/doc/manpages/frr-args.8.in
deleted file mode 100644 (file)
index 3dc84e1..0000000
+++ /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@/<daemon>.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@/<daemon>.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/<daemon>.conf\fR
-.br
-\fB@CFG_STATE@/\fIpathspace\fB/<daemon>.pid\fR
-.br
-\fB@CFG_STATE@/\fIpathspace\fB/<daemon>.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<daemon> -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<daemon>.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<pathspace>\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<daemon>\fB_\fI<module>\fB.so\fR",
-then for "\fI<module>\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 (file)
index 0000000..37b90ac
--- /dev/null
@@ -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 (file)
index 0000000..a909e09
--- /dev/null
@@ -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 (file)
index 542c289..0000000
+++ /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 (file)
index 0000000..6926d56
--- /dev/null
@@ -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 (file)
index 2d68a31..0000000
+++ /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 (file)
index 0000000..e01027d
--- /dev/null
@@ -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 (file)
index 09b662a..0000000
+++ /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 <timo.teras@iki.fi>
diff --git a/doc/manpages/nhrpd.rst b/doc/manpages/nhrpd.rst
new file mode 100644 (file)
index 0000000..8a2cb25
--- /dev/null
@@ -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 (file)
index 02d9d80..0000000
+++ /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 (file)
index 0000000..2328d24
--- /dev/null
@@ -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 (file)
index a304bef..0000000
+++ /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 (file)
index 0000000..573a75f
--- /dev/null
@@ -0,0 +1,41 @@
+**********
+OSPFCLIENT
+**********
+
+SYNOPSIS
+========
+ospfclient <ospfd> <lsatype> <opaquetype> <opaqueid> <ifaddr> <areaid>
+
+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 (file)
index 6bad777..0000000
+++ /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 (file)
index 0000000..50ee503
--- /dev/null
@@ -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 (file)
index 6db3418..0000000
+++ /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 (file)
index 0000000..98fd3a5
--- /dev/null
@@ -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 (file)
index a84668e..0000000
+++ /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 (file)
index 0000000..01b0223
--- /dev/null
@@ -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 (file)
index 9803921..0000000
+++ /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 (file)
index 0000000..2a3e14a
--- /dev/null
@@ -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 (file)
index 0000000..341d5ea
--- /dev/null
@@ -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 (file)
index 782ac7b..0000000
+++ /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 (file)
index 0000000..5c18ac2
--- /dev/null
@@ -0,0 +1,119 @@
+********
+WATCHFRR
+********
+
+.. include:: defines.txt
+.. |DAEMON| replace:: watchfrr
+
+SYNOPSIS
+========
+|DAEMON| |synopsis-options-hv|
+
+|DAEMON| [option...] <daemon>...
+
+
+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 <directory>, --statedir <directory>
+
+   Set the VTY socket directory (the default value is "/var/run/frr").
+
+.. option:: -l <level>, --loglevel <level>
+
+   Set the logging level (the default value is "6"). The value should range from 0 (LOG_EMERG) to 7 (LOG_DEBUG), but higher number can be supplied if extra debugging messages are required.
+
+.. option:: --min-restart-interval <number>
+
+   Set the minimum number of seconds to wait between invocations of the daemon restart commands (the default value is "60").
+
+.. option:: --max-restart-interval <number>
+
+   Set the maximum number of seconds to wait between invocations of the daemon restart commands (the default value is "600").
+
+.. option:: -i <number>, --interval <number>
+
+   Set the status polling interval in seconds (the default value is "5").
+
+.. option:: -t <number>, --timeout <number>
+
+   Set the unresponsiveness timeout in seconds (the default value is "10").
+
+.. option:: -T <number>, --restart-timeout <number>
+
+   Set the restart (kill) timeout in seconds (the default value is "20"). If any background jobs are still running after this period has elapsed, they will be killed.
+
+.. option:: -p <filename>, --pid-file <filename>
+
+   Set the process identifier filename (the default value is "/var/run/frr/|DAEMON|.pid").
+
+.. option:: -b <string>, --blank-string <string>
+
+   When the supplied string is found in any of the command line option arguments (i.e., -r, -s, or -k), replace it with a space.
+
+   This is an ugly hack to circumvent problems with passing the command line arguments containing embedded spaces.
+
+.. 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 (file)
index 7f4a81b..0000000
+++ /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 (file)
index 0000000..9e5d4de
--- /dev/null
@@ -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 <netlink-buffer-size>
+
+   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
+