diff options
Diffstat (limited to 'doc/manpages')
31 files changed, 1778 insertions, 0 deletions
diff --git a/doc/manpages/.gitignore b/doc/manpages/.gitignore new file mode 100644 index 0000000..81c60dc --- /dev/null +++ b/doc/manpages/.gitignore @@ -0,0 +1,2 @@ +/_templates +/_build diff --git a/doc/manpages/Makefile b/doc/manpages/Makefile new file mode 100644 index 0000000..7cccfa2 --- /dev/null +++ b/doc/manpages/Makefile @@ -0,0 +1,12 @@ +all: ALWAYS + @$(MAKE) -s -C ../.. doc/manpages/man.stamp +help: ALWAYS + @$(MAKE) -s -C ../.. doc/help +%: ALWAYS + @$(MAKE) -s -C ../.. doc/manpages/_build/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/doc/manpages/bfd-options.rst b/doc/manpages/bfd-options.rst new file mode 100644 index 0000000..e335ed1 --- /dev/null +++ b/doc/manpages/bfd-options.rst @@ -0,0 +1,10 @@ +BFD SOCKET +---------- + +The following option controls the BFD daemon control socket location. + +.. option:: --bfdctl bfd-control-socket + + Opens the BFD daemon control socket located at the pointed location. + + (default: |INSTALL_PREFIX_STATE|/bfdd.sock) diff --git a/doc/manpages/common-options.rst b/doc/manpages/common-options.rst new file mode 100644 index 0000000..a47a233 --- /dev/null +++ b/doc/manpages/common-options.rst @@ -0,0 +1,163 @@ +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 + pbrd 2615 + staticd 2616 + bfdd 2617 + fabricd 2618 + vrrpd 2619 + + Port 2607 is used for ospfd's Opaque LSA API. + +.. 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 necessary 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. + diff --git a/doc/manpages/conf.py b/doc/manpages/conf.py new file mode 100644 index 0000000..73dea09 --- /dev/null +++ b/doc/manpages/conf.py @@ -0,0 +1,365 @@ +# -*- 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"FRR authors" + +# 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. Values are extracted from config.status. +# Reasonable defaults are set in case that file does not exist. +replace_vars = { + "AUTHORS": author, + "COPYRIGHT_YEAR": "1999-2005", + "COPYRIGHT_STR": "Copyright (c) 1999-2005", + "PACKAGE_NAME": project.lower(), + "PACKAGE_TARNAME": project.lower(), + "PACKAGE_STRING": project.lower() + " latest", + "PACKAGE_URL": "https://frrouting.org/", + "PACKAGE_VERSION": "latest", + "INSTALL_PREFIX_ETC": "/etc/frr", + "INSTALL_PREFIX_SBIN": "/usr/lib/frr", + "INSTALL_PREFIX_STATE": "/var/run/frr", + "INSTALL_PREFIX_MODULES": "/usr/lib/frr/modules", + "INSTALL_USER": "frr", + "INSTALL_GROUP": "frr", + "INSTALL_VTY_GROUP": "frrvty", + "GROUP": "frr", + "USER": "frr", +} + +# extract version information, installation location, other stuff we need to +# use when building final documents +val = re.compile('^S\["([^"]+)"\]="(.*)"$') +try: + 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) +except IOError: + # if config.status doesn't exist, just ignore it + pass + +# manually fill out some of these we can't get from config.status +replace_vars["COPYRIGHT_STR"] = "Copyright (c)" +replace_vars["COPYRIGHT_STR"] += " {0}".format(replace_vars["COPYRIGHT_YEAR"]) +replace_vars["COPYRIGHT_STR"] += " {0}".format(replace_vars["AUTHORS"]) +release = replace_vars["PACKAGE_VERSION"] +version = release.split("-")[0] + +# add substitutions to prolog +for key, value in replace_vars.items(): + rst_prolog += ".. |{0}| replace:: {1}\n".format(key, value) + +# 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", + "common-options.rst", + "epilogue.rst", + "defines.rst", + "bfd-options.rst", +] + +# 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 = "default" + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# 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 = [] + +# 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 = "{0} routing engine for use with FRRouting." + +man_pages = [ + ("frr-bfdd", "frr-bfdd", fwfrr.format("a bfd"), [], 8), + ("frr-bgpd", "frr-bgpd", fwfrr.format("a BGPv4, BGPv4+, BGPv4-"), [], 8), + ("frr-eigrpd", "frr-eigrpd", fwfrr.format("an EIGRP"), [], 8), + ("frr-fabricd", "frr-fabricd", fwfrr.format("an OpenFabric"), [], 8), + ("frr-isisd", "frr-isisd", fwfrr.format("an IS-IS"), [], 8), + ("frr-ldpd", "frr-ldpd", fwfrr.format("an LDP"), [], 8), + ("frr-nhrpd", "frr-nhrpd", fwfrr.format("a Next Hop Routing Protocol"), [], 8), + ("frr-ospf6d", "frr-ospf6d", fwfrr.format("an OSPFv3"), [], 8), + ("frr-ospfclient", "frr-ospfclient", "an example ospf-api client", [], 8), + ("frr-ospfd", "frr-ospfd", fwfrr.format("an OSPFv2"), [], 8), + ("frr-pbrd", "frr-pbrd", fwfrr.format("a PBR"), [], 8), + ("frr-pimd", "frr-pimd", fwfrr.format("a PIM"), [], 8), + ("frr-ripd", "frr-ripd", fwfrr.format("a RIP"), [], 8), + ("frr-ripngd", "frr-ripngd", fwfrr.format("a RIPNG"), [], 8), + ("frr-sharpd", "frr-sharpd", fwfrr.format("a SHARP"), [], 8), + ("frr-staticd", "frr-staticd", fwfrr.format("a static route manager"), [], 8), + ("frr-vrrpd", "frr-vrrpd", fwfrr.format("a VRRP"), [], 8), + ( + "frr-watchfrr", + "frr-watchfrr", + "a program to monitor the status of FRRouting daemons", + [], + 8, + ), + ( + "frr-zebra", + "frr-zebra", + "a routing manager for use with associated FRRouting components.", + [], + 8, + ), + ("frr", "frr", "a systemd interaction script", [], 1), + ("mtracebis", "mtracebis", "a multicast trace client", [], 8), + ("vtysh", "vtysh", "an integrated shell for FRRouting.", [], 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.rst b/doc/manpages/defines.rst new file mode 100644 index 0000000..ac24cfa --- /dev/null +++ b/doc/manpages/defines.rst @@ -0,0 +1,3 @@ +.. |synopsis-options| replace:: [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path] +.. |synopsis-options-hv| replace:: [-h] [-v] +.. |seealso-programs| replace:: frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) diff --git a/doc/manpages/epilogue.rst b/doc/manpages/epilogue.rst new file mode 100644 index 0000000..77fed81 --- /dev/null +++ b/doc/manpages/epilogue.rst @@ -0,0 +1,16 @@ +WARNING +======= +This man page is intended to be a quick reference for command line options. The definitive document is the info file |PACKAGE_STRING| or the documentation available on the project website at |PACKAGE_URL|. + +DIAGNOSTICS +=========== +The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details. + +SEE ALSO +======== +|seealso-programs| +|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-bfdd.rst b/doc/manpages/frr-bfdd.rst new file mode 100644 index 0000000..1f8b147 --- /dev/null +++ b/doc/manpages/frr-bfdd.rst @@ -0,0 +1,40 @@ +**** +BFDD +**** + +.. include:: defines.rst +.. |DAEMON| replace:: bfdd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a communication failure detection component that works with +the FRRouting routing engine. + +OPTIONS +======= +OPTIONS available for the |DAEMON| command: + +.. include:: common-options.rst +.. include:: bfd-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/frr-bgpd.rst b/doc/manpages/frr-bgpd.rst new file mode 100644 index 0000000..f7e2026 --- /dev/null +++ b/doc/manpages/frr-bgpd.rst @@ -0,0 +1,82 @@ +**** +BGPD +**** + +.. include:: defines.rst +.. |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 + +.. option:: -p, --bgp_port <port> + + Set the bgp protocol's port number. When port number is 0, that means do not + listen bgp port. + +.. option:: -l, --listenon + + Specify a specific IP address for bgpd to listen on, rather than its default + of ``0.0.0.0`` / ``::``. This can be useful to constrain bgpd to an internal + address, or to run multiple bgpd processes on one host. + +.. option:: -n, --no_kernel + + Do not install learned routes into the linux kernel. This option is useful + for a route-reflector environment or if you are running multiple bgp + processes in the same namespace. This option is different than the --no_zebra + option in that a ZAPI connection is made. + +.. option:: -e, --ecmp + + Run BGP with a limited ecmp capability, that is different than what BGP + was compiled with. The value specified must be greater than 0 and less + than or equal to the MULTIPATH_NUM specified on compilation. + +.. option:: -Z, --no_zebra + + Do not communicate with zebra at all. This is different than the --no_kernel + option in that we do not even open a ZAPI connection to the zebra process. + +.. option:: -s, --socket_size + + When opening tcp connections to our peers, set the socket send buffer + size that the kernel will use for the peers socket. This option + is only really useful at a very large scale. Experimentation should + be done to see if this is helping or not at the scale you are running + at. + +LABEL MANAGER +------------- + +.. option:: -I, --int_num + + Set zclient id. This is required when using Zebra label manager in proxy mode. + +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/frr-eigrpd.rst b/doc/manpages/frr-eigrpd.rst new file mode 100644 index 0000000..bc82446 --- /dev/null +++ b/doc/manpages/frr-eigrpd.rst @@ -0,0 +1,38 @@ +****** +EIGRPD +****** + +.. include:: defines.rst +.. |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/frr-fabricd.rst b/doc/manpages/frr-fabricd.rst new file mode 100644 index 0000000..c14c076 --- /dev/null +++ b/doc/manpages/frr-fabricd.rst @@ -0,0 +1,38 @@ +******* +FABRICD +******* + +.. include:: defines.rst +.. |DAEMON| replace:: fabricd + +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/frr-isisd.rst b/doc/manpages/frr-isisd.rst new file mode 100644 index 0000000..68761f6 --- /dev/null +++ b/doc/manpages/frr-isisd.rst @@ -0,0 +1,38 @@ +***** +ISISD +***** + +.. include:: defines.rst +.. |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/frr-ldpd.rst b/doc/manpages/frr-ldpd.rst new file mode 100644 index 0000000..113f066 --- /dev/null +++ b/doc/manpages/frr-ldpd.rst @@ -0,0 +1,38 @@ +**** +LDPD +**** + +.. include:: defines.rst +.. |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/frr-nhrpd.rst b/doc/manpages/frr-nhrpd.rst new file mode 100644 index 0000000..cae01c6 --- /dev/null +++ b/doc/manpages/frr-nhrpd.rst @@ -0,0 +1,38 @@ +***** +NHRPD +***** + +.. include:: defines.rst +.. |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/frr-ospf6d.rst b/doc/manpages/frr-ospf6d.rst new file mode 100644 index 0000000..cfc6860 --- /dev/null +++ b/doc/manpages/frr-ospf6d.rst @@ -0,0 +1,39 @@ +****** +OSPF6D +****** + +.. include:: defines.rst +.. |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/frr-ospfclient.rst b/doc/manpages/frr-ospfclient.rst new file mode 100644 index 0000000..c52b108 --- /dev/null +++ b/doc/manpages/frr-ospfclient.rst @@ -0,0 +1,43 @@ +********** +OSPFCLIENT +********** + +.. include:: defines.rst + +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/frr-ospfd.rst b/doc/manpages/frr-ospfd.rst new file mode 100644 index 0000000..951a022 --- /dev/null +++ b/doc/manpages/frr-ospfd.rst @@ -0,0 +1,43 @@ +***** +OSPFD +***** + +.. include:: defines.rst +.. |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 + +.. option:: -a, --apiserver + + Enable the OSPF API server. + +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/frr-pbrd.rst b/doc/manpages/frr-pbrd.rst new file mode 100644 index 0000000..d9a80b1 --- /dev/null +++ b/doc/manpages/frr-pbrd.rst @@ -0,0 +1,38 @@ +**** +PBRD +**** + +.. include:: defines.rst +.. |DAEMON| replace:: pbrd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting 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/frr-pimd.rst b/doc/manpages/frr-pimd.rst new file mode 100644 index 0000000..d758266 --- /dev/null +++ b/doc/manpages/frr-pimd.rst @@ -0,0 +1,38 @@ +**** +PIMD +**** + +.. include:: defines.rst +.. |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/frr-ripd.rst b/doc/manpages/frr-ripd.rst new file mode 100644 index 0000000..af4590c --- /dev/null +++ b/doc/manpages/frr-ripd.rst @@ -0,0 +1,38 @@ +**** +RIPD +**** + +.. include:: defines.rst +.. |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/frr-ripngd.rst b/doc/manpages/frr-ripngd.rst new file mode 100644 index 0000000..aedd689 --- /dev/null +++ b/doc/manpages/frr-ripngd.rst @@ -0,0 +1,38 @@ +****** +RIPNGD +****** + +.. include:: defines.rst +.. |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/frr-sharpd.rst b/doc/manpages/frr-sharpd.rst new file mode 100644 index 0000000..016f3f9 --- /dev/null +++ b/doc/manpages/frr-sharpd.rst @@ -0,0 +1,38 @@ +****** +SHARPD +****** + +.. include:: defines.rst +.. |DAEMON| replace:: sharpd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting 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/frr-staticd.rst b/doc/manpages/frr-staticd.rst new file mode 100644 index 0000000..ccbcf32 --- /dev/null +++ b/doc/manpages/frr-staticd.rst @@ -0,0 +1,38 @@ +******* +STATICD +******* + +.. include:: defines.rst +.. |DAEMON| replace:: staticd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting 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/frr-vrrpd.rst b/doc/manpages/frr-vrrpd.rst new file mode 100644 index 0000000..0e73b07 --- /dev/null +++ b/doc/manpages/frr-vrrpd.rst @@ -0,0 +1,40 @@ +***** +VRRPD +***** + +.. include:: defines.rst +.. |DAEMON| replace:: vrrpd + +SYNOPSIS +======== +|DAEMON| |synopsis-options-hv| + +|DAEMON| |synopsis-options| + +DESCRIPTION +=========== +|DAEMON| is a routing component that works with the FRRouting routing engine. +It implements the Virtual Router Redundancy Protocol. Support for both VRRPv2 +and VRRPv3 is present. + +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/frr-watchfrr.rst b/doc/manpages/frr-watchfrr.rst new file mode 100644 index 0000000..d8c82ea --- /dev/null +++ b/doc/manpages/frr-watchfrr.rst @@ -0,0 +1,134 @@ +******** +WATCHFRR +******** + +.. include:: defines.rst +.. |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 +======= + +.. 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:: -N <name>, --pathspace <name> + + Insert the given name into paths used by the FRR daemons. This is appended + to the VTY socket directory and passed to the daemons which also add it to + their paths in /etc. + +.. option:: --netns[=<name>] + + (Linux only.) Switch network namespaces when starting watchfrr. The name + defaults to the value passed with -N (which it should be used in conjunction + with.) If the name is not specified, the option has no effect. + + If the network namespace does not exist, it is created in a manner + compatible with iproute2. Network namespaces are not removed by FRR, this + must be done with "ip netns delete". + +.. 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. + +The following 3 options specify scripts that |DAEMON| uses to perform start/stop/restart actions. Reasonable default values are built into watchfrr, so the use of these options should no longer be necessary: + +.. 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 substituted 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. + +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/frr-zebra.rst b/doc/manpages/frr-zebra.rst new file mode 100644 index 0000000..6cc46b8 --- /dev/null +++ b/doc/manpages/frr-zebra.rst @@ -0,0 +1,68 @@ +***** +ZEBRA +***** + +.. include:: defines.rst +.. |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:: -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 increasing 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. + + +.. option:: -n, --vrfwnetns + + Enable namespace VRF backend. By default, the VRF backend relies on VRF-lite support from the Linux kernel. This option permits discovering Linux named network namespaces and mapping it to FRR VRF contexts. + +ROUTES +------ + +.. option:: -r, --retain + + When the program terminates, do not flush routes installed by zebra from the kernel. + +.. option:: -R, --routing-table <tableno> + + Specify which kernel routing table *Zebra* should communicate with. + If this option is not specified the default table (RT_TABLE_MAIN) is used. + + +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/frr.rst b/doc/manpages/frr.rst new file mode 100644 index 0000000..3d3479a --- /dev/null +++ b/doc/manpages/frr.rst @@ -0,0 +1,44 @@ +*** +FRR +*** + +.. include:: defines.rst + +SYNOPSIS +======== +frr [ start ] + +frr [ stop ] + +frr [ reload ] + +frr [ restart ] + +frr [ status ] + + +DESCRIPTION +=========== +frr is a systemd interaction script for the FRRouting routing engine. + +OPTIONS +======= +Options available for the frr command: + +start + Start enabled FRR daemons + +stop + Stop enabled FRR daemons + +reload + Reload modified configuration files + +restart + Stop all running daemons and then restart them + +status + Status of all the daemon + +.. include:: epilogue.rst + diff --git a/doc/manpages/index.rst b/doc/manpages/index.rst new file mode 100644 index 0000000..58a1d9e --- /dev/null +++ b/doc/manpages/index.rst @@ -0,0 +1,30 @@ +.. 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. + +.. toctree:: + :maxdepth: 2 + + frr + frr-bfdd + frr-bgpd + frr-eigrpd + frr-isisd + frr-fabricd + frr-ldpd + frr-nhrpd + frr-ospf6d + frr-ospfclient + frr-ospfd + frr-pimd + frr-pbrd + frr-ripd + frr-ripngd + frr-sharpd + frr-staticd + frr-watchfrr + frr-zebra + frr-vrrpd + mtracebis + vtysh diff --git a/doc/manpages/mtracebis.rst b/doc/manpages/mtracebis.rst new file mode 100644 index 0000000..d3ba803 --- /dev/null +++ b/doc/manpages/mtracebis.rst @@ -0,0 +1,44 @@ +********* +MTRACEBIS +********* + +.. include:: defines.rst +.. |PROGRAM| replace:: mtracebis + +SYNOPSIS +======== +|PROGRAM| |synopsis-options-hv| + +|PROGRAM| <multicast source> [<multicast group>] + +DESCRIPTION +=========== +|PROGRAM| is a program for initiating multicast traceroute, or "mtrace", queries. + +It can initiate two types of mtrace queries: weak and group. + +Weak tests whether the interfaces towards the source are multicast enabled and is +initiated by supplying only the multicast source address. + +Group tests whether there is multicast routing protocol state for particular +multicast group and is initiated by supplying mutlicast source and group. + +The first query sent is a full query, capable of crossing the network all the way +to the source. If this fails, hop-by-hop queries are initiated. + +Hop-by-hop queries start by requesting only a response from the nearest router. +Following that, next query is extended to the next two routers, and so on... +until a set of routers is tested for connectivity. + +FILES +===== + +|INSTALL_PREFIX_SBIN|/|PROGRAM| + The default location of the |PROGRAM| binary. + +.. include:: epilogue.rst + +AUTHORS +======= + +Mladen Sablic diff --git a/doc/manpages/subdir.am b/doc/manpages/subdir.am new file mode 100644 index 0000000..9284212 --- /dev/null +++ b/doc/manpages/subdir.am @@ -0,0 +1,75 @@ +# +# doc/manpages +# + +man_RSTFILES = \ + doc/manpages/bfd-options.rst \ + doc/manpages/common-options.rst \ + doc/manpages/conf.py \ + doc/manpages/defines.rst \ + doc/manpages/epilogue.rst \ + doc/manpages/frr-bfdd.rst \ + doc/manpages/frr-bgpd.rst \ + doc/manpages/frr-eigrpd.rst \ + doc/manpages/frr-fabricd.rst \ + doc/manpages/frr-isisd.rst \ + doc/manpages/frr-ldpd.rst \ + doc/manpages/frr-nhrpd.rst \ + doc/manpages/frr-ospf6d.rst \ + doc/manpages/frr-ospfclient.rst \ + doc/manpages/frr-ospfd.rst \ + doc/manpages/frr-pbrd.rst \ + doc/manpages/frr-pimd.rst \ + doc/manpages/frr-ripd.rst \ + doc/manpages/frr-ripngd.rst \ + doc/manpages/frr-sharpd.rst \ + doc/manpages/frr-staticd.rst \ + doc/manpages/frr-vrrpd.rst \ + doc/manpages/frr-watchfrr.rst \ + doc/manpages/frr-zebra.rst \ + doc/manpages/frr.rst \ + doc/manpages/index.rst \ + doc/manpages/mtracebis.rst \ + doc/manpages/vtysh.rst \ + # end + +EXTRA_DIST += $(man_RSTFILES) + +MANPARENT = doc/manpages/_build +MANBUILD = $(MANPARENT)/man +doc/manpages/_build/.doctrees/environment.pickle: $(man_RSTFILES) + +# +# automake integration +# + +rstman1dir = $(mandir)/man1 +rstman8dir = $(mandir)/man8 + +rstman1_DATA = +rstman8_DATA = + +if DOC +rstman1_DATA += $(man1) +rstman8_DATA += $(man8) +endif # DOC + +man1 = $(MANBUILD)/frr.1 +man8 = + +# dependency +$(man8) $(man1): $(MANBUILD)/man.stamp + +# +# hook-ins for clean / doc +# (install is handled by automake _DATA) +# + +clean-local: clean-manpages +.PHONY: clean-manpages +clean-manpages: + -rm -rf $(MANPARENT) + +doc: doc-man +.PHONY: doc-man +doc-man: $(rstman8_DATA) $(rstman1_DATA) diff --git a/doc/manpages/vtysh.rst b/doc/manpages/vtysh.rst new file mode 100644 index 0000000..396fcfc --- /dev/null +++ b/doc/manpages/vtysh.rst @@ -0,0 +1,107 @@ +***** +VTYSH +***** + +.. include:: defines.rst +.. |DAEMON| replace:: vtysh + +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:: -C, --dryrun + + When the -C option is being used, this flag will check the config for syntatic validity. + +.. option:: -m, --markfile + + Mark the input file with context ends, useful for cleanup of a config file that has a lot of extraneous space and end markers + +.. option:: -n, --noerror + + When executing cli that does not invoke a vtysh shell, if an error ocurrs ignore it for purposes of return codes from vtysh. + +.. option:: -H, --histfile + + Override the history file for vtysh commands. You can set ``vtysh -H /dev/null`` to turn logging of at all. + +.. option:: -u, --user + + Restrict access to configuration commands by preventing use of the "enable" command. This option provides the same limited "security" as password-protected telnet access. *This security should not be relied on in production environments.* + + Caveat emptor: VTYSH was never designed to be a privilege broker and is not built using secure coding practices. No guarantees of security are provided for this option and under no circumstances should this option be used to provide any semblance of secure read-only access to FRR. + +.. option:: -h, --help + + Display a usage message on standard output and exit. + +.. option:: -t, --timestamp + + Print a timestamp before going to shell or reading the configuration file. + +.. option:: --no-fork + + When used in conjunction with ``-b``, prevents vtysh from forking children to handle configuring each target daemon. + + +ENVIRONMENT VARIABLES +===================== +VTYSH_PAGER + This should be the name of the pager to use. Default is more. + +VTYSH_HISTFILE + Override the history file for vtysh commands. Logging can be turned off using ``VTYSH_HISTFILE=/dev/null vtysh``. + Environment is preferred way to override the history file path over command line argument (-H/--histfile). + +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 + |