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

Reply via email to