RIPng
Ladislav Lhotka
lhotka at cesnet.cz
Wed Apr 20 10:40:20 CEST 2005
Hi all,
I've been testing BIRD's RIPng and found a number of problems:
Two of them are trivial: RIPng port is 521 and not 520, and the only
version defined so far is 1. The patch below solves these two.
Now the following two problems are more serious and affect also the IPv4
RIP implementation:
1. RIP should automatically advertise all connected networks to its
neighbours (modulo split horizon). BIRD's RIP advertises only the routes
found in the main BIRD routing table - and the "connected" routes are
not there even though the kernel protocol is configured to "import all".
2. The updates should be sent every 30 seconds, and indeed this is what
seems to be set in rip.c. Without changing this default, I see the
updates coming in irregular intervals around 50 seconds (see below).
No. Time Source Destination Protocol Info
1 0.000000 2001:718:1a02:7::1 ff02::9 RIPng version 1 Response
2 50.991634 2001:718:1a02:7::1 ff02::9 RIPng version 1 Response
3 101.983225 2001:718:1a02:7::1 ff02::9 RIPng version 1 Response
4 153.974728 2001:718:1a02:7::1 ff02::9 RIPng version 1 Response
5 198.967385 2001:718:1a02:7::1 ff02::9 RIPng version 1 Response
Cheers, Lada
===============================PATCH====================================
diff -uNr bird-1.0.11.orig/proto/rip/rip.c bird-1.0.11/proto/rip/rip.c
--- bird-1.0.11.orig/proto/rip/rip.c 2004-07-15 19:28:13.000000000 +0200
+++ bird-1.0.11/proto/rip/rip.c 2005-04-20 09:56:54.484233854 +0200
@@ -146,7 +146,11 @@
DBG( "Preparing packet to send: " );
packet->heading.command = RIPCMD_RESPONSE;
+#ifndef IPV6
packet->heading.version = RIP_V2;
+#else
+ packet->heading.version = RIP_V1;
+#endif
packet->heading.unused = 0;
i = !!P_CF->authtype;
@@ -963,7 +967,11 @@
init_list(&c->iface_list);
c->c.preference = DEF_PREF_RIP;
c->infinity = 16;
+#ifndef IPV6
c->port = 520;
+#else
+ c->port = 521;
+#endif
c->period = 30;
c->garbage_time = 120+180;
c->timeout_time = 120;
--
Ladislav Lhotka, CESNET
More information about the Bird-users
mailing list