Bird RIP does not send some packages

Ondrej Filip feela at network.cz
Mon Feb 25 23:43:01 CET 2013


On 24.2.2013 18:43, Aleksey Chudov wrote:
> 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!

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


> 
> 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