summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2020-05-18 22:16:37 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2020-05-19 02:42:22 +0200
commitb729e731f99aa6ece085597091618ed559a9f656 (patch)
treeec8b0d22bc93003c5d38d9b70628f164f107f697
parentec430a7feefd3b32ee39c641a48c44528d0eab25 (diff)
RIP: Triggered RIP (demand circuit) documentation
-rw-r--r--doc/bird.sgml14
-rw-r--r--proto/rip/rip.c9
2 files changed, 18 insertions, 5 deletions
diff --git a/doc/bird.sgml b/doc/bird.sgml
index 786f124b..33f6418f 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -4443,7 +4443,8 @@ you can't use RIP on networks where maximal distance is higher than 15
hosts.
<p>BIRD supports RIPv1 (<rfc id="1058">), RIPv2 (<rfc id="2453">), RIPng (<rfc
-id="2080">), and RIP cryptographic authentication (<rfc id="4822">).
+id="2080">), Triggered RIP for demand circuits (<rfc id="2091">), and RIP
+cryptographic authentication (<rfc id="4822">).
<p>RIP is a very simple protocol, and it has a lot of shortcomings. Slow
convergence, big network load and inability to handle larger networks makes it
@@ -4473,6 +4474,7 @@ protocol rip [ng] [&lt;name&gt;] {
version 1|2;
split horizon &lt;switch&gt;;
poison reverse &lt;switch&gt;;
+ demand circuit &lt;switch&gt;;
check zero &lt;switch&gt;;
update time &lt;number&gt;;
timeout time &lt;number&gt;;
@@ -4577,6 +4579,16 @@ protocol rip [ng] [&lt;name&gt;] {
used. The poisoned reverse has some advantages in faster convergence,
but uses more network traffic. Default: yes.
+ <tag><label id="rip-iface-demand-circuit">demand circuit <m/switch/</tag>
+ Regular RIP sends periodic full updates on an interface. There is the
+ Triggered RIP extension for demand circuits (<rfc id="2091">), which
+ removes periodic updates and introduces update acknowledgments. When
+ enabled, there is no RIP communication in steady-state network. Note
+ that in order to work, it must be enabled on both sides. As there are
+ no hello packets, it depends on hardware link state to detect neighbor
+ failures. Also, it is designed for PtP links and it does not work
+ properly with multiple RIP neighbors on an interface. Default: no.
+
<tag><label id="rip-iface-check-zero">check zero <m/switch/</tag>
Received RIPv1 packets with non-zero values in reserved fields should
be discarded. This option specifies whether the check is performed or
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index d18ff5ad..f3dc6353 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -69,10 +69,11 @@
* structure is finally freed.
*
* Supported standards:
- * - RFC 1058 - RIPv1
- * - RFC 2453 - RIPv2
- * - RFC 2080 - RIPng
- * - RFC 4822 - RIP cryptographic authentication
+ * RFC 1058 - RIPv1
+ * RFC 2453 - RIPv2
+ * RFC 2080 - RIPng
+ * RFC 2091 - Triggered RIP for demand circuits
+ * RFC 4822 - RIP cryptographic authentication
*/
#include <stdlib.h>