diff --git a/doc/user/zebra.rst b/doc/user/zebra.rst index 789b5bf3c0..c5440ef88d 100644 --- a/doc/user/zebra.rst +++ b/doc/user/zebra.rst @@ -143,8 +143,8 @@ Standard Commands Configure an IPv4 Point-to-Point address on the interface. (The concept of PtP addressing does not exist for IPv6.) - `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 + ``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 behind the other end of the link (or even on the link in Point-to-Multipoint setups), though generally /32s are used. @@ -157,7 +157,7 @@ Standard Commands .. clicmd:: multicast - Enable or disables multicast flag for the interface. + Enable or disable multicast flag for the interface. .. clicmd:: bandwidth (1-10000000) @@ -171,7 +171,7 @@ Standard Commands .. 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 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 - 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. .. clicmd:: show 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 network namespace* is the ability to name default VRF. At startup, *Zebra* 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 default VRF. It is possible to name the default VRF, by creating a file, by executing following commands. @@ -455,19 +455,19 @@ executing following commands. mount --bind /proc/self/ns/net /var/run/netns/vrf0 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 statistics information matches the same file statistics information as -`/proc/self/ns/net` ( through stat() function). As statistics information -matches, then `vrf0` stands for the new default namespace name. -Consequently, the VRF naming `Default` will be overridden by the new discovered -namespace name `vrf0`. +``/proc/self/ns/net`` ( through stat() function). As statistics information +matches, then ``vrf0`` stands for the new default namespace name. +Consequently, the VRF naming ``Default`` will be overridden by the new discovered +namespace name ``vrf0``. 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 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 -`global` value, use the following command: +``global`` value, use the following command: .. 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 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 @@ -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.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. 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 @@ -557,7 +557,7 @@ via a `ip route show X` command: Once installed into the FIB, FRR currently has little control over what 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. .. _zebra-mpls: @@ -811,7 +811,7 @@ unicast topology! with the longer prefix length is used; if they're equal, the 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 to make the configuration immune against possible changes in 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 route-map RM1 permit 10 - match ip address prefix-list ANY - set src 10.0.0.1 + match ip address prefix-list ANY + set src 10.0.0.1 ip protocol rip route-map RM1 @@ -915,8 +915,8 @@ IPv6 example for OSPFv3. ipv6 prefix-list ANY seq 10 permit any route-map RM6 permit 10 - match ipv6 address prefix-list ANY - set src 2001:db8:425:1000::3 + match ipv6 address prefix-list ANY + set src 2001:db8:425:1000::3 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 the kernel to forward packets according to the routes computed by 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. The FIB push interface aims to provide a cross-platform mechanism to @@ -1356,7 +1356,7 @@ Optional 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 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 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 ---------------