summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/babeld.texi116
-rw-r--r--doc/ipv6.texi2
-rw-r--r--doc/quagga.texi2
3 files changed, 119 insertions, 1 deletions
diff --git a/doc/babeld.texi b/doc/babeld.texi
new file mode 100644
index 00000000..aa19c9aa
--- /dev/null
+++ b/doc/babeld.texi
@@ -0,0 +1,116 @@
+@c -*-texinfo-*-
+@c This is part of the Quagga Manual.
+@c @value{COPYRIGHT_STR}
+@c See file quagga.texi for copying conditions.
+@node Babel
+@chapter Babel
+
+Babel is an interior gateway protocol that is suitable both for wired
+networks and for wireless mesh networks. Babel has been described as
+``RIP on speed'' --- it is based on the same principles as RIP, but
+includes a number of refinements that make it react much faster to
+topology changes without ever counting to infinity, and allow it to
+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.
+
+Quagga implements Babel as described in RFC6126, as well as the
+``Babel-Z'' extensions that optimise routes for radio frequency
+diversity.
+
+@menu
+* Configuring babeld::
+* Babel configuration::
+* Babel redistribution::
+* Show Babel information::
+* Babel debugging commands::
+@end menu
+
+@node Configuring babeld, Babel configuration, Babel, Babel
+@section Configuring babeld
+
+The @command{babeld} daemon can be invoked with any of the common
+options (@pxref{Common Invocation Options}).
+
+The @command{zebra} daemon must be running before @command{babeld} is
+inovked. Also, if @command{zebra} is restarted then @command{babeld}
+must be too.
+
+Configuration of @command{babeld} is done in its configuration file
+@file{babeld.conf}.
+
+@node Babel configuration, Babel redistribution, Configuring babeld, Babel
+@section Babel configuration
+
+@deffn Command {router babel} {}
+@deffnx Command {no router babel} {}
+Enable or disable Babel routing.
+@end deffn
+
+@deffn {Babel Command} {network @var{ifname}} {}
+@deffnx {Babel Command} {no network @var{ifname}} {}
+Enable or disable Babel on the given interface.
+@end deffn
+
+@deffn {Babel Command} {protocol group @var{group}} {}
+@deffnx {Babel Command} {protocol port @var{port}} {}
+Specify the multicast group and UDP port used for Babel traffic. The
+default is to use group @code{ff02::1:6} and port 6696, as allocated
+by IANA. (Note that RFC6126 specifies a port number that has been
+obsoleted after publication.)
+@end deffn
+
+@deffn {Interface Command} {wireless} {}
+@deffnx {Interface Command} {no wireless} {}
+Specifies whether this interface is wireless, which disables a number
+of optimisations that are only correct on wired interfaces.
+Specifying @code{no wireless} is always correct, but may cause extra
+routing overhead. The default is autodetected if possible,
+@code{wireless} otherwise.
+@end deffn
+
+@deffn {Interface Command} {babel split-horizon}
+@deffnx {Interface Command} {no babel split-horizon}
+Specifies whether to perform split-horizon on the interface. Default
+is @code{babel split-horizon} on wired interfaces, and @code{no babel
+split-horizon} on wireless interfaces. Please note that performing split
+horizon on wireless interfaces is not correct in general, and may lead
+to communication failures.
+@end deffn
+
+@deffn {Interface Command} {passive-interface}
+@deffnx {Interface Command} {passive-interface}
+Specifies whether this interface is passive. Note that this is
+a little weaker than RIP's notion of passive interface, since Babel
+always sends Hello packets, even on passive interfaces.
+@end deffn
+
+@node Babel redistribution, Show Babel information, Babel configuration, Babel
+@section Babel redistribution
+
+@deffn {Babel command} {redistribute @var{kind}}
+@deffnx {Babel command} {no redistribute @var{kind}}
+Specify which kind of routes should be redistributed into Babel.
+@end deffn
+
+@node Show Babel information, Babel debugging commands, Babel redistribution, Babel
+@section Show Babel information
+
+@deffn {Command} {show babel database} {}
+@deffnx {Command} {show babel interface} {}
+@deffnx {Command} {show babel neighbour} {}
+@deffnx {Command} {show babel running-config} {}
+These commands dump various parts of @command{babeld}'s internal
+state. They are mostly useful for troubleshooting.
+@end deffn
+
+@node Babel debugging commands, , Show Babel information, Babel
+@section Babel debugging commands
+
+@deffn {Babel Command} {debug @var{kind}} {}
+@deffnx {Babel Command} {no debug @var{kind}} {}
+Enable or disable debugging messages of a given kind. @var{kind} can
+be one of @samp{common}, @samp{kernel}, @samp{filter}, @samp{timeout},
+@samp{interface}, @samp{route} or @samp{all}.
+@end deffn
+
diff --git a/doc/ipv6.texi b/doc/ipv6.texi
index d4ef45a3..b6cc4376 100644
--- a/doc/ipv6.texi
+++ b/doc/ipv6.texi
@@ -2,7 +2,7 @@
@chapter IPv6 Support
Quagga fully supports IPv6 routing. As described so far, Quagga supports
-RIPng, OSPFv3 and BGP-4+. You can give IPv6 addresses to an interface
+RIPng, OSPFv3, Babel and BGP-4+. You can give IPv6 addresses to an interface
and configure static IPv6 routing information. Quagga IPv6 also provides
automatic address configuration via a feature called @code{address
auto configuration}. To do it, the router must send router advertisement
diff --git a/doc/quagga.texi b/doc/quagga.texi
index ff8002c8..ff913aa5 100644
--- a/doc/quagga.texi
+++ b/doc/quagga.texi
@@ -86,6 +86,7 @@ for @value{PACKAGE_STRING}. @uref{http://www.quagga.net,,Quagga} is a fork of
* RIPng::
* OSPFv2::
* OSPFv3::
+* Babel::
* BGP::
* Configuring Quagga as a Route Server::
* VTY shell::
@@ -110,6 +111,7 @@ for @value{PACKAGE_STRING}. @uref{http://www.quagga.net,,Quagga} is a fork of
@include ripngd.texi
@include ospfd.texi
@include ospf6d.texi
+@include babeld.texi
@include bgpd.texi
@include routeserver.texi
@include vtysh.texi