Merge pull request #9959 from ton31337/fix/doc_minor_changes_zebra.rst

doc: Cosmetic minor changes for zebra.rst
This commit is contained in:
Donald Sharp 2021-11-05 13:59:07 -04:00 committed by GitHub
commit 6d542f3a2c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -143,8 +143,8 @@ Standard Commands
Configure an IPv4 Point-to-Point address on the interface. (The concept of Configure an IPv4 Point-to-Point address on the interface. (The concept of
PtP addressing does not exist for IPv6.) PtP addressing does not exist for IPv6.)
`local-addr` has no subnet mask since the local side in PtP addressing is ``local-addr`` has no subnet mask since the local side in PtP addressing is
always a single (/32) address. `peer-addr/prefix` can be an arbitrary subnet always a single (/32) address. ``peer-addr/prefix`` can be an arbitrary subnet
behind the other end of the link (or even on the link in Point-to-Multipoint behind the other end of the link (or even on the link in Point-to-Multipoint
setups), though generally /32s are used. setups), though generally /32s are used.
@ -157,7 +157,7 @@ Standard Commands
.. clicmd:: multicast .. clicmd:: multicast
Enable or disables multicast flag for the interface. Enable or disable multicast flag for the interface.
.. clicmd:: bandwidth (1-10000000) .. clicmd:: bandwidth (1-10000000)
@ -171,7 +171,7 @@ Standard Commands
.. clicmd:: link-detect .. clicmd:: link-detect
Enable/disable link-detect on platforms which support this. Currently only Enable or disable link-detect on platforms which support this. Currently only
Linux, and only where network interface drivers support reporting Linux, and only where network interface drivers support reporting
link-state via the ``IFF_RUNNING`` flag. link-state via the ``IFF_RUNNING`` flag.
@ -430,7 +430,7 @@ commands in relationship to VRF. Here is an extract of some of those commands:
.. clicmd:: show ip route vrf VRF tables .. clicmd:: show ip route vrf VRF tables
This command will dump the routing tables within the vrf scope. If `vrf all` This command will dump the routing tables within the vrf scope. If ``vrf all``
is executed, all routing tables will be dumped. is executed, all routing tables will be dumped.
.. clicmd:: show <ip|ipv6> route summary [vrf VRF] [table TABLENO] [prefix] .. clicmd:: show <ip|ipv6> route summary [vrf VRF] [table TABLENO] [prefix]
@ -444,7 +444,7 @@ By using the :option:`-n` option, the *Linux network namespace* will be mapped
over the *Zebra* VRF. One nice feature that is possible by handling *Linux over the *Zebra* VRF. One nice feature that is possible by handling *Linux
network namespace* is the ability to name default VRF. At startup, *Zebra* network namespace* is the ability to name default VRF. At startup, *Zebra*
discovers the available *Linux network namespace* by parsing folder discovers the available *Linux network namespace* by parsing folder
`/var/run/netns`. Each file stands for a *Linux network namespace*, but not all ``/var/run/netns``. Each file stands for a *Linux network namespace*, but not all
*Linux network namespaces* are available under that folder. This is the case for *Linux network namespaces* are available under that folder. This is the case for
default VRF. It is possible to name the default VRF, by creating a file, by default VRF. It is possible to name the default VRF, by creating a file, by
executing following commands. executing following commands.
@ -455,19 +455,19 @@ executing following commands.
mount --bind /proc/self/ns/net /var/run/netns/vrf0 mount --bind /proc/self/ns/net /var/run/netns/vrf0
Above command illustrates what happens when the default VRF is visible under Above command illustrates what happens when the default VRF is visible under
`var/run/netns/`. Here, the default VRF file is `vrf0`. ``/var/run/netns``. Here, the default VRF file is ``vrf0``.
At startup, FRR detects the presence of that file. It detects that the file At startup, FRR detects the presence of that file. It detects that the file
statistics information matches the same file statistics information as statistics information matches the same file statistics information as
`/proc/self/ns/net` ( through stat() function). As statistics information ``/proc/self/ns/net`` ( through stat() function). As statistics information
matches, then `vrf0` stands for the new default namespace name. matches, then ``vrf0`` stands for the new default namespace name.
Consequently, the VRF naming `Default` will be overridden by the new discovered Consequently, the VRF naming ``Default`` will be overridden by the new discovered
namespace name `vrf0`. namespace name ``vrf0``.
For those who don't use VRF backend with *Linux network namespace*, it is For those who don't use VRF backend with *Linux network namespace*, it is
possible to statically configure and recompile FRR. It is possible to choose an possible to statically configure and recompile FRR. It is possible to choose an
alternate name for default VRF. Then, the default VRF naming will automatically alternate name for default VRF. Then, the default VRF naming will automatically
be updated with the new name. To illustrate, if you want to recompile with be updated with the new name. To illustrate, if you want to recompile with
`global` value, use the following command: ``global`` value, use the following command:
.. code-block:: shell .. code-block:: shell
@ -499,7 +499,7 @@ options on compilation if the end operator desires to do so. Individual
protocols each have their own way of dictating ECMP policy and their protocols each have their own way of dictating ECMP policy and their
respective documentation should be read. respective documentation should be read.
ECMP can be inspected in zebra by doing a `show ip route X` command. ECMP can be inspected in zebra by doing a ``show ip route X`` command.
.. code-block:: shell .. code-block:: shell
@ -528,11 +528,11 @@ ECMP can be inspected in zebra by doing a `show ip route X` command.
* via 192.168.161.15, enp39s0, weight 1, 00:00:02 * via 192.168.161.15, enp39s0, weight 1, 00:00:02
* via 192.168.161.16, enp39s0, weight 1, 00:00:02 * via 192.168.161.16, enp39s0, weight 1, 00:00:02
In this example we have 16 way ecmp for the 4.4.4.4/32 route. The `*` character In this example we have 16 way ecmp for the 4.4.4.4/32 route. The ``*`` character
tells us that the route is installed in the Data Plane, or FIB. tells us that the route is installed in the Data Plane, or FIB.
If you are using the Linux kernel as a Data Plane, this can be inspected If you are using the Linux kernel as a Data Plane, this can be inspected
via a `ip route show X` command: via a ``ip route show X`` command:
.. code-block:: shell .. code-block:: shell
@ -557,7 +557,7 @@ via a `ip route show X` command:
Once installed into the FIB, FRR currently has little control over what Once installed into the FIB, FRR currently has little control over what
nexthops are choosen to forward packets on. Currently the Linux kernel nexthops are choosen to forward packets on. Currently the Linux kernel
has a `fib_multipath_hash_policy` sysctl which dictates how the hashing has a ``fib_multipath_hash_policy`` sysctl which dictates how the hashing
algorithm is used to forward packets. algorithm is used to forward packets.
.. _zebra-mpls: .. _zebra-mpls:
@ -811,7 +811,7 @@ unicast topology!
with the longer prefix length is used; if they're equal, the with the longer prefix length is used; if they're equal, the
Multicast RIB takes precedence. Multicast RIB takes precedence.
The `mrib-then-urib` setting is the default behavior if nothing is The ``mrib-then-urib`` setting is the default behavior if nothing is
configured. If this is the desired behavior, it should be explicitly configured. If this is the desired behavior, it should be explicitly
configured to make the configuration immune against possible changes in configured to make the configuration immune against possible changes in
what the default behavior is. what the default behavior is.
@ -904,8 +904,8 @@ that sets the preferred source address, and applies the route-map to all
ip prefix-list ANY permit 0.0.0.0/0 le 32 ip prefix-list ANY permit 0.0.0.0/0 le 32
route-map RM1 permit 10 route-map RM1 permit 10
match ip address prefix-list ANY match ip address prefix-list ANY
set src 10.0.0.1 set src 10.0.0.1
ip protocol rip route-map RM1 ip protocol rip route-map RM1
@ -915,8 +915,8 @@ IPv6 example for OSPFv3.
ipv6 prefix-list ANY seq 10 permit any ipv6 prefix-list ANY seq 10 permit any
route-map RM6 permit 10 route-map RM6 permit 10
match ipv6 address prefix-list ANY match ipv6 address prefix-list ANY
set src 2001:db8:425:1000::3 set src 2001:db8:425:1000::3
ipv6 protocol ospf6 route-map RM6 ipv6 protocol ospf6 route-map RM6
@ -951,7 +951,7 @@ latter information makes up the Forwarding Information Base
(FIB). Zebra feeds the FIB to the kernel, which allows the IP stack in (FIB). Zebra feeds the FIB to the kernel, which allows the IP stack in
the kernel to forward packets according to the routes computed by the kernel to forward packets according to the routes computed by
FRR. The kernel FIB is updated in an OS-specific way. For example, FRR. The kernel FIB is updated in an OS-specific way. For example,
the `Netlink` interface is used on Linux, and route sockets are the ``Netlink`` interface is used on Linux, and route sockets are
used on FreeBSD. used on FreeBSD.
The FIB push interface aims to provide a cross-platform mechanism to The FIB push interface aims to provide a cross-platform mechanism to
@ -1356,7 +1356,7 @@ Optional sysctl settings
Useful sysctl settings Useful sysctl settings
---------------------- ----------------------
.. option:: net.ipv6.conf.all.use_oif_addrs_only=1 .. option:: net.ipv6.conf.all.use_oif_addrs_only = 1
When enabled, the candidate source addresses for destinations routed via this interface are When enabled, the candidate source addresses for destinations routed via this interface are
restricted to the set of addresses configured on this interface (RFC 6724 section 4). If restricted to the set of addresses configured on this interface (RFC 6724 section 4). If
@ -1431,7 +1431,7 @@ Scripting
.. clicmd:: zebra on-rib-process script SCRIPT .. clicmd:: zebra on-rib-process script SCRIPT
Set a Lua script for :ref:`on-rib-process-dplane-results` hook call. Set a Lua script for :ref:`on-rib-process-dplane-results` hook call.
SCRIPT is the basename of the script, without `.lua`. SCRIPT is the basename of the script, without ``.lua``.
Data structures Data structures
--------------- ---------------