1: @c -*-texinfo-*-
2: @c This is part of the Quagga Manual.
3: @c @value{COPYRIGHT_STR}
4: @c See file quagga.texi for copying conditions.
5: @node Babel
6: @chapter Babel
7:
8: Babel is an interior gateway protocol that is suitable both for wired
9: networks and for wireless mesh networks. Babel has been described as
10: ``RIP on speed'' --- it is based on the same principles as RIP, but
11: includes a number of refinements that make it react much faster to
12: topology changes without ever counting to infinity, and allow it to
13: perform reliable link quality estimation on wireless links. Babel is
14: a double-stack routing protocol, meaning that a single Babel instance
15: is able to perform routing for both IPv4 and IPv6.
16:
17: Quagga implements Babel as described in RFC6126.
18:
19: @menu
20: * Configuring babeld::
21: * Babel configuration::
22: * Babel redistribution::
23: * Show Babel information::
24: * Babel debugging commands::
25: @end menu
26:
27: @node Configuring babeld, Babel configuration, Babel, Babel
28: @section Configuring babeld
29:
30: The @command{babeld} daemon can be invoked with any of the common
31: options (@pxref{Common Invocation Options}).
32:
33: The @command{zebra} daemon must be running before @command{babeld} is
34: invoked. Also, if @command{zebra} is restarted then @command{babeld}
35: must be too.
36:
37: Configuration of @command{babeld} is done in its configuration file
38: @file{babeld.conf}.
39:
40: @node Babel configuration, Babel redistribution, Configuring babeld, Babel
41: @section Babel configuration
42:
43: @deffn Command {router babel} {}
44: @deffnx Command {no router babel} {}
45: Enable or disable Babel routing.
46: @end deffn
47:
48: @deffn {Babel Command} {network @var{ifname}} {}
49: @deffnx {Babel Command} {no network @var{ifname}} {}
50: Enable or disable Babel on the given interface.
51: @end deffn
52:
53: @deffn {Interface Command} {babel wired} {}
54: @deffnx {Interface Command} {babel wireless} {}
55: Specifies whether this interface is wireless, which disables a number
56: of optimisations that are only correct on wired interfaces.
57: Specifying @code{wireless} (the default) is always correct, but may
58: cause slower convergence and extra routing traffic.
59: @end deffn
60:
61: @deffn {Interface Command} {babel split-horizon}
62: @deffnx {Interface Command} {no babel split-horizon}
63: Specifies whether to perform split-horizon on the interface.
64: Specifying @code{no babel split-horizon} (the default) is always
65: correct, while @code{babel split-horizon} is an optimisation that
66: should only be used on symmetric and transitive (wired) networks.
67: @end deffn
68:
69: @deffn {Interface Command} {babel hello-interval <20-655340>}
70: Specifies the time in milliseconds between two scheduled hellos. On
71: wired links, Babel notices a link failure within two hello intervals;
72: on wireless links, the link quality value is reestimated at every
73: hello interval. The default is 4000@dmn{ms}.
74: @end deffn
75:
76: @deffn {Interface Command} {babel update-interval <20-655340>}
77: Specifies the time in milliseconds between two scheduled updates.
78: Since Babel makes extensive use of triggered updates, this can be set
79: to fairly high values on links with little packet loss. The default
80: is 20000@dmn{ms}.
81: @end deffn
82:
83: @deffn {Babel Command} {babel resend-delay <20-655340>}
84: Specifies the time in milliseconds after which an ``important''
85: request or update will be resent. The default is 2000@dmn{ms}. You
86: probably don't want to tweak this value.
87: @end deffn
88:
89: @node Babel redistribution, Show Babel information, Babel configuration, Babel
90: @section Babel redistribution
91:
92: @deffn {Babel command} {redistribute @var{kind}}
93: @deffnx {Babel command} {no redistribute @var{kind}}
94: Specify which kind of routes should be redistributed into Babel.
95: @end deffn
96:
97: @node Show Babel information, Babel debugging commands, Babel redistribution, Babel
98: @section Show Babel information
99:
100: @deffn {Command} {show babel database} {}
101: @deffnx {Command} {show babel interface} {}
102: @deffnx {Command} {show babel neighbour} {}
103: @deffnx {Command} {show babel parameters} {}
104: These commands dump various parts of @command{babeld}'s internal
105: state. They are mostly useful for troubleshooting.
106: @end deffn
107:
108: @node Babel debugging commands, , Show Babel information, Babel
109: @section Babel debugging commands
110:
111: @deffn {Babel Command} {debug babel @var{kind}} {}
112: @deffnx {Babel Command} {no debug babel @var{kind}} {}
113: Enable or disable debugging messages of a given kind. @var{kind} can
114: be one of @samp{common}, @samp{kernel}, @samp{filter}, @samp{timeout},
115: @samp{interface}, @samp{route} or @samp{all}. Note that if you have
116: compiled with the NO_DEBUG flag, then these commands aren't available.
117: @end deffn
118:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>