Some spellchecking, and use right tags for right things.
This commit is contained in:
parent
5e88d73025
commit
a0dd1c7433
1 changed files with 19 additions and 19 deletions
|
@ -41,7 +41,7 @@ License. Bird is designed to run on Unix and unix-like systems, it is primarily
|
||||||
|
|
||||||
<sect1>About this documentation
|
<sect1>About this documentation
|
||||||
|
|
||||||
<p>This documentation can have 4 forms: sgml (this is master copy), html, ascii text (generated from
|
<p>This documentation can have 4 forms: sgml (this is master copy), html, ASCII text (generated from
|
||||||
html) and dvi/postscript (generated from sgml using sgmltools). You should always edit master copy,
|
html) and dvi/postscript (generated from sgml using sgmltools). You should always edit master copy,
|
||||||
it is slightly modified linuxdoc dtd. Anything in <descrip> tags is considered definition of
|
it is slightly modified linuxdoc dtd. Anything in <descrip> tags is considered definition of
|
||||||
configuration primitives, <cf> is fragment of configuration within normal text, <m> is
|
configuration primitives, <cf> is fragment of configuration within normal text, <m> is
|
||||||
|
@ -52,8 +52,7 @@ configuration primitives, <cf> is fragment of configuration within normal
|
||||||
<p>Bird is configured using text configuration file. At startup, bird reads <file/bird.conf/
|
<p>Bird is configured using text configuration file. At startup, bird reads <file/bird.conf/
|
||||||
(unless -c command line parameter is given). Really simple configuration file might look like this:
|
(unless -c command line parameter is given). Really simple configuration file might look like this:
|
||||||
|
|
||||||
<cf><verb>
|
<code>
|
||||||
|
|
||||||
protocol kernel {
|
protocol kernel {
|
||||||
persist; # Don't remove routes on bird shutdown
|
persist; # Don't remove routes on bird shutdown
|
||||||
scan time 20; # Scan kernel routing table every 20 seconds
|
scan time 20; # Scan kernel routing table every 20 seconds
|
||||||
|
@ -68,7 +67,7 @@ protocol rip {
|
||||||
export all;
|
export all;
|
||||||
import all;
|
import all;
|
||||||
}
|
}
|
||||||
</verb></cf>
|
</code>
|
||||||
|
|
||||||
<p>Everything on a line after # is a comment, whitespace is
|
<p>Everything on a line after # is a comment, whitespace is
|
||||||
ignored. If there's variable number of options, it is grouped using {
|
ignored. If there's variable number of options, it is grouped using {
|
||||||
|
@ -78,7 +77,7 @@ ignored. If there's variable number of options, it is grouped using {
|
||||||
|
|
||||||
<sect2>Global options
|
<sect2>Global options
|
||||||
|
|
||||||
<descrip>
|
<p><descrip>
|
||||||
<tag>log "<m/filename/"|syslog|stderr all|{ debug, trace, info, remote, warning, error,
|
<tag>log "<m/filename/"|syslog|stderr all|{ debug, trace, info, remote, warning, error,
|
||||||
auth, fatal, bug }</tag> set logging of classes (either all or { error, trace } etc.) into
|
auth, fatal, bug }</tag> set logging of classes (either all or { error, trace } etc.) into
|
||||||
selected destination. You may specify more than one <cf/log/ line to log to multiple
|
selected destination. You may specify more than one <cf/log/ line to log to multiple
|
||||||
|
@ -106,7 +105,7 @@ ignored. If there's variable number of options, it is grouped using {
|
||||||
|
|
||||||
<sect2>Per-protocol options
|
<sect2>Per-protocol options
|
||||||
|
|
||||||
<descrip>
|
<p><descrip>
|
||||||
<tag>preference <m/expr/</tag> sets preference of this protocol.
|
<tag>preference <m/expr/</tag> sets preference of this protocol.
|
||||||
|
|
||||||
<tag>disabled</tag> disables given protocol.
|
<tag>disabled</tag> disables given protocol.
|
||||||
|
@ -153,12 +152,12 @@ no equivalent of while() or for() command, and recursive functions are not permi
|
||||||
<p>You can find sources of filters language in <file>filter/</file>
|
<p>You can find sources of filters language in <file>filter/</file>
|
||||||
directory. <file>filter/config.Y</file> contains filter grammar, and basically translates source from
|
directory. <file>filter/config.Y</file> contains filter grammar, and basically translates source from
|
||||||
user into tree of <cf>f_inst</cf> structures. These trees are later interpreted using code in
|
user into tree of <cf>f_inst</cf> structures. These trees are later interpreted using code in
|
||||||
<file>filter/filter.c</file>. Filters internally work with values/variables in <code>struct
|
<file>filter/filter.c</file>. Filters internally work with values/variables in <tt>struct
|
||||||
f_val</code>, which contains type of value and value.
|
f_val</tt>, which contains type of value and value.
|
||||||
|
|
||||||
<p>Filter basically looks like this:
|
<p>Filter basically looks like this:
|
||||||
|
|
||||||
<cf><verb>
|
<code>
|
||||||
filter not_too_far
|
filter not_too_far
|
||||||
int var;
|
int var;
|
||||||
{
|
{
|
||||||
|
@ -173,7 +172,7 @@ int var;
|
||||||
else
|
else
|
||||||
accept "ok";
|
accept "ok";
|
||||||
}
|
}
|
||||||
</verb></cf>
|
</code>
|
||||||
|
|
||||||
<p>As you can see, filter has a header, list of local variables, and body. Header consists of <cf/filter/ keyword, followed by (unique) name of filter. List of local variables consists of
|
<p>As you can see, filter has a header, list of local variables, and body. Header consists of <cf/filter/ keyword, followed by (unique) name of filter. List of local variables consists of
|
||||||
pairs <cf><M>type name</M>;</cf>, where each pair defines one local variable. Body consists of
|
pairs <cf><M>type name</M>;</cf>, where each pair defines one local variable. Body consists of
|
||||||
|
@ -224,7 +223,7 @@ booleans (that is to prevent you from shooting in the foot).
|
||||||
|
|
||||||
<tag/enum/
|
<tag/enum/
|
||||||
enumerational types are halfway-internal in the bird. You can not define your own
|
enumerational types are halfway-internal in the bird. You can not define your own
|
||||||
variable of enumerational type, but some pre-defined variables are of enumerational
|
variable of enumerational type, but some predefined variables are of enumerational
|
||||||
type. Enumerational types are incompatible with each other, again, its for your
|
type. Enumerational types are incompatible with each other, again, its for your
|
||||||
protection.
|
protection.
|
||||||
</descrip>
|
</descrip>
|
||||||
|
@ -242,7 +241,7 @@ is true if element is in given set or if ip address is inside given prefix.
|
||||||
over. Functions can have zero or more parameters, and can have local variables. Function basically
|
over. Functions can have zero or more parameters, and can have local variables. Function basically
|
||||||
looks like this:
|
looks like this:
|
||||||
|
|
||||||
<cf><verb>
|
<code>
|
||||||
function name ()
|
function name ()
|
||||||
int local_variable;
|
int local_variable;
|
||||||
{
|
{
|
||||||
|
@ -253,7 +252,7 @@ function with_parameters (int parameter)
|
||||||
{
|
{
|
||||||
print parameter;
|
print parameter;
|
||||||
}
|
}
|
||||||
</verb></cf>
|
</code>
|
||||||
|
|
||||||
<p>Unlike C, variables are declared after function line but before first {. You can not declare
|
<p>Unlike C, variables are declared after function line but before first {. You can not declare
|
||||||
variables in nested blocks. Functions are called like in C: <cf>name();
|
variables in nested blocks. Functions are called like in C: <cf>name();
|
||||||
|
@ -317,7 +316,7 @@ through multicast mode is possible. <cf>quiet</cf> option means that rip will no
|
||||||
periodic messages onto this interface and <cf>nolisten</cf> means that rip will talk to this
|
periodic messages onto this interface and <cf>nolisten</cf> means that rip will talk to this
|
||||||
interface but not listen on it.
|
interface but not listen on it.
|
||||||
|
|
||||||
<p>Following options generally override specified behaviour from rfc. If you use any of these
|
<p>Following options generally override specified behavior from rfc. If you use any of these
|
||||||
options, bird will no longer be rfc-compatible, which means it will not be able to talk to anything
|
options, bird will no longer be rfc-compatible, which means it will not be able to talk to anything
|
||||||
other than equally (mis-)configured bird. I warned you.
|
other than equally (mis-)configured bird. I warned you.
|
||||||
|
|
||||||
|
@ -344,8 +343,7 @@ other than equally (mis-)configured bird. I warned you.
|
||||||
<p>In addition, rip defines two filter variables, both of type it. <cf>rip_metric</cf> is rip
|
<p>In addition, rip defines two filter variables, both of type it. <cf>rip_metric</cf> is rip
|
||||||
metric of current route, <cf>rip_tag</cf> is tag of current route.
|
metric of current route, <cf>rip_tag</cf> is tag of current route.
|
||||||
|
|
||||||
<cf><verb>
|
<code>
|
||||||
|
|
||||||
protocol rip MyRIP_test {
|
protocol rip MyRIP_test {
|
||||||
debug all;
|
debug all;
|
||||||
port 1520;
|
port 1520;
|
||||||
|
@ -360,8 +358,10 @@ protocol rip MyRIP_test {
|
||||||
import filter { print "importing"; accept; };
|
import filter { print "importing"; accept; };
|
||||||
export filter { print "exporting"; accept; };
|
export filter { print "exporting"; accept; };
|
||||||
}
|
}
|
||||||
</verb></cf>
|
</code>
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
# LocalWords: IPv4 IPv6 doctype verb
|
<!--
|
||||||
|
# LocalWords: IPv doctype verb GPL Cisco sgml html Cisco's unix dvi sgmltools linuxdoc dtd descrip config conf syslog stderr auth ospf bgp router's IP expr num inst bool int ip px len enum cf md rfc doc
|
||||||
|
-->
|
Loading…
Reference in a new issue