diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2011-11-07 00:31:23 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2011-11-07 00:31:23 +0100 |
commit | a7f23f581f5e3efe92ec97dfca7d01c66f31ab04 (patch) | |
tree | 3a8f7cffb7abce83b7bce8be87d21be8a2fbff72 /doc | |
parent | 74add5df17c386bd109ebea7b1dac04d1651ae51 (diff) | |
download | bird-a7f23f581f5e3efe92ec97dfca7d01c66f31ab04.tar bird-a7f23f581f5e3efe92ec97dfca7d01c66f31ab04.zip |
Implements protocol templates.
Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bird.conf.example | 13 | ||||
-rw-r--r-- | doc/bird.sgml | 19 |
2 files changed, 28 insertions, 4 deletions
diff --git a/doc/bird.conf.example b/doc/bird.conf.example index 339898f..5e07ab5 100644 --- a/doc/bird.conf.example +++ b/doc/bird.conf.example @@ -202,3 +202,16 @@ protocol static { # reject; # }; #} +# +# Template usage example +#template bgp rr_client { +# disabled; +# local as 65000; +# multihop; +# rr client; +# rr cluster id 1.0.0.1; +#} +# +#protocol bgp rr_abcd from rr_client { +# neighbor 10.1.4.7 as 65000; +#} diff --git a/doc/bird.sgml b/doc/bird.sgml index d454629..7f53f02 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -296,10 +296,21 @@ protocol rip { <tag>function <m/name/ (<m/parameters/) <m/local variables/ { <m/commands/ }</tag> Define a function. You can learn more about functions in the following chapter. - <tag>protocol rip|ospf|bgp|... <m/[name]/ { <m>protocol options</m> }</tag> Define a protocol - instance called <cf><m/name/</cf> (or with a name like "rip5" generated automatically if you don't specify any <cf><m/name/</cf>). You can learn more - about configuring protocols in their own chapters. You can run more than one instance of - most protocols (like RIP or BGP). By default, no instances are configured. + <tag>protocol rip|ospf|bgp|... [<m/name/ [from <m/name2/]] { <m>protocol options</m> }</tag> + Define a protocol instance called <cf><m/name/</cf> (or with a name like "rip5" generated + automatically if you don't specify any <cf><m/name/</cf>). You can learn more about + configuring protocols in their own chapters. When <cf>from <m/name2/</cf> expression is + used, initial protocol options are taken from protocol or template <cf><m/name2/</cf> + You can run more than one instance of most protocols (like RIP or BGP). By default, no + instances are configured. + + <tag>template rip|bgp|... [<m/name/ [from <m/name2/]] { <m>protocol options</m> }</tag> + Define a protocol template instance called <cf><m/name/</cf> (or with a name like "bgp1" + generated automatically if you don't specify any <cf><m/name/</cf>). Protocol templates can + be used to group common options when many similarly configured protocol instances are to be + defined. Protocol instances (and other templates) can use templates by using <cf/from/ + expression and the name of the template. At the moment templates (and <cf/from/ expression) + are not implemented for OSPF protocol. <tag>define <m/constant/ = (<m/expression/)|<m/number/|<m/IP address/</tag> Define a constant. You can use it later in every place you could use a simple integer or an IP address. |