summaryrefslogtreecommitdiffstats
path: root/doc/bird.sgml
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-10-12 23:31:42 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2009-10-12 23:31:42 +0200
commit4cdd078453d585ac97a183ea1f3951d85f1b8784 (patch)
tree0379c01489f48ac7686d9c1cfdb139add00f6c05 /doc/bird.sgml
parent52b9b2a1786140c38af03de570b0cc96c835c1d3 (diff)
downloadbird-4cdd078453d585ac97a183ea1f3951d85f1b8784.tar
bird-4cdd078453d585ac97a183ea1f3951d85f1b8784.zip
Implements protocol-specific router id and updates documentation.
Diffstat (limited to 'doc/bird.sgml')
-rw-r--r--doc/bird.sgml31
1 files changed, 30 insertions, 1 deletions
diff --git a/doc/bird.sgml b/doc/bird.sgml
index ceff31d..0c2b8fb 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -297,6 +297,10 @@ to zero to disable it. An empty <cf><m/switch/</cf> is equivalent to <cf/on/
<cf/events/ for events internal to the protocol and
<cf/packets/ for packets sent and received by the protocol. Default: off.
+ <tag>router id <m/IPv4 address/</tag> This option can be used to override global
+ router id for a given protocol. This option is not yet implemented for OSPF
+ protocol. Default: uses global router id.
+
<tag>import all | none | filter <m/name/ | filter { <m/filter commands/ } | where <m/filter expression/</tag>
Specify a filter to be used for filtering routes coming from the protocol to the routing table. <cf/all/ is shorthand for <cf/where true/ and <cf/none/ is shorthand for <cf/where false/. Default: <cf/all/.
@@ -479,7 +483,7 @@ This argument can be omitted if there exists only a single instance.
switch itself to the new configuration, protocols are
reconfigured if possible, restarted otherwise. Changes in
filters usualy lead to restart of affected protocols. If
- <cf/soft> option is used, changes in filters does not cause
+ <cf/soft/ option is used, changes in filters does not cause
BIRD to restart affected protocols, therefore already accepted
routes (according to old filters) would be still propagated,
but new routes would be processed according to the new
@@ -649,6 +653,21 @@ incompatible with each other (that is to prevent you from shooting in the foot).
<tag/bgppath/
BGP path is a list of autonomous system numbers. You can't write literals of this type.
+ There are several special operators on bgppaths:
+
+ <cf><m/P/.first</cf> returns the first ASN (the neighbor ASN) in path <m/P/.
+
+ <cf><m/P/.last</cf> returns the last ASN (the source ASN) in path <m/P/.
+
+ Both <cf/first/ and <cf/last/ return zero if there is no appropriate ASN,
+ for example if the path contains an AS set element as the first (or the last) part.
+
+ <cf><m/P/.len</cf> returns the length of path <m/P/.
+
+ <cf>prepend(<m/P/,<m/A/)</cf> prepends ASN <m/A/ to path <m/P/ and returns the result.
+ Statement <cf><m/P/ = prepend(<m/P/, <m/A/);</cf> can be shortened to
+ <cf><m/P/.prepend(<m/A/);</cf> if <m/P/ is appropriate route attribute
+ (for example <cf/bgp_path/).
<tag/bgpmask/
BGP masks are patterns used for BGP path matching
@@ -662,10 +681,20 @@ incompatible with each other (that is to prevent you from shooting in the foot).
BGP mask expressions can also contain integer expressions enclosed in parenthesis
and integer variables, for example <tt>[= * 4 (1+2) a =]</tt>.
There is also old syntax that uses / .. / instead of [= .. =] and ? instead of *.
+
<tag/clist/
Community list is similar to set of pairs,
except that unlike other sets, it can be modified.
There exist no literals of this type.
+ There are two special operators on clists:
+
+ <cf>add(<m/C/,<m/P/)</cf> adds pair <m/P/ to clist <m/C/ and returns the result.
+
+ <cf>delete(<m/C/,<m/P/)</cf> deletes pair <m/P/ from clist <m/C/ and returns the result.
+
+ Statement <cf><m/C/ = add(<m/C/, <m/P/);</cf> can be shortened to
+ <cf><m/C/.add(<m/P/);</cf> if <m/C/ is appropriate route attribute
+ (for example <cf/bgp_community/). Similarly for <cf/delete/.
</descrip>