]> git.proxmox.com Git - mirror_frr.git/commitdiff
doc: fixup babeld.rst
authorQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 20 Dec 2017 22:54:03 +0000 (17:54 -0500)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 20 Dec 2017 23:22:17 +0000 (18:22 -0500)
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
doc/user/babeld.rst

index 926b453e5337a6f9d4ad742729daf84462a4037a..72d8531e3124fe923133cc72d97a445c052471b2 100644 (file)
@@ -13,7 +13,7 @@ perform reliable link quality estimation on wireless links.  Babel is
 a double-stack routing protocol, meaning that a single Babel instance
 is able to perform routing for both IPv4 and IPv6.
 
-FRR implements Babel as described in RFC6126.
+FRR imlements Babel as described in :t:`RFC6126`.
 
 .. _Configuring_babeld:
 
@@ -35,231 +35,253 @@ Configuration of *babeld* is done in its configuration file
 Babel configuration
 ===================
 
-.. index:: Command {router babel} {}
+.. index::
+   single: router babel
+   single: no router babel
 
-Command {router babel} {}
-.. index:: Command {no router babel} {}
-
-Command {no router babel} {}
+``[no] router babel``
     Enable or disable Babel routing.
 
-.. index:: Command {babel resend-delay <20-655340>} {}
+.. index::
+   single: babel resend-delay <20-655340>
+   single: no babel resend-delay [<20-655340>]
 
-Command {babel resend-delay <20-655340>} {}
+``[no] babel resend-delay <20-655340>``
     Specifies the time after which important messages are resent when
-    avoiding a black-hole.  The default is 2000@dmn{ms}.
-
-.. index:: Command {babel diversity} {}
+    avoiding a black-hole. The default is 2000 ms.
 
-Command {babel diversity} {}
-.. index:: Command {no babel diversity} {}
+.. index::
+   single: babel diversity
+   single: no babel diversity
 
-Command {no babel diversity} {}
+``[no] babel diversity``
       Enable or disable routing using radio frequency diversity.  This is
       highly recommended in networks with many wireless nodes.
+      If you enable this, you will probably want to set `babel
+      diversity-factor` and `babel channel` below.
 
-      If you enable this, you will probably want to set `babel diversity-factor` and `babel channel` below.
-
-.. index:: Command {babel diversity-factor <1-256>} {}
+.. index:: babel diversity-factor <1-256>
 
-Command {babel diversity-factor <1-256>} {}
+``babel diversity-factor <1-256>``
       Sets the multiplicative factor used for diversity routing, in units of
       1/256; lower values cause diversity to play a more important role in
       route selection.  The default it 256, which means that diversity plays
       no role in route selection; you will probably want to set that to 128
       or less on nodes with multiple independent radios.
 
-.. index:: {Babel Command} {network `ifname`} {}
-
-{Babel Command} {network `ifname`} {}
-.. index:: {Babel Command} {no network `ifname`} {}
-
-{Babel Command} {no network `ifname`} {}
-        Enable or disable Babel on the given interface.
-
-.. index:: {Interface Command} {babel wired} {}
-
-{Interface Command} {babel wired} {}
-.. index:: {Interface Command} {babel wireless} {}
-
-{Interface Command} {babel wireless} {}
-          Specifies whether this interface is wireless, which disables a number
-          of optimisations that are only correct on wired interfaces.
-          Specifying `wireless` (the default) is always correct, but may
-          cause slower convergence and extra routing traffic.
-
-.. index:: {Interface Command} {babel split-horizon}
-
-{Interface Command} {babel split-horizon}
-.. index:: {Interface Command} {no babel split-horizon}
-
-{Interface Command} {no babel split-horizon}
-            Specifies whether to perform split-horizon on the interface.
-            Specifying `no babel split-horizon` is always correct, while
-            `babel split-horizon` is an optimisation that should only be used
-            on symmetric and transitive (wired) networks.  The default is
-            `babel split-horizon` on wired interfaces, and `no babel split-horizon` on wireless interfaces.  This flag is reset when the
-            wired/wireless status of an interface is changed.
-
-.. index:: {Interface Command} {babel hello-interval <20-655340>}
-
-{Interface Command} {babel hello-interval <20-655340>}
-            Specifies the time in milliseconds between two scheduled hellos.  On
-            wired links, Babel notices a link failure within two hello intervals;
-            on wireless links, the link quality value is reestimated at every
-            hello interval.  The default is 4000@dmn{ms}.
-
-.. index:: {Interface Command} {babel update-interval <20-655340>}
-
-{Interface Command} {babel update-interval <20-655340>}
-            Specifies the time in milliseconds between two scheduled updates.
-            Since Babel makes extensive use of triggered updates, this can be set
-            to fairly high values on links with little packet loss.  The default
-            is 20000@dmn{ms}.
-
-.. index:: {Interface Command} {babel channel <1-254>}
-
-{Interface Command} {babel channel <1-254>}
-.. index:: {Interface Command} {babel channel interfering}
-
-{Interface Command} {babel channel interfering}
-.. index:: {Interface Command} {babel channel noninterfering}
-
-{Interface Command} {babel channel noninterfering}
-                Set the channel number that diversity routing uses for this interface
-                (see `babel diversity` above).  Noninterfering interfaces are
-                assumed to only interfere with themselves, interfering interfaces are
-                assumed to interfere with all other channels except noninterfering
-                channels, and interfaces with a channel number interfere with
-                interfering interfaces and interfaces with the same channel number.
-                The default is @samp{babel channel interfering} for wireless
-                interfaces, and @samp{babel channel noninterfering} for wired
-                interfaces.  This is reset when the wired/wireless status of an
-                interface is changed.
-
-.. index:: {Interface Command} {babel rxcost <1-65534>}
-
-{Interface Command} {babel rxcost <1-65534>}
-                Specifies the base receive cost for this interface.  For wireless
-                interfaces, it specifies the multiplier used for computing the ETX
-                reception cost (default 256); for wired interfaces, it specifies the
-                cost that will be advertised to neighbours.  This value is reset when
-                the wired/wireless attribute of the interface is changed.
+.. index::
+   single: network IFNAME
+   single: no network IFNAME
+
+``no network IFNAME``
+      Enable or disable Babel on the given interface.
+
+.. index:: babel <wired|wireless>
+
+``babel <wired|wireless>``
+      Specifies whether this interface is wireless, which disables a number
+      of optimisations that are only correct on wired interfaces.
+      Specifying `wireless` (the default) is always correct, but may
+      cause slower convergence and extra routing traffic.
+
+.. index::
+   single: babel split-horizon
+   single: no babel split-horizon
+
+``[no] babel split-horizon``
+      Specifies whether to perform split-horizon on the interface.  Specifying
+      ``no babel split-horizon`` is always correct, while ``babel
+      split-horizon`` is an optimisation that should only be used on symmetric
+      and transitive (wired) networks.  The default is ``babel split-horizon``
+      on wired interfaces, and ``no babel split-horizon`` on wireless
+      interfaces.  This flag is reset when the wired/wireless status of an
+      interface is changed.
+
+.. index:: babel hello-interval <20-655340>
+
+``babel hello-interval <20-655340>``
+      Specifies the time in milliseconds between two scheduled hellos.  On
+      wired links, Babel notices a link failure within two hello intervals;
+      on wireless links, the link quality value is reestimated at every
+      hello interval.  The default is 4000 ms.
+
+.. index:: babel update-interval <20-655340>
+
+``babel update-interval <20-655340>``
+      Specifies the time in milliseconds between two scheduled updates.
+      Since Babel makes extensive use of triggered updates, this can be set
+      to fairly high values on links with little packet loss.  The default
+      is 20000 ms.
+
+.. index::
+   single: babel channel <1-254>
+   single: babel channel interfering
+   single: babel channel noninterfering
+
+``babel channel <1-254>``
+      see below
+
+``babel channel interfering``
+      see below
+
+``babel channel noninterfering``
+      Set the channel number that diversity routing uses for this interface
+      (see `babel diversity` above).  Noninterfering interfaces are
+      assumed to only interfere with themselves, interfering interfaces are
+      assumed to interfere with all other channels except noninterfering
+      channels, and interfaces with a channel number interfere with
+      interfering interfaces and interfaces with the same channel number.
+      The default is @samp{babel channel interfering} for wireless
+      interfaces, and @samp{babel channel noninterfering} for wired
+      interfaces.  This is reset when the wired/wireless status of an
+      interface is changed.
+
+.. index:: babel rxcost <1-65534>
+
+``babel rxcost <1-65534>``
+      Specifies the base receive cost for this interface.  For wireless
+      interfaces, it specifies the multiplier used for computing the ETX
+      reception cost (default 256); for wired interfaces, it specifies the
+      cost that will be advertised to neighbours.  This value is reset when
+      the wired/wireless attribute of the interface is changed.
+
+      Do not use this command unless you know what you are doing; in most
+      networks, acting directly on the cost using route maps is a better
+      technique.
+
+.. index:: babel rtt-decay <1-256>
+
+``babel rtt-decay <1-256>``
+      This specifies the decay factor for the exponential moving average of
+      RTT samples, in units of 1/256.  Higher values discard old samples
+      faster.  The default is 42.
+
+.. index:: babel rtt-min <1-65535>
+
+``babel rtt-min <1-65535>``
+      This specifies the minimum RTT, in milliseconds, starting from which we
+      increase the cost to a neighbour. The additional cost is linear in
+      (rtt - rtt-min).  The default is 100 ms.
+
+.. index:: babel rtt-max <1-65535>
+
+``babel rtt-max <1-65535>``
+      This specifies the maximum RTT, in milliseconds, above which we don't
+      increase the cost to a neighbour. The default is 120 ms.
+
+.. index:: babel max-rtt-penalty <0-65535>
+
+``babel max-rtt-penalty <0-65535>``
+      This specifies the maximum cost added to a neighbour because of RTT,
+      i.e. when the RTT is higher or equal than rtt-max.  The default is 0,
+      which effectively disables the use of a RTT-based cost.
+
+.. index::
+   single: babel enable-timestamps
+   single: no babel enable-timestamps
+
+``[no] babel enable-timestamps``
+      Enable or disable sending timestamps with each Hello and IHU message in
+      order to compute RTT values.  The default is `no babel enable-timestamps`.
+
+.. index:: babel resend-delay <20-655340>
+
+``babel resend-delay <20-655340>``
+      Specifies the time in milliseconds after which an 'important'
+      request or update will be resent.  The default is 2000 ms.  You
+      probably don't want to tweak this value.
+
+.. index:: babel smoothing-half-life <0-65534>
+
+``babel smoothing-half-life <0-65534>``
+      Specifies the time constant, in seconds, of the smoothing algorithm
+      used for implementing hysteresis.  Larger values reduce route
+      oscillation at the cost of very slightly increasing convergence time.
+      The value 0 disables hysteresis, and is suitable for wired networks.
+      The default is 4 s.
 
