Bird RIP does not send some packages

Ondrej Filip feela at network.cz
Mon May 13 10:03:49 CEST 2013


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




More information about the Bird-users mailing list