summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/.cvsignore31
-rw-r--r--doc/BGP-TypeCode30
-rw-r--r--doc/Makefile.am10
-rw-r--r--doc/babeld.texi118
-rw-r--r--doc/basic.texi4
-rw-r--r--doc/bgpd.texi30
-rw-r--r--doc/ipv6.texi54
-rw-r--r--doc/mpls/.cvsignore2
-rw-r--r--doc/ospfd.texi6
-rw-r--r--doc/quagga.texi2
-rw-r--r--doc/ripd.texi8
11 files changed, 209 insertions, 86 deletions
diff --git a/doc/.cvsignore b/doc/.cvsignore
deleted file mode 100644
index 43987b24..00000000
--- a/doc/.cvsignore
+++ /dev/null
@@ -1,31 +0,0 @@
-Makefile
-Makefile.in
-mdate-sh
-draft-zebra-00.txt
-zebra.info-*
-zebra.html
-defines.texi
-version.texi
-quagga.html
-quagga.info
-*.pdf
-*.eps
-quagga.ps
-quagga.dvi
-stamp-vti
-.nfs*
-*.aux
-*.cp
-*.cps
-*.fn
-*.fns
-*.ky
-*.kys
-*.log
-*.op
-*.pg
-*.toc
-*.tp
-*.vr
-.arch-inventory
-.arch-ids
diff --git a/doc/BGP-TypeCode b/doc/BGP-TypeCode
index 5663c4d7..b3218079 100644
--- a/doc/BGP-TypeCode
+++ b/doc/BGP-TypeCode
@@ -3,24 +3,22 @@
Value Attribute References
=========================================================================
- 1 ORIGIN [RFC 1771]
- 2 AS_PATH [RFC 1771]
- 3 NEXT_HOP [RFC 1771]
- 4 MULTI_EXIT_DISC [RFC 1771]
- 5 LOCAL_PREF [RFC 1771]
- 6 ATOMIC_AGGREGATE [RFC 1771]
- 7 AGGREGATOR [RFC 1771]
+ 1 ORIGIN [RFC 4271]
+ 2 AS_PATH [RFC 4271]
+ 3 NEXT_HOP [RFC 4271]
+ 4 MULTI_EXIT_DISC [RFC 4271]
+ 5 LOCAL_PREF [RFC 4271]
+ 6 ATOMIC_AGGREGATE [RFC 4271]
+ 7 AGGREGATOR [RFC 4271]
8 COMMUNITIES [RFC 1997]
- 9 ORIGINATOR_ID [RFC 1966]
- 10 CLUSTER_LIST [RFC 1966]
+ 9 ORIGINATOR_ID [RFC 4456]
+ 10 CLUSTER_LIST [RFC 4456]
11 DPA [draft-ietf-idr-bgp-dpa-05.txt(expired)]
- 12 ADVERTISER [Changed from RFC 1863 bgp@ans.net ML?]
- 13 RCID_PATH [Changed from RFC 1863 bgp@ans.net ML?]
- 14 MP_REACH_NLRI [RFC 2283]
- 15 MP_UNREACH_NLRI [RFC 2283]
- 16 EXT_COMMUNITIES [draft-ramachandra-bgp-ext-communities-09.txt]
+ 12 ADVERTISER [RFC 1863]
+ 13 RCID_PATH [RFC 1863]
+ 14 MP_REACH_NLRI [RFC 4760]
+ 15 MP_UNREACH_NLRI [RFC 4760]
+ 16 EXT_COMMUNITIES [RFC 4360]
17 AS4_PATH [RFC 4893]
18 AS4_AGGREGATOR [RFC 4893]
- 254 RCID_PATH [RFC 1863]
- 255 ADVERTISER [RFC 1863]
=========================================================================
diff --git a/doc/Makefile.am b/doc/Makefile.am
index cd4d71bd..dde95ab3 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -46,11 +46,11 @@ info_TEXINFOS = quagga.texi
quagga.pdf: $(info_TEXINFOS) $(figures_pdf) $(quagga_TEXINFOS)
$(TEXI2PDF) -o "$@" $<
-quagga_TEXINFOS = appendix.texi basic.texi bgpd.texi filter.texi install.texi \
- ipv6.texi kernel.texi main.texi ospf6d.texi ospfd.texi overview.texi \
- protocol.texi ripd.texi ripngd.texi routemap.texi snmp.texi \
- vtysh.texi routeserver.texi defines.texi $(figures_png) snmptrap.texi \
- $(figures_txt)
+quagga_TEXINFOS = appendix.texi babeld.texi basic.texi bgpd.texi filter.texi \
+ install.texi ipv6.texi kernel.texi main.texi ospf6d.texi ospfd.texi \
+ overview.texi protocol.texi ripd.texi ripngd.texi routemap.texi \
+ snmp.texi vtysh.texi routeserver.texi defines.texi $(figures_png) \
+ snmptrap.texi $(figures_txt)
.png.eps:
$(PNGTOEPS) $< "$@"
diff --git a/doc/babeld.texi b/doc/babeld.texi
new file mode 100644
index 00000000..1f24edd0
--- /dev/null
+++ b/doc/babeld.texi
@@ -0,0 +1,118 @@
+@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.
+
+@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
+invoked. 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 {Interface Command} {babel wired} {}
+@deffnx {Interface Command} {babel wireless} {}
+Specifies whether this interface is wireless, which disables a number
+of optimisations that are only correct on wired interfaces.
+Specifying @code{wireless} (the default) is always correct, but may
+cause slower convergence and extra routing traffic.
+@end deffn
+
+@deffn {Interface Command} {babel split-horizon}
+@deffnx {Interface Command} {no babel split-horizon}
+Specifies whether to perform split-horizon on the interface.
+Specifying @code{no babel split-horizon} (the default) is always
+correct, while @code{babel split-horizon} is an optimisation that
+should only be used on symmetric and transitive (wired) networks.
+@end deffn
+
+@deffn {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}.
+@end deffn
+
+@deffn {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}.
+@end deffn
+
+@deffn {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.
+@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 parameters} {}
+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 babel @var{kind}} {}
+@deffnx {Babel Command} {no debug babel @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}. Note that if you have
+compiled with the NO_DEBUG flag, then these commands aren't available.
+@end deffn
+
diff --git a/doc/basic.texi b/doc/basic.texi
index 77fceee1..b3b23ca9 100644
--- a/doc/basic.texi
+++ b/doc/basic.texi
@@ -46,14 +46,14 @@ starting.
Config files are generally found in:
-@itemize @asis
+@itemize @w{}
@item @file{@value{INSTALL_PREFIX_ETC}/*.conf}
@end itemize
Each of the daemons has its own
config file. For example, zebra's default config file name is:
-@itemize @asis
+@itemize @w{}
@item @file{@value{INSTALL_PREFIX_ETC}/zebra.conf}
@end itemize
diff --git a/doc/bgpd.texi b/doc/bgpd.texi
index e7463300..63834600 100644
--- a/doc/bgpd.texi
+++ b/doc/bgpd.texi
@@ -85,6 +85,7 @@ so @code{router-id} is set to 0.0.0.0. So please set router-id by hand.
@menu
* BGP distance::
* BGP decision process::
+* BGP route flap dampening::
@end menu
@node BGP distance
@@ -123,6 +124,27 @@ sequences should should be taken into account during the BGP best path
decision process.
@end deffn
+@node BGP route flap dampening
+@subsection BGP route flap dampening
+
+@deffn {BGP} {bgp dampening @var{<1-45>} @var{<1-20000>} @var{<1-20000>} @var{<1-255>}} {}
+This command enables BGP route-flap dampening and specifies dampening parameters.
+
+@table @asis
+@item @asis{half-life}
+Half-life time for the penalty
+@item @asis{reuse-threshold}
+Value to start reusing a route
+@item @asis{suppress-threshold}
+Value to start suppressing a route
+@item @asis{max-suppress}
+Maximum duration to suppress a stable route
+@end table
+
+The route-flap damping algorithm is compatible with @cite{RFC2439}. The use of this command
+is not recommended nowadays, see @uref{http://www.ripe.net/ripe/docs/ripe-378,,RIPE-378}.
+@end deffn
+
@node BGP network
@section BGP network
@@ -930,6 +952,14 @@ Clear peers which have addresses of X.X.X.X
Clear peer using soft reconfiguration.
@end deffn
+@deffn {Command} {show ip bgp dampened-paths} {}
+Display paths suppressed due to dampening
+@end deffn
+
+@deffn {Command} {show ip bgp flap-statistics} {}
+Display flap statistics of routes
+@end deffn
+
@deffn {Command} {show debug} {}
@end deffn
diff --git a/doc/ipv6.texi b/doc/ipv6.texi
index a78a92fe..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
@@ -62,23 +62,24 @@ Default: not set, i.e. hosts do not assume a complete IP address is placed.
@end itemize
@end deffn
-@deffn {Interface Command} {ipv6 nd ra-interval SECONDS} {}
-@deffnx {Interface Command} {no ipv6 nd ra-interval} {}
+@deffn {Interface Command} {ipv6 nd ra-interval <1-1800>} {}
+@deffnx {Interface Command} {no ipv6 nd ra-interval [<1-1800>]} {}
The maximum time allowed between sending unsolicited multicast router
-advertisements from the interface, in seconds. Must be no less than 3 seconds.
+advertisements from the interface, in seconds.
Default: @code{600}
@end deffn
-@deffn {Interface Command} {ipv6 nd ra-interval msec MILLISECONDS} {}
-@deffnx {Interface Command} {no ipv6 nd ra-interval msec} {}
+@deffn {Interface Command} {ipv6 nd ra-interval msec <70-1800000>} {}
+@deffnx {Interface Command} {no ipv6 nd ra-interval [msec <70-1800000>]} {}
The maximum time allowed between sending unsolicited multicast router
-advertisements from the interface, in milliseconds. Must be no less than 30 milliseconds.
+advertisements from the interface, in milliseconds.
Default: @code{600000}
@end deffn
-@deffn {Interface Command} {ipv6 nd ra-lifetime SECONDS} {}
-@deffnx {Interface Command} {no ipv6 nd ra-lifetime} {}
+
+@deffn {Interface Command} {ipv6 nd ra-lifetime <0-9000>} {}
+@deffnx {Interface Command} {no ipv6 nd ra-lifetime [<0-9000>]} {}
The value to be placed in the Router Lifetime field of router advertisements
sent from the interface, in seconds. Indicates the usefulness of the router
as a default router on this interface. Setting the value to zero indicates
@@ -89,12 +90,12 @@ Must be either zero or between value specified with @var{ipv6 nd ra-interval}
Default: @code{1800}
@end deffn
-@deffn {Interface Command} {ipv6 nd reachable-time MILLISECONDS} {}
-@deffnx {Interface Command} {no ipv6 nd reachable-time} {}
+@deffn {Interface Command} {ipv6 nd reachable-time <1-3600000>} {}
+@deffnx {Interface Command} {no ipv6 nd reachable-time [<1-3600000>]} {}
The value to be placed in the Reachable Time field in the Router Advertisement
messages sent by the router, in milliseconds. The configured time enables the
router to detect unavailable neighbors. The value zero means unspecified (by
-this router). Must be no greater than @code{3,600,000} milliseconds (1 hour).
+this router).
Default: @code{0}
@end deffn
@@ -126,18 +127,20 @@ the router acts as a Home Agent and includes a Home Agent Option.
Default: not set
@end deffn
-@deffn {Interface Command} {ipv6 nd home-agent-preference} {}
-@deffnx {Interface Command} {no ipv6 nd home-agent-preference} {}
+@deffn {Interface Command} {ipv6 nd home-agent-preference <0-65535>} {}
+@deffnx {Interface Command} {no ipv6 nd home-agent-preference [<0-65535>]} {}
The value to be placed in Home Agent Option, when Home Agent config flag is set,
-which indicates to hosts Home Agent preference.
+which indicates to hosts Home Agent preference. The default value of 0 stands
+for the lowest preference possible.
Default: 0
@end deffn
-@deffn {Interface Command} {ipv6 nd home-agent-lifetime} {}
-@deffnx {Interface Command} {no ipv6 nd home-agent-lifetime} {}
++@deffn {Interface Command} {ipv6 nd home-agent-lifetime <0-65520>} {}
++@deffnx {Interface Command} {no ipv6 nd home-agent-lifetime [<0-65520>]} {}
The value to be placed in Home Agent Option, when Home Agent config flag is set,
-which indicates to hosts Home Agent Lifetime. A value of 0 means to place Router Lifetime value.
+which indicates to hosts Home Agent Lifetime. The default value of 0 means to
+place the current Router Lifetime value.
Default: 0
@end deffn
@@ -151,12 +154,21 @@ Default: not set
@end deffn
@deffn {Interface Command} {ipv6 nd router-preference (high|medium|low)} {}
-@deffnx {Interface Command} {no ipv6 nd router-preference} {}
+@deffnx {Interface Command} {no ipv6 nd router-preference [(high|medium|low)]} {}
Set default router preference in IPv6 router advertisements per RFC4191.
Default: medium
@end deffn
+@deffn {Interface Command} {ipv6 nd mtu <1-65535>} {}
+@deffnx {Interface Command} {no ipv6 nd mtu [<1-65535>]} {}
+Include an MTU (type 5) option in each RA packet to assist the attached hosts
+in proper interface configuration. The announced value is not verified to be
+consistent with router interface MTU.
+
+Default: don't advertise any MTU option
+@end deffn
+
@example
@group
interface eth0
@@ -166,6 +178,6 @@ interface eth0
@end example
For more information see @cite{RFC2462 (IPv6 Stateless Address Autoconfiguration)}
-, @cite{RFC2461 (Neighbor Discovery for IP Version 6 (IPv6))}
-, @cite{RFC3775 (Mobility Support in IPv6 (Mobile IPv6))}
+, @cite{RFC4861 (Neighbor Discovery for IP Version 6 (IPv6))}
+, @cite{RFC6275 (Mobility Support in IPv6)}
and @cite{RFC4191 (Default Router Preferences and More-Specific Routes)}.
diff --git a/doc/mpls/.cvsignore b/doc/mpls/.cvsignore
deleted file mode 100644
index 1218df92..00000000
--- a/doc/mpls/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.arch-ids
-.arch-inventory
diff --git a/doc/ospfd.texi b/doc/ospfd.texi
index f879a986..856a2ba0 100644
--- a/doc/ospfd.texi
+++ b/doc/ospfd.texi
@@ -99,7 +99,7 @@ behaviors implemented in Cisco and IBM routers."
to section G.2 (changes) in section 16.4 a change to the path
preference algorithm that prevents possible routing loops that were
possible in the old version of OSPFv2. More specifically it demands
-that inter-area paths and intra-area path are now of equal preference
+that inter-area paths and intra-area backbone path are now of equal preference
but still both preferred to external paths.
This command should NOT be set normally.
@@ -568,10 +568,6 @@ redistributed into OSPF (@pxref{OSPF redistribute}).
@deffnx {OSPF Command} {no distance ospf} {}
@end deffn
-@deffn {Command} {router zebra} {}
-@deffnx {Command} {no router zebra} {}
-@end deffn
-
@node Showing OSPF information
@section Showing OSPF information
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
diff --git a/doc/ripd.texi b/doc/ripd.texi
index 197bc5af..c6f804af 100644
--- a/doc/ripd.texi
+++ b/doc/ripd.texi
@@ -424,10 +424,10 @@ must be different. Maybe it'd be better to made new matches - say
Match if route destination is permitted by access-list.
@end deffn
-@deffn {Route Map} {match ip next-hop A.B.C.D} {}
-Cisco uses here <access-list>, @command{ripd} IPv4 address. Match if
-route has this next-hop (meaning next-hop listed in the rip route
-table - "show ip rip")
+@deffn {Route Map} {match ip next-hop @var{word}} {}
+@deffnx {Route Map} {match ip next-hop prefix-list @var{word}} {}
+Match if route next-hop (meaning next-hop listed in the rip route-table
+as displayed by "show ip rip") is permitted by access-list.
@end deffn
@deffn {Route Map} {match metric <0-4294967295>} {}