RIP not doing "triggered update" following route deletion

Tore Anderson tore at fud.no
Fri Feb 21 10:11:36 CET 2014


* Ondrej Filip

> unfortunately, the current RIP code is broken. I tried to fix this in
> git branch rip, but hasn't been merged into master yes. But if you
> have some capacity to test this branch, it would be very helpful.

Hi Ondrej,

I'll be happy to help out testing this branch. Here's my initial
observations:

1) Routes that are removed from the routing table do get advertised with
metric infinity (16), and this update gets retransmitted five times. Great!

2) RIP seems to only be sending updates only at regular tick intervals
(every 30 seconds). This means that there is a delay after
adding/removing an address of up to 30 seconds before the neighbours get
informed of the change. BIRD 1.4.0 fares better (for additions).

FWIW, here are the timestaps of when I added/removed addresses and when
BIRD passed that information along. I confirmed that the
additions/removals showed up in "birdc[6] show route" pretty much
instantly, so it's the RIP protocol that's laggy:

09:45:11         - ip address add 192.0.2.1/32
09:45:22 (+11s)  - RIP announcement going out

09:46:23         - ip address add 2001:db8::1/128
09:46:51 (+28s)  - RIP announcement going out

09:47:45         - ip address del 192.0.2.1/32
09:47:53 (+8s)   - RIP announcement going out

09:48:24         - ip address del 2001:db8::1/128
09:48:51 (+27s)  - RIP announcement going out

3) RIPng appears to be advertising some bogus routes (but only when it's
also advertising a sane route), as seen here:

09:47:21.635383 IP6 fe80::225:b5ff:fe00:ce.ripng > ff02::9.ripng:  ripng-resp 3: ffff:3:2c:114:9912:753::/0 2001:db8::1/128 (1) ffff:1:c917:28a0:b99c:3132:fd5d:283b/96 [48667] (166)
09:47:51.906476 IP6 fe80::225:b5ff:fe00:ce.ripng > ff02::9.ripng:  ripng-resp 3: ffff:3:2c:114:b812:753::/0 2001:db8::1/128 (1) ffff:1:917e:57b1:6814:f716:c44b:a652/187 [57261] (210)

The PCAP and config files are attached.

Tore
-------------- next part --------------
# BIRD IPv4 configuration file
# This file is handled by puppet, local changes will be lost.
#
# $Id: bird.conf.erb 93267 2014-02-18 12:42:14Z tore $
# 

log syslog { info, remote, warning, error, auth, fatal };
router id 0.0.0.1;

protocol device {
	primary "lo" 127.0.0.1;
}
protocol direct {}

protocol rip {
  interface "eth0" {
    mode nolisten;
  };
  authentication md5;
  password "snip";
  import none;
  export filter {
   if net ~ 192.0.2.0/24 then accept;
   reject;
 };
}
-------------- next part --------------
# BIRD IPv6 configuration file
# This file is handled by puppet, local changes will be lost.
#
# $Id: bird6.conf.erb 93267 2014-02-18 12:42:14Z tore $
# 

log syslog { info, remote, warning, error, auth, fatal };
router id 0.0.0.1;

protocol device {
	primary "lo" ::1;
}
protocol direct {}

protocol rip {
  interface "eth0" {
    mode nolisten;
  };
  authentication md5;
  password "snip";
  import none;
  export filter {
   if net ~ 2001:db8::/64 then accept;
   reject;
 };
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rip.pcap
Type: application/vnd.tcpdump.pcap
Size: 2786 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20140221/b9fd9a43/attachment-0001.pcap>


More information about the Bird-users mailing list