diff options
Diffstat (limited to 'doc/user')
| -rw-r--r-- | doc/user/bgp.rst | 77 | ||||
| -rw-r--r-- | doc/user/index.rst | 1 | ||||
| -rw-r--r-- | doc/user/installation.rst | 8 | ||||
| -rw-r--r-- | doc/user/isisd.rst | 18 | ||||
| -rw-r--r-- | doc/user/ospfd.rst | 17 | ||||
| -rw-r--r-- | doc/user/overview.rst | 2 | ||||
| -rw-r--r-- | doc/user/pathd.rst | 28 | ||||
| -rw-r--r-- | doc/user/scripting.rst | 28 | ||||
| -rw-r--r-- | doc/user/subdir.am | 1 | ||||
| -rw-r--r-- | doc/user/zebra.rst | 6 |
10 files changed, 160 insertions, 26 deletions
diff --git a/doc/user/bgp.rst b/doc/user/bgp.rst index 7bef7d19c8..e609761e1c 100644 --- a/doc/user/bgp.rst +++ b/doc/user/bgp.rst @@ -31,12 +31,23 @@ be specified (:ref:`common-invocation-options`). .. option:: -l, --listenon - Specify a specific IP address for bgpd to listen on, rather than its default + Specify specific IP addresses 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. + address, or to run multiple bgpd processes on one host. Multiple addresses + can be specified. + + In the following example, bgpd is started listening for connections on the + addresses 100.0.1.2 and fd00::2:2. The options -d (runs in daemon mode) and + -f (uses specific configuration file) are also used in this example as we + are likely to run multiple bgpd instances, each one with different + configurations, when using -l option. Note that this option implies the --no_kernel option, and no learned routes will be installed into the linux kernel. +.. code-block:: shell + + # /usr/lib/frr/bgpd -d -f /some-folder/bgpd.conf -l 100.0.1.2 -l fd00::2:2 + .. option:: -n, --no_kernel Do not install learned routes into the linux kernel. This option is useful @@ -457,7 +468,7 @@ Reject routes with AS_SET or AS_CONFED_SET types Suppress duplicate updates -------------------------- -.. index:: [no] bgp suppress-duplicates +.. index:: bgp suppress-duplicates .. clicmd:: [no] bgp suppress-duplicates For example, BGP routers can generate multiple identical announcements with @@ -480,28 +491,57 @@ Disable checking if nexthop is connected on EBGP sessions Route Flap Dampening -------------------- -.. clicmd:: bgp dampening (1-45) (1-20000) (1-20000) (1-255) +.. index:: [no] bgp dampening [(1-45) [(1-20000) (1-20000) (1-255)]] +.. clicmd:: [no] bgp dampening [(1-45) [(1-20000) (1-20000) (1-255)]] + + This command enables (with optionally specified dampening parameters) or + disables route-flap dampening for all routes of a BGP instance. + +.. index:: [no] neighbor PEER dampening [(1-45) [(1-20000) (1-20000) (1-255)]] +.. clicmd:: [no] neighbor PEER dampening [(1-45) [(1-20000) (1-20000) (1-255)]] + + This command enables (with optionally specified dampening parameters) or + disables route-flap dampening for all routes learned from a BGP peer. + +.. index:: [no] neighbor GROUP dampening [(1-45) [(1-20000) (1-20000) (1-255)]] +.. clicmd:: [no] neighbor GROUP dampening [(1-45) [(1-20000) (1-20000) (1-255)]] - This command enables BGP route-flap dampening and specifies dampening parameters. + This command enables (with optionally specified dampening parameters) or + disables route-flap dampening for all routes learned from peers of a peer + group. half-life - Half-life time for the penalty + Half-life time for the penalty in minutes (default value: 15). reuse-threshold - Value to start reusing a route + Value to start reusing a route (default value: 750). suppress-threshold - Value to start suppressing a route + Value to start suppressing a route (default value: 2000). max-suppress - Maximum duration to suppress a stable route + Maximum duration to suppress a stable route in minutes (default value: + 60). The route-flap damping algorithm is compatible with :rfc:`2439`. The use of - this command is not recommended nowadays. + these commands is not recommended nowadays. At the moment, route-flap dampening is not working per VRF and is working only for IPv4 unicast and multicast. + With different parameter sets configurable for BGP instances, peer groups and + peers, the active dampening profile for a route is chosen on the fly, + allowing for various changes in configuration (i.e. peer group memberships) + during runtime. The parameter sets are taking precedence in the following + order: + + 1. Peer + 2. Peer group + 3. BGP instance + + The negating commands do not allow to exclude a peer/peer group from a peer + group/BGP instances configuration. + .. seealso:: https://www.ripe.net/publications/docs/ripe-378 @@ -894,6 +934,19 @@ However, it MUST defer route selection for an address family until it either. This is command, will set the time for which stale routes are kept in RIB. +.. index:: bgp graceful-restart stalepath-time (1-4095) +.. clicmd:: bgp graceful-restart stalepath-time (1-4095) + + This is command, will set the max time (in seconds) to hold onto + restarting peer's stale paths. + + It also controls Enhanced Route-Refresh timer. + + If this command is configured and the router does not receive a Route-Refresh EoRR + message, the router removes the stale routes from the BGP table after the timer + expires. The stale path timer is started when the router receives a Route-Refresh + BoRR message. + .. _bgp-per-peer-graceful-restart: BGP Per Peer Graceful Restart @@ -1639,7 +1692,7 @@ Configuring Peers peer in question. This number is between 0 and 600 seconds, with the default advertisement interval being 0. -.. index:: [no] neighbor PEER timers delayopen (1-240) +.. index:: neighbor PEER timers delayopen (1-240) .. clicmd:: [no] neighbor PEER timers delayopen (1-240) This command allows the user enable the @@ -3539,7 +3592,7 @@ starting the daemon and the configuration gets saved, the option will persist unless removed from the configuration with the negating command prior to the configuration write operation. -.. index:: [no] bgp send-extra-data zebra +.. index:: bgp send-extra-data zebra .. clicmd:: [no] bgp send-extra-data zebra This Command turns off the ability of BGP to send extra data to zebra. diff --git a/doc/user/index.rst b/doc/user/index.rst index 993acf3b4c..7b9464668b 100644 --- a/doc/user/index.rst +++ b/doc/user/index.rst @@ -29,6 +29,7 @@ Basics ipv6 kernel snmp + scripting .. modules ######### diff --git a/doc/user/installation.rst b/doc/user/installation.rst index 382d71b71f..a13e6ce43b 100644 --- a/doc/user/installation.rst +++ b/doc/user/installation.rst @@ -362,6 +362,10 @@ options from the list below. Set hardcoded rpaths in the executable [default=yes]. +.. option:: --enable-scripting + + Enable Lua scripting [default=no]. + You may specify any combination of the above options to the configure script. By default, the executables are placed in :file:`/usr/local/sbin` and the configuration files in :file:`/usr/local/etc`. The :file:`/usr/local/` @@ -382,6 +386,10 @@ options to the configuration script. Configure zebra to use `dir` for local state files, such as pid files and unix sockets. +.. option:: --with-scriptdir <dir> + + Look for Lua scripts in ``dir`` [``prefix``/etc/frr/scripts]. + .. option:: --with-yangmodelsdir <dir> Look for YANG modules in `dir` [`prefix`/share/yang]. Note that the FRR diff --git a/doc/user/isisd.rst b/doc/user/isisd.rst index f991e3f073..7e198564b5 100644 --- a/doc/user/isisd.rst +++ b/doc/user/isisd.rst @@ -204,6 +204,12 @@ ISIS Fast-Reroute Disable load sharing across multiple LFA backups. +.. index:: fast-reroute remote-lfa prefix-list WORD [level-1 | level-2] +.. clicmd:: [no] fast-reroute remote-lfa prefix-list [WORD] [level-1 | level-2] + + Configure a prefix-list to select eligible PQ nodes (valid for all protected + interfaces). + .. _isis-region: ISIS region @@ -400,6 +406,18 @@ ISIS interface Enable per-prefix TI-LFA fast reroute link or node protection. +.. index:: isis fast-reroute remote-lfa tunnel mpls-ldp [level-1 | level-2] +.. clicmd:: [no] isis fast-reroute remote-lfa tunnel mpls-ldp [level-1 | level-2] + + Enable per-prefix Remote LFA fast reroute link protection. Note that other + routers in the network need to be configured to accept LDP targeted hello + messages in order for RLFA to work. + +.. index:: isis fast-reroute remote-lfa maximum-metric (1-16777215) [level-1 | level-2] +.. clicmd:: [no] isis fast-reroute remote-lfa maximum-metric (1-16777215) [level-1 | level-2] + + Limit Remote LFA PQ node selection within the specified metric. + .. _showing-isis-information: Showing ISIS information diff --git a/doc/user/ospfd.rst b/doc/user/ospfd.rst index cbde0fd46f..7184a0e197 100644 --- a/doc/user/ospfd.rst +++ b/doc/user/ospfd.rst @@ -322,6 +322,23 @@ To start OSPF process you have to specify the OSPF router. This feature is enabled by default. +.. index:: clear ip ospf [(1-65535)] process +.. clicmd:: clear ip ospf [(1-65535)] process + + This command can be used to clear the ospf process data structures. This + will clear the ospf neighborship as well and it will get re-established. + This will clear the LSDB too. This will be helpful when there is a change + in router-id and if user wants the router-id change to take effect, user can + use this cli instead of restarting the ospfd daemon. + +.. index:: clear ip ospf [(1-65535)] neighbor +.. clicmd:: clear ip ospf [(1-65535)] neighbor + + This command can be used to clear the ospf neighbor data structures. This + will clear the ospf neighborship and it will get re-established. This + command can be used when the neighbor state get stuck at some state and + this can be used to recover it from that state. + .. _ospf-area: Areas diff --git a/doc/user/overview.rst b/doc/user/overview.rst index a2ce67068f..f67698e404 100644 --- a/doc/user/overview.rst +++ b/doc/user/overview.rst @@ -321,6 +321,8 @@ BGP :t:`The Resource Public Key Infrastructure (RPKI) to Router Protocol. R. Bush, R. Austein. January 2013.` - :rfc:`6811` :t:`BGP Prefix Origin Validation. P. Mohapatra, J. Scudder, D. Ward, R. Bush, R. Austein. January 2013.` +- :rfc:`7313` + :t:`Enhanced Route Refresh Capability for BGP-4. K. Patel, E. Chen, B. Venkatachalapathy. July 2014.` - :rfc:`7606` :t:`Revised Error Handling for BGP UPDATE Messages. E. Chen, J. Scudder, P. Mohapatra, K. Patel. August 2015.` - :rfc:`7607` diff --git a/doc/user/pathd.rst b/doc/user/pathd.rst index 5e210e2489..0815a6c414 100644 --- a/doc/user/pathd.rst +++ b/doc/user/pathd.rst @@ -115,19 +115,19 @@ Configuration Commands Configure segment routing traffic engineering. -.. index:: [no] segment-list NAME +.. index:: segment-list NAME .. clicmd:: [no] segment-list NAME Delete or start a segment list definition. -.. index:: [no] index INDEX mpls label LABEL [nai node ADDRESS] +.. index:: index INDEX mpls label LABEL [nai node ADDRESS] .. clicmd:: [no] index INDEX mpls label LABEL [nai node ADDRESS] Delete or specify a segment in a segment list definition. -.. index:: [no] policy color COLOR endpoint ENDPOINT +.. index:: policy color COLOR endpoint ENDPOINT .. clicmd:: [no] policy color COLOR endpoint ENDPOINT Delete or start a policy definition. @@ -145,31 +145,31 @@ Configuration Commands Specify the policy SID. -.. index:: [no] candidate-path preference PREFERENCE name NAME explicit segment-list SEGMENT-LIST-NAME +.. index:: candidate-path preference PREFERENCE name NAME explicit segment-list SEGMENT-LIST-NAME .. clicmd:: [no] candidate-path preference PREFERENCE name NAME explicit segment-list SEGMENT-LIST-NAME Delete or define an explicit candidate path. -.. index:: [no] candidate-path preference PREFERENCE name NAME dynamic +.. index:: candidate-path preference PREFERENCE name NAME dynamic .. clicmd:: [no] candidate-path preference PREFERENCE name NAME dynamic Delete or start a dynamic candidate path definition. -.. index:: [no] affinity {exclude-any|include-any|include-all} BITPATTERN +.. index:: affinity {exclude-any|include-any|include-all} BITPATTERN .. clicmd:: [no] affinity {exclude-any|include-any|include-all} BITPATTERN Delete or specify an affinity constraint for a dynamic candidate path. -.. index:: [no] bandwidth BANDWIDTH [required] +.. index:: bandwidth BANDWIDTH [required] .. clicmd:: [no] bandwidth BANDWIDTH [required] Delete or specify a bandwidth constraint for a dynamic candidate path. -.. index:: [no] metric [bound] METRIC VALUE [required] +.. index:: metric [bound] METRIC VALUE [required] .. clicmd:: [no] metric [bound] METRIC VALUE [required] Delete or specify a metric constraint for a dynamic candidate path. @@ -198,7 +198,7 @@ Configuration Commands - bnc: Border Node Count metric -.. index:: [no] objective-function OBJFUN1 [required] +.. index:: objective-function OBJFUN1 [required] .. clicmd:: [no] objective-function OBJFUN1 [required] Delete or specify a PCEP objective function constraint for a dynamic @@ -224,7 +224,7 @@ Configuration Commands - msn: Minimize the number of Shared Nodes [RFC8800] -.. index:: [no] debug pathd pcep [basic|path|message|pceplib] +.. index:: debug pathd pcep [basic|path|message|pceplib] .. clicmd:: [no] debug pathd pcep [basic|path|message|pceplib] Enable or disable debugging for the pcep module: @@ -241,14 +241,14 @@ Configuration Commands Configure PCEP support. -.. index:: [no] cep-config NAME +.. index:: cep-config NAME .. clicmd:: [no] pce-config NAME Define a shared PCE configuration that can be used in multiple PCE declarations. -.. index:: [no] pce NAME +.. index:: pce NAME .. clicmd:: [no] pce NAME Define or delete a PCE definition. @@ -321,7 +321,7 @@ Configuration Commands configuration group. -.. index:: [no] pcc +.. index:: pcc .. clicmd:: [no] pcc Disable or start the definition of a PCC. @@ -333,7 +333,7 @@ Configuration Commands Specify the maximum SID depth in a PCC definition. -.. index:: [no] peer WORD [precedence (1-255)] +.. index:: peer WORD [precedence (1-255)] .. clicmd:: [no] peer WORD [precedence (1-255)] Specify a peer and its precedence in a PCC definition. diff --git a/doc/user/scripting.rst b/doc/user/scripting.rst new file mode 100644 index 0000000000..b0295e5706 --- /dev/null +++ b/doc/user/scripting.rst @@ -0,0 +1,28 @@ +.. _scripting: + +********* +Scripting +********* + +The behavior of FRR may be extended or customized using its built-in scripting +capabilities. + +Some configuration commands accept the name of a Lua script to call to perform +some task or make some decision. These scripts have their environments +populated with some set of inputs, and are expected to populate some set of +output variables, which are read by FRR after the script completes. The names +and expected contents of these scripts are documented alongside the commands +that support them. + +These scripts live in :file:`/etc/frr/scripts/` by default. This is +configurable at compile time via ``--with-scriptdir``. It may be +overriden at runtime with the ``--scriptdir`` daemon option. + +In order to use scripting, FRR must be built with ``--enable-scripting``. + +.. note:: + + Scripts are typically loaded just-in-time. This means you can change the + contents of a script that is in use without restarting FRR. Not all + scripting locations may behave this way; refer to the documentation for the + particular location. diff --git a/doc/user/subdir.am b/doc/user/subdir.am index a78d261863..3585245e85 100644 --- a/doc/user/subdir.am +++ b/doc/user/subdir.am @@ -35,6 +35,7 @@ user_RSTFILES = \ doc/user/routemap.rst \ doc/user/routeserver.rst \ doc/user/rpki.rst \ + doc/user/scripting.rst \ doc/user/setup.rst \ doc/user/sharp.rst \ doc/user/snmp.rst \ diff --git a/doc/user/zebra.rst b/doc/user/zebra.rst index 91cd205bed..b94c248b33 100644 --- a/doc/user/zebra.rst +++ b/doc/user/zebra.rst @@ -759,6 +759,12 @@ IPv6 example for OSPFv3. not created at startup. On Debian, FRR might start before ifupdown completes. Consider a reboot test. +.. index:: zebra route-map delay-timer (0-600) +.. clicmd:: [no] zebra route-map delay-timer (0-600) + + Set the delay before any route-maps are processed in zebra. The + default time for this is 5 seconds. + .. _zebra-fib-push-interface: zebra FIB push interface |
