diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-09-08 19:48:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-08 19:48:48 +0200 |
commit | 714e135429aaca467bd2ed654edfe977b5cd1a9c (patch) | |
tree | fa3d60c363844150764df32237d1d9799820694f /doc | |
parent | Merge pull request #2991 from donaldsharp/mac_compiling (diff) | |
parent | isisd: silence SA warnings (diff) | |
download | frr-714e135429aaca467bd2ed654edfe977b5cd1a9c.tar.xz frr-714e135429aaca467bd2ed654edfe977b5cd1a9c.zip |
Merge pull request #2875 from opensourcerouting/fabricd
OpenFabric support
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manpages/common-options.rst | 1 | ||||
-rw-r--r-- | doc/manpages/conf.py | 1 | ||||
-rw-r--r-- | doc/manpages/fabricd.rst | 38 | ||||
-rw-r--r-- | doc/manpages/index.rst | 1 | ||||
-rw-r--r-- | doc/manpages/subdir.am | 1 | ||||
-rw-r--r-- | doc/user/fabricd.rst | 404 | ||||
-rw-r--r-- | doc/user/index.rst | 1 | ||||
-rw-r--r-- | doc/user/installation.rst | 4 | ||||
-rw-r--r-- | doc/user/isisd.rst | 8 | ||||
-rw-r--r-- | doc/user/setup.rst | 3 | ||||
-rw-r--r-- | doc/user/subdir.am | 1 |
11 files changed, 463 insertions, 0 deletions
diff --git a/doc/manpages/common-options.rst b/doc/manpages/common-options.rst index 5fff6fca6..74d3eb7bb 100644 --- a/doc/manpages/common-options.rst +++ b/doc/manpages/common-options.rst @@ -125,6 +125,7 @@ These following options control the daemon's VTY (interactive command line) inte pbrd 2615 staticd 2616 bfdd 2617 + fabricd 2618 Port 2607 is used for ospfd's Opaque LSA API. diff --git a/doc/manpages/conf.py b/doc/manpages/conf.py index e540d236e..f57bc1d27 100644 --- a/doc/manpages/conf.py +++ b/doc/manpages/conf.py @@ -333,6 +333,7 @@ man_pages = [ ('vtysh', 'vtysh', 'an integrated shell for FRRouting.', [], 1), ('frr', 'frr', 'a systemd interaction script', [], 1), ('bfdd', 'bfdd', fwfrr.format("a bfd"), [], 8), + ('fabricd', 'fabricd', fwfrr.format("an OpenFabric "), [], 8), ] # -- Options for Texinfo output ------------------------------------------- diff --git a/doc/manpages/fabricd.rst b/doc/manpages/fabricd.rst new file mode 100644 index 000000000..c14c07661 --- /dev/null +++ b/doc/manpages/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/index.rst b/doc/manpages/index.rst index c62835c77..053555c4e 100644 --- a/doc/manpages/index.rst +++ b/doc/manpages/index.rst @@ -10,6 +10,7 @@ bgpd eigrpd isisd + fabricd ldpd nhrpd ospf6d diff --git a/doc/manpages/subdir.am b/doc/manpages/subdir.am index 24f47fc7a..20efd523f 100644 --- a/doc/manpages/subdir.am +++ b/doc/manpages/subdir.am @@ -9,6 +9,7 @@ man_RSTFILES = \ doc/manpages/defines.rst \ doc/manpages/eigrpd.rst \ doc/manpages/epilogue.rst \ + doc/manpages/fabricd.rst \ doc/manpages/frr.rst \ doc/manpages/index.rst \ doc/manpages/isisd.rst \ diff --git a/doc/user/fabricd.rst b/doc/user/fabricd.rst new file mode 100644 index 000000000..cf0f937c1 --- /dev/null +++ b/doc/user/fabricd.rst @@ -0,0 +1,404 @@ +.. _fabricd: + +********** +OpenFabric +********** + +OpenFabric, specified in :t:`draft-white-openfabric-06.txt`, is a routing +protocol derived from IS-IS, providing link-state routing with efficient +flooding for topologies like spine-leaf networks. + +FRR implements OpenFabric in a daemon called *fabricd* + +.. _configuring-fabricd: + +Configuring fabricd +=================== + +There are no *fabricd* specific options. Common options can be specified +(:ref:`common-invocation-options`) to *fabricd*. *fabricd* needs to acquire +interface information from *zebra* in order to function. Therefore *zebra* must +be running before invoking *fabricd*. Also, if *zebra* is restarted then *fabricd* +must be too. + +Like other daemons, *fabricd* configuration is done in an OpenFabric specific +configuration file :file:`fabricd.conf`. + +.. _openfabric-router: + +OpenFabric router +================= + +To enable the OpenFabric routing protocol, an OpenFabric router needs to be created +in the configuration: + +.. index:: router openfabric WORD +.. clicmd:: router openfabric WORD + +.. index:: no router openfabric WORD +.. clicmd:: no router openfabric WORD + + Enable or disable the OpenFabric process by specifying the OpenFabric domain with + 'WORD'. + +.. index:: net XX.XXXX. ... .XXX.XX +.. clicmd:: net XX.XXXX. ... .XXX.XX + +.. index:: no net XX.XXXX. ... .XXX.XX +.. clicmd:: no net XX.XXXX. ... .XXX.XX + + Set/Unset network entity title (NET) provided in ISO format. + +.. index:: domain-password [clear | md5] <password> +.. clicmd:: domain-password [clear | md5] <password> + +.. index:: no domain-password +.. clicmd:: no domain-password + + Configure the authentication password for a domain, as clear text or md5 one. + +.. index:: log-adjacency-changes +.. clicmd:: log-adjacency-changes + +.. index:: no log-adjacency-changes +.. clicmd:: no log-adjacency-changes + + Log changes in adjacency state. + +.. index:: set-overload-bit +.. clicmd:: set-overload-bit + +.. index:: no set-overload-bit +.. clicmd:: no set-overload-bit + + Set overload bit to avoid any transit traffic. + +.. index:: purge-originator +.. clicmd:: purge-originator + +.. index:: no purge-originator +.. clicmd:: no purge-originator + + Enable or disable :rfc:`6232` purge originator identification. + +.. index:: fabric-tier (0-14) +.. clicmd:: fabric-tier (0-14) + +.. index:: no fabric-tier +.. clicmd:: no fabric-tier + + Configure a static tier number to advertise as location in the fabric + +.. _openfabric-timer: + +OpenFabric Timer +================ + +.. index:: lsp-gen-interval (1-120) +.. clicmd:: lsp-gen-interval (1-120) + +.. index:: no lsp-gen-interval +.. clicmd:: no lsp-gen-interval + + Set minimum interval in seconds between regenerating same LSP. + +.. index:: lsp-refresh-interval (1-65235) +.. clicmd:: lsp-refresh-interval (1-65235) + +.. index:: no lsp-refresh-interval +.. clicmd:: no lsp-refresh-interval + + Set LSP refresh interval in seconds. + +.. index:: max-lsp-lifetime (360-65535) +.. clicmd:: max-lsp-lifetime (360-65535) + +.. index:: no max-lsp-lifetime +.. clicmd:: no max-lsp-lifetime + + Set LSP maximum LSP lifetime in seconds. + +.. index:: spf-interval (1-120) +.. clicmd:: spf-interval (1-120) + +.. index:: no spf-interval +.. clicmd:: no spf-interval + + Set minimum interval between consecutive SPF calculations in seconds. + +.. _openfabric-interface: + +OpenFabric interface +==================== + +.. index:: ip router openfabric WORD +.. clicmd:: ip router openfabric WORD + +.. index:: no ip router openfabric WORD +.. clicmd:: no ip router openfabric WORD + +.. _ip-router-openfabric-word: + + Activate OpenFabric on this interface. Note that the name + of OpenFabric instance must be the same as the one used to configure the + routing process (see command :clicmd:`router openfabric WORD`). + +.. index:: openfabric csnp-interval (1-600) +.. clicmd:: openfabric csnp-interval (1-600) + +.. index:: no openfabric csnp-interval +.. clicmd:: no openfabric csnp-interval + + Set CSNP interval in seconds. + +.. index:: openfabric hello-interval (1-600) +.. clicmd:: openfabric hello-interval (1-600) + +.. index:: no openfabric hello-interval +.. clicmd:: no openfabric hello-interval + + Set Hello interval in seconds. + +.. index:: openfabric hello-multiplier (2-100) +.. clicmd:: openfabric hello-multiplier (2-100) + +.. index:: no openfabric hello-multiplier +.. clicmd:: no openfabric hello-multiplier + + Set multiplier for Hello holding time. + +.. index:: openfabric metric (0-16777215) +.. clicmd:: openfabric metric (0-16777215) + +.. index:: no openfabric metric +.. clicmd:: no openfabric metric + + Set interface metric value. + +.. index:: openfabric passive +.. clicmd:: openfabric passive + +.. index:: no openfabric passive +.. clicmd:: no openfabric passive + + Configure the passive mode for this interface. + +.. index:: openfabric password [clear | md5] <password> +.. clicmd:: openfabric password [clear | md5] <password> + +.. index:: no openfabric password +.. clicmd:: no openfabric password + + Configure the authentication password (clear or encoded text) for the + interface. + +.. index:: openfabric psnp-interval (1-120) +.. clicmd:: openfabric psnp-interval (1-120) + +.. index:: no openfabric psnp-interval +.. clicmd:: no openfabric psnp-interval + + Set PSNP interval in seconds. + +.. _showing-openfabric-information: + +Showing OpenFabric information +============================== + +.. index:: show openfabric summary +.. clicmd:: show openfabric summary + + Show summary information about OpenFabric. + +.. index:: show openfabric hostname +.. clicmd:: show openfabric hostname + + Show which hostnames are associated with which OpenFabric system ids. + +.. index:: show openfabric interface +.. clicmd:: show openfabric interface + +.. index:: show openfabric interface detail +.. clicmd:: show openfabric interface detail + +.. index:: show openfabric interface <interface name> +.. clicmd:: show openfabric interface <interface name> + + Show state and configuration of specified OpenFabric interface, or all interfaces + if no interface is given with or without details. + +.. index:: show openfabric neighbor +.. clicmd:: show openfabric neighbor + +.. index:: show openfabric neighbor <System Id> +.. clicmd:: show openfabric neighbor <System Id> + +.. index:: show openfabric neighbor detail +.. clicmd:: show openfabric neighbor detail + + Show state and information of specified OpenFabric neighbor, or all neighbors if + no system id is given with or without details. + +.. index:: show openfabric database +.. clicmd:: show openfabric database + +.. index:: show openfabric database [detail] +.. clicmd:: show openfabric database [detail] + +.. index:: show openfabric database <LSP id> [detail] +.. clicmd:: show openfabric database <LSP id> [detail] + +.. index:: show openfabric database detail <LSP id> +.. clicmd:: show openfabric database detail <LSP id> + + Show the OpenFabric database globally, for a specific LSP id without or with + details. + +.. index:: show openfabric topology +.. clicmd:: show openfabric topology + + Show calculated OpenFabric paths and associated topology information. + +.. _debugging-openfabric: + +Debugging OpenFabric +==================== + +.. index:: debug openfabric adj-packets +.. clicmd:: debug openfabric adj-packets + +.. index:: no debug openfabric adj-packets +.. clicmd:: no debug openfabric adj-packets + +OpenFabric Adjacency related packets. + +.. index:: debug openfabric checksum-errors +.. clicmd:: debug openfabric checksum-errors + +.. index:: no debug openfabric checksum-errors +.. clicmd:: no debug openfabric checksum-errors + +OpenFabric LSP checksum errors. + +.. index:: debug openfabric events +.. clicmd:: debug openfabric events + +.. index:: no debug openfabric events +.. clicmd:: no debug openfabric events + +OpenFabric Events. + +.. index:: debug openfabric local-updates +.. clicmd:: debug openfabric local-updates + +.. index:: no debug openfabric local-updates +.. clicmd:: no debug openfabric local-updates + +OpenFabric local update packets. + +.. index:: debug openfabric lsp-gen +.. clicmd:: debug openfabric lsp-gen + +.. index:: no debug openfabric lsp-gen +.. clicmd:: no debug openfabric lsp-gen + +Generation of own LSPs. + +.. index:: debug openfabric lsp-sched +.. clicmd:: debug openfabric lsp-sched + +.. index:: no debug openfabric lsp-sched +.. clicmd:: no debug openfabric lsp-sched + +Debug scheduling of generation of own LSPs. + +.. index:: debug openfabric packet-dump +.. clicmd:: debug openfabric packet-dump + +.. index:: no debug openfabric packet-dump +.. clicmd:: no debug openfabric packet-dump + +OpenFabric packet dump. + +.. index:: debug openfabric protocol-errors +.. clicmd:: debug openfabric protocol-errors + +.. index:: no debug openfabric protocol-errors +.. clicmd:: no debug openfabric protocol-errors + +OpenFabric LSP protocol errors. + +.. index:: debug openfabric route-events +.. clicmd:: debug openfabric route-events + +.. index:: no debug openfabric route-events +.. clicmd:: no debug openfabric route-events + +OpenFabric Route related events. + +.. index:: debug openfabric snp-packets +.. clicmd:: debug openfabric snp-packets + +.. index:: no debug openfabric snp-packets +.. clicmd:: no debug openfabric snp-packets + +OpenFabric CSNP/PSNP packets. + +.. index:: debug openfabric spf-events +.. clicmd:: debug openfabric spf-events + +.. index:: debug openfabric spf-statistics +.. clicmd:: debug openfabric spf-statistics + +.. index:: debug openfabric spf-triggers +.. clicmd:: debug openfabric spf-triggers + +.. index:: no debug openfabric spf-events +.. clicmd:: no debug openfabric spf-events + +.. index:: no debug openfabric spf-statistics +.. clicmd:: no debug openfabric spf-statistics + +.. index:: no debug openfabric spf-triggers +.. clicmd:: no debug openfabric spf-triggers + +OpenFabric Shortest Path First Events, Timing and Statistic Data and triggering +events. + +.. index:: debug openfabric update-packets +.. clicmd:: debug openfabric update-packets + +.. index:: no debug openfabric update-packets +.. clicmd:: no debug openfabric update-packets + +Update related packets. + +.. index:: show debugging openfabric +.. clicmd:: show debugging openfabric + + Print which OpenFabric debug levels are active. + +OpenFabric configuration example +================================ + +A simple example: + +.. code-block:: frr + + ! + interface lo + ip address 192.0.2.1/32 + ip router openfabric 1 + ipv6 address 2001:db8::1/128 + ipv6 router openfabric 1 + ! + interface eth0 + ip router openfabric 1 + ipv6 router openfabric 1 + ! + interface eth1 + ip router openfabric 1 + ipv6 router openfabric 1 + ! + router openfabric 1 + net 49.0000.0000.0001.00 diff --git a/doc/user/index.rst b/doc/user/index.rst index 581855134..8190415bf 100644 --- a/doc/user/index.rst +++ b/doc/user/index.rst @@ -42,6 +42,7 @@ Protocols bfd bgp babeld + fabricd ldpd eigrpd isisd diff --git a/doc/user/installation.rst b/doc/user/installation.rst index 3da5a6cd3..da431916a 100644 --- a/doc/user/installation.rst +++ b/doc/user/installation.rst @@ -139,6 +139,10 @@ options from the list below. Do not build isisd. +.. option:: --disable-fabricd + + Do not build fabricd. + .. option:: --enable-isis-topology Enable IS-IS topology generator. diff --git a/doc/user/isisd.rst b/doc/user/isisd.rst index 54f82f683..ee681858d 100644 --- a/doc/user/isisd.rst +++ b/doc/user/isisd.rst @@ -106,6 +106,14 @@ writing, *isisd* does not support multiple ISIS processes. Set overload bit to avoid any transit traffic. +.. index:: purge-originator +.. clicmd:: purge-originator + +.. index:: no purge-originator +.. clicmd:: no purge-originator + + Enable or disable :rfc:`6232` purge originator identification. + .. _isis-timer: ISIS Timer diff --git a/doc/user/setup.rst b/doc/user/setup.rst index 68ce14982..8a76a61e7 100644 --- a/doc/user/setup.rst +++ b/doc/user/setup.rst @@ -32,6 +32,7 @@ systemd. The file initially looks like this: staticd=no pbrd=no bfdd=no + fabricd=no To enable a particular daemon, simply change the corresponding 'no' to 'yes'. Subsequent service restarts should start the daemon. @@ -68,6 +69,7 @@ This file has several parts. Here is an example: staticd_options=" --daemon -A 127.0.0.1" pbrd_options=" --daemon -A 127.0.0.1" bfdd_options=" --daemon -A 127.0.0.1" + fabricd_options=" --daemon -A 127.0.0.1" # The list of daemons to watch is automatically generated by the init script. watchfrr_enable=yes @@ -139,6 +141,7 @@ add the following entries to :file:`/etc/services`. ldpd 2612/tcp # LDPd vty eigprd 2613/tcp # EIGRPd vty bfdd 2617/tcp # bfdd vty + fabricd 2618/tcp # fabricd vty If you use a FreeBSD newer than 2.2.8, the above entries are already added to diff --git a/doc/user/subdir.am b/doc/user/subdir.am index 6e51eed9d..53d36052a 100644 --- a/doc/user/subdir.am +++ b/doc/user/subdir.am @@ -10,6 +10,7 @@ user_RSTFILES = \ doc/user/bugs.rst \ doc/user/conf.py \ doc/user/eigrpd.rst \ + doc/user/fabricd.rst \ doc/user/filter.rst \ doc/user/glossary.rst \ doc/user/index.rst \ |