-                Do not use this command unless you know what you are doing; in most
-                networks, acting directly on the cost using route maps is a better
-                technique.
-
-.. index:: {Interface Command} {babel rtt-decay <1-256>}
-
-{Interface Command} {babel rtt-decay <1-256>}
-                This specifies the decay factor for the exponential moving average of
-                RTT samples, in units of 1/256.  Higher values discard old samples
-                faster.  The default is 42.
-
-.. index:: {Interface Command} {babel rtt-min <1-65535>}
-
-{Interface Command} {babel rtt-min <1-65535>}
-                This specifies the minimum RTT, in milliseconds, starting from which we
-                increase the cost to a neighbour. The additional cost is linear in (rtt
-                - rtt-min ).  The default is 10@dmn{ms}.
-
-.. index:: {Interface Command} {babel rtt-max <1-65535>}
-
-{Interface Command} {babel rtt-max <1-65535>}
-                This specifies the maximum RTT, in milliseconds, above which we don't
-                increase the cost to a neighbour. The default is 120@dmn{ms}.
-
-.. index:: {Interface Command} {babel max-rtt-penalty <0-65535>}
-
-{Interface Command} {babel max-rtt-penalty <0-65535>}
-                This specifies the maximum cost added to a neighbour because of RTT,
-                i.e. when the RTT is higher or equal than rtt-max.  The default is 0,
-                which effectively disables the use of a RTT-based cost.
+.. _Babel_redistribution:
 
-.. index:: {Interface Command} {babel enable-timestamps}
+Babel redistribution
+====================
 
-{Interface Command} {babel enable-timestamps}
-.. index:: {Interface Command} {no babel enable-timestamps}
+.. index::
+   single: redistribute <ipv4|ipv6> KIND
+   single: no redistribute <ipv4|ipv6> KIND
 
-{Interface Command} {no babel enable-timestamps}
-                  Enable or disable sending timestamps with each Hello and IHU message in
-                  order to compute RTT values.  The default is `no babel enable-timestamps`.
+``[no] redistribute <ipv4|ipv6> KIND``
+      Specify which kind of routes should be redistributed into Babel.
 
-.. index:: {Babel Command} {babel resend-delay <20-655340>}
+.. _Show_Babel_information:
 
-{Babel Command} {babel resend-delay <20-655340>}
-                  Specifies the time in milliseconds after which an 'important'
-                  request or update will be resent.  The default is 2000@dmn{ms}.  You
-                  probably don't want to tweak this value.
+Show Babel information
+======================
 
-.. index:: {Babel Command} {babel smoothing-half-life <0-65534>}
+These commands dump various parts of *babeld*'s internal state.
 
-{Babel Command} {babel smoothing-half-life <0-65534>}
-                  Specifies the time constant, in seconds, of the smoothing algorithm
-                  used for implementing hysteresis.  Larger values reduce route
-                  oscillation at the cost of very slightly increasing convergence time.
-                  The value 0 disables hysteresis, and is suitable for wired networks.
-                  The default is 4@dmn{s}.
+.. index:: show babel route
 
-.. _Babel_redistribution:
+``show babel route``
+      *missing description*
 
-Babel redistribution
-====================
+.. index:: show babel route A.B.C.D
 
-.. index:: {Babel command} {redistribute `<ipv4|ipv6>` `kind`}
+``show babel route A.B.C.D``
+      *missing description*
 
-{Babel command} {redistribute `<ipv4|ipv6>` `kind`}
-.. index:: {Babel command} {no redistribute `<ipv4|ipv6>` `kind`}
+.. index:: show babel route X:X::X:X
 
-{Babel command} {no redistribute `<ipv4|ipv6>` `kind`}
-    Specify which kind of routes should be redistributed into Babel.
+``show babel route X:X::X:X``
+      *missing description*
 
-.. _Show_Babel_information:
+.. index:: show babel route A.B.C.D/M
 
-Show Babel information
-======================
+``show babel route A.B.C.D/M``
+      *missing description*
 
-.. index:: {Command} {show babel route} {}
+.. index:: show babel route X:X::X:X/M
 
-{Command} {show babel route} {}
-.. index:: {Command} {show babel route A.B.C.D}
+``show babel route X:X::X:X/M``
+      *missing description*
 
-{Command} {show babel route A.B.C.D}
-.. index:: {Command} {show babel route X:X::X:X}
+.. index:: show babel interface
 
-{Command} {show babel route X:X::X:X}
-.. index:: {Command} {show babel route A.B.C.D/M}
+``show babel interface``
+      *missing description*
 
-{Command} {show babel route A.B.C.D/M}
-.. index:: {Command} {show babel route X:X::X:X/M}
+.. index:: show babel interface `IFNAME`
 
-{Command} {show babel route X:X::X:X/M}
-.. index:: {Command} {show babel interface} {}
+``show babel interface IFNAME``
+      *missing description*
 
-{Command} {show babel interface} {}
-.. index:: {Command} {show babel interface `ifname`} {}
+.. index:: show babel neighbor
 
-{Command} {show babel interface `ifname`} {}
-.. index:: {Command} {show babel neighbor} {}
+``show babel neighbor``
+      *missing description*
 
-{Command} {show babel neighbor} {}
-.. index:: {Command} {show babel parameters} {}
+.. index:: show babel parameters
 
-{Command} {show babel parameters} {}
-                  These commands dump various parts of *babeld*'s internal state.
+``show babel parameters``
+      *missing description*
 
 Babel debugging commands
 ========================
 
-.. index:: {Babel Command} {debug babel `kind`} {}
+.. index::
+   simple: debug babel KIND
+   simple: no debug babel KIND
+
+``[no] debug babel KIND``
+      Enable or disable debugging messages of a given kind. ``KIND`` can
+      be one of:
 
-{Babel Command} {debug babel `kind`} {}
-.. index:: {Babel Command} {no debug babel `kind`} {}
+         - common
+         - filter
+         - timeout
+         - interface
+         - route
+         - all
 
-{Babel Command} {no debug babel `kind`} {}
-    Enable or disable debugging messages of a given kind.  `kind` can
-    be one of @samp{common}, @samp{kernel}, @samp{filter}, @samp{timeout},
-    @samp{interface}, @samp{route} or @samp{all}.  Note that if you have
-    compiled with the NO_DEBUG flag, then these commands aren't available.
+      Note that if you have compiled with the NO_DEBUG flag, then these commands
+      aren't available.