Commit 36032ded authored by Pavel Machek's avatar Pavel Machek

Added section about client.

parent 3e864556
...@@ -89,11 +89,6 @@ o Napsat neco o tom, jak filtry debugovat -- ze existuje trasovani filtru ...@@ -89,11 +89,6 @@ o Napsat neco o tom, jak filtry debugovat -- ze existuje trasovani filtru
o `filters internally work ...' patri do progdoc. o `filters internally work ...' patri do progdoc.
o Vysvetlit nesting a zastinovani. o Vysvetlit nesting a zastinovani.
o Nadefinovat, co se stane, kdyz funkce nevrati hodnotu, i kdyz ma. o Nadefinovat, co se stane, kdyz funkce nevrati hodnotu, i kdyz ma.
o Typy: tez rici, ze integery se lisi nejen od booleanu, ale take od enumu.
o Boolean: TRUE nebo true? U kazdeho typu zminit, jak vypadaji literaly
tohoto typu a psat je vzdycky tt fontem.
o int: Nadefinovat rozsah a rici, ze preteceni se nekontroluje. Zminit
hexadecimalni konstanty.
o ip: IPv4/IPv6 nezavisi na verzi BIRDa, nybrz na compile-time konfiguraci. o ip: IPv4/IPv6 nezavisi na verzi BIRDa, nybrz na compile-time konfiguraci.
o ip: .mask zminit zvlast mezi specialnimi operatory. o ip: .mask zminit zvlast mezi specialnimi operatory.
o set: lepe vysvetlit matchovani prefixu, ukazat na prikladu. o set: lepe vysvetlit matchovani prefixu, ukazat na prikladu.
...@@ -102,11 +97,6 @@ o bgpmask: vysvetlit matchovani. ...@@ -102,11 +97,6 @@ o bgpmask: vysvetlit matchovani.
o operations: prejmenovat na `operators', mela by to asi byt tabulka o operations: prejmenovat na `operators', mela by to asi byt tabulka
operatoru, u kazdeho receno, na jakych typech je definovan a jakeho operatoru, u kazdeho receno, na jakych typech je definovan a jakeho
typu je vysledek. typu je vysledek.
o operations: ~ pracuje i na clistech, neni-liz pravda?
o Examply by mohly byt krapet smysluplnejsi.
o defined(): To, ze undefined attribute cannot be accessed, by melo byt
rozhodne receno nekde jinde (v uvodu sekce) -- vzdyt u defined samotneho
to mozne je.
o attributes: nemyslim, ze jsou vsechny -- co treba scope a preference? o attributes: nemyslim, ze jsou vsechny -- co treba scope a preference?
o print: a coz takhle printn apod.? o print: a coz takhle printn apod.?
o Mezi prikazy nikde neni zminen napriklad accept a reject. o Mezi prikazy nikde neni zminen napriklad accept a reject.
......
...@@ -106,6 +106,8 @@ configuration primitives, <cf> is fragment of configuration within normal ...@@ -106,6 +106,8 @@ configuration primitives, <cf> is fragment of configuration within normal
vi /usr/local/etc/bird.conf vi /usr/local/etc/bird.conf
</code> </code>
<p>You can use <tt>./configure --help</tt> to get list of configure options.
<sect1>About routing tables <sect1>About routing tables
<p>Bird has one or more routing tables. Each routing table contains <p>Bird has one or more routing tables. Each routing table contains
...@@ -231,6 +233,18 @@ protocol rip { ...@@ -231,6 +233,18 @@ protocol rip {
</descrip> </descrip>
<sect1>Client
<p>You can use command-line client <file>birdc</file> to talk with
running BIRD. Communications is done using <file/bird.ctl/ unix domain
socket (unless changed with <tt/-s/ option given to both server and
client). Client can do simple actions such as enabling/disabling
protocols, telling BIRD to show various information, telling it to
show routing table filtered by any filter, or telling bird to
reconfigure. Press <tt/?/ at any time to get online help. Option
<tt/-v/ can be passed to client, telling it to dump numeric return
codes.
<sect>Filters <sect>Filters
<sect1>Introduction <sect1>Introduction
...@@ -306,7 +320,7 @@ is rejected. ...@@ -306,7 +320,7 @@ is rejected.
<sect1>Data types <sect1>Data types
<p>Each variable and each value has certain type. Unlike C, filters distinguish between integers and <p>Each variable and each value has certain type. Unlike C, filters distinguish between integers and
booleans (that is to prevent you from shooting in the foot). booleans and between integers and enums (that is to prevent you from shooting in the foot).
<descrip> <descrip>
<tag/bool/ this is boolean type, it can have only two values, <cf/TRUE/ and <tag/bool/ this is boolean type, it can have only two values, <cf/TRUE/ and
...@@ -314,7 +328,7 @@ booleans (that is to prevent you from shooting in the foot). ...@@ -314,7 +328,7 @@ booleans (that is to prevent you from shooting in the foot).
statements. statements.
<tag/int/ this is common integer, you can expect it to store signed values from -2000000000 <tag/int/ this is common integer, you can expect it to store signed values from -2000000000
to +2000000000. to +2000000000. Overflows are not checked.
<tag/pair/ this is pair of two short integers. Each component can have values from 0 to <tag/pair/ this is pair of two short integers. Each component can have values from 0 to
65535. Constant of this type is written as <cf/(1234,5678)/. 65535. Constant of this type is written as <cf/(1234,5678)/.
...@@ -406,12 +420,13 @@ if 1234 = i then printn "."; else { print "*** FAIL: if 1 else"; } ...@@ -406,12 +420,13 @@ if 1234 = i then printn "."; else { print "*** FAIL: if 1 else"; }
<sect1>Route attributes <sect1>Route attributes
<p>Filter is implicitly passed route, and it can access its attributes, just like it accesses variables. <p>Filter is implicitly passed route, and it can access its
attributes, just like it accesses variables. Access to undefined
attribute results in runtime error; you can check if attribute is
defined using <cf>defined( <m>attribute</m> )</cf> syntax.
<descrip>
<tag>defined( <m>attribute</m> )</tag>
returns TRUE if given attribute is defined. Access to undefined attribute results in runtime error.
<descrip>
<tag/<m/prefix/ network/ <tag/<m/prefix/ network/
network this route is talking about. network this route is talking about.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment