Bird RIP does not send some packages

Aleksey Chudov aleksey.chudov at gmail.com
Sun Feb 24 18:43:41 CET 2013


On 24.02.2013 1:46, Ondrej Filip wrote:
> I modified the RIP implementation and this should work now. Please 
> test the latest source code in BIRD git repository and let me know.

Hi Ondrej,

I tested new version. RIP can now send updates every second. Thank you 
very much!

During the test, I found a bug in the split-horizon. Consider the 
following example.

I have a server connected to two different ScreenOS SSG devices through 
GRE-over-IPsec VPN tunnel. Both SSG devices connected to the same AS.

               |-- GW1 --|
Server --|                |-- AS (192.168.0.0/16)
               |-- GW2 --|

So, server receives the same routes from two devices.

Server GRE interfaces

18: gre1: <POINTOPOINT,NOARP,UP,10000> mtu 1476 qdisc noqueue
     link/gre 10.64.20.2 peer 10.64.20.1
     inet 10.64.16.2/30 brd 10.64.16.3 scope global gre1
19: gre2: <POINTOPOINT,NOARP,UP,10000> mtu 1476 qdisc noqueue
     link/gre 10.64.20.6 peer 10.64.20.5
     inet 10.64.16.6/30 brd 10.64.16.7 scope global gre2

Server route to AS

192.168.0.0/16 via 10.64.16.1 dev gre1  proto bird

tcpdump from server

17:59:15.509971 IP (tos 0x0, ttl   1, id 480, offset 0, flags [none], 
proto: UDP (17), length: 192) 10.64.16.1.520 > 224.0.0.9.520:
         RIPv2, Response, length: 164, routes: 8
           AFI: IPv4:     192.168.0.0/16, tag 0x0000, metric: 10, 
next-hop: self
           AFI: IPv4:       10.64.0.0/16, tag 0x0000, metric: 2, 
next-hop: self
17:59:16.781180 IP (tos 0x0, ttl   1, id 16871, offset 0, flags [none], 
proto: UDP (17), length: 192) 10.64.16.5.520 > 224.0.0.9.520:
         RIPv2, Response, length: 164, routes: 8
           AFI: IPv4:    192.168.40.0/21, tag 0x0000, metric: 10, 
next-hop: self
           AFI: IPv4:       10.64.0.0/16, tag 0x0000, metric:  2, 
next-hop: self
17:59:16.781349 IP (tos 0xc0, ttl   1, id 65146, offset 0, flags [none], 
proto: UDP (17), length: 212) 10.64.16.2.520 > 224.0.0.9.520:
         RIPv2, Response, length: 184, routes: 9
           AFI: IPv4:       10.64.0.0/16, tag 0x0000, metric: 16, 
next-hop: 10.64.16.1
           AFI: IPv4:     192.168.0.0/16, tag 0x0000, metric: 16, 
next-hop: 10.64.16.1
17:59:16.781398 IP (tos 0xc0, ttl   1, id 65147, offset 0, flags [none], 
proto: UDP (17), length: 212) 10.64.16.6.520 > 224.0.0.9.520:
         RIPv2, Response, length: 184, routes: 9
           AFI: IPv4:       10.64.0.0/16, tag 0x0000, metric: 3, 
next-hop: self
           AFI: IPv4:     192.168.0.0/21, tag 0x0000, metric: 11, 
next-hop: self


As you can see Bird uses split-horizon only for one neighbor, through 
which currently active route.

Aleksey



More information about the Bird-users mailing list