On 13.5.2013 09:19, Aleksey Chudov wrote:
Hi Ondrej,
Sorry for bothering. Have you tried to fix a bug in the split-horizon?
Well I have rewritten the RIP protocol. However it is not tested so I did not put it into 1.3.10. But if you have some testing capacity, please test git branch RIP. But precisely this issue has not been fixed yet. But I plan to work on it. Ondrej
Aleksey
On 26.02.2013 0:43, Ondrej Filip wrote:
I understand your point. It's a non-trivial change in the current RIP code. I will look at it, but it may take some time.
Ondrej
On 24.2.2013 18:43, Aleksey Chudov wrote:
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