Added Kernel protocol documentation.

This commit is contained in:
Martin Mares 2000-05-29 13:13:58 +00:00
parent d9d41c6042
commit 0e4789c2c3

View file

@ -516,6 +516,63 @@ protocol direct {
<sect1>Kernel <sect1>Kernel
<p>The Kernel protocol is not a real routing protocol. Instead of communicating
with other routers in the network, it performs synchronization of BIRD's routing
tables with OS kernel. Basically, it sends all routing table updates to the kernel
and from time to time it scans the kernel tables to see whether some routes have
disappeared (for example due to unnoticed up/down transition of an interface)
or whether an `alien' route has been added by someone else.
<p>If your OS supports only a single routing table, you can configure only one
instance of the Kernel protocol. If it supports multiple tables (in order to
allow policy routing), you can run as many instances as you want, but each of
them must be connected to a different BIRD routing table and to a different
kernel table.
<sect2>Configuration
<p><descrip>
<tag>persist <m/switch/</tag> Tell BIRD to leave all its routes in the
routing tables when it exits instead of cleaning them up.
<tag>scan time <m/number/</tag> Time in seconds between two scans of the
kernel routing table.
<tag>learn <m/switch/</tag> Enable learning of routes added to the kernel
routing tables by other routing daemons or by the system administrator.
This is possible only on systems which support identification of route
authorship.
<tag>kernel table <m/number/</tag> Select which kernel table should
this particular instance of the Kernel protocol work with. Available
only on systems supporting multiple routing tables.
</descrip>
<p>A default simple configuration can look this way:
<p><code>
protocol kernel {
import all;
export all;
}
</code>
<p>Or for a system with two routing tables:
<p><code>
protocol kernel { # Primary routing table
learn; # Learn alien routes from the kernel
persist; # Don't remove routes on bird shutdown
scan time 10; # Scan kernel routing table every 10 seconds
import all;
export all;
}
protocol kernel { # Secondary routing table
table auxtable;
kernel table 100;
export all;
</code>
<p>The Kernel protocol doesn't define any route attributes.
<sect1>OSPF <sect1>OSPF
<sect1>Pipe <sect1>Pipe
@ -622,7 +679,7 @@ protocol rip MyRIP_test {
<sect1>Static <sect1>Static
<p>The static protocol doesn't communicate with other routers in the network, <p>The Static protocol doesn't communicate with other routers in the network,
but instead it allows you to define routes manually which is often used for but instead it allows you to define routes manually which is often used for
specifying how to forward packets to parts of the network which don't use specifying how to forward packets to parts of the network which don't use
dynamic routing at all and also for defining sink routes (i.e., those dynamic routing at all and also for defining sink routes (i.e., those