From f92a55ff0ef8e1186ad52369ace299bc91fdb791 Mon Sep 17 00:00:00 2001 From: Juliusz Chroboczek Date: Tue, 7 Feb 2012 16:33:17 +0100 Subject: doc: Document babeld. --- doc/babeld.texi | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/ipv6.texi | 2 +- doc/quagga.texi | 2 + 3 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 doc/babeld.texi 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 -- cgit v1.2.1