summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2011-11-07 00:31:23 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2011-11-07 00:31:23 +0100
commita7f23f581f5e3efe92ec97dfca7d01c66f31ab04 (patch)
tree3a8f7cffb7abce83b7bce8be87d21be8a2fbff72 /doc
parent74add5df17c386bd109ebea7b1dac04d1651ae51 (diff)
downloadbird-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.example13
-rw-r--r--doc/bird.sgml19
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.