bird OSPFv2 exstart & router-id change

Ondrej Filip feela at network.cz
Fri Sep 13 18:53:58 CEST 2013


On 13.9.2013 18:19, Alexander V. Chernikov wrote:
> Hello list!
> 

Than you, Alex!
Good catch. I will submit the patch.

	Ondrej


> There is a "bug" in hello validation code causing neighbor to stuck in
> "exstart" state forever in case of router id change.
> 
> RFC 2328 tells us to rely on neighbor source address for
> Broadcast/PtMP/MBMA links (10.5).
> No special checks are required for the router id (the same, 10.5).
> 
> So, the problem can easily be repeated with 2 bird instances:
> 
> B1 (rtr-id 1.2.3.22)
> B2 (rtr-id 1.2.3.20)
> 
> Configure OSPFv2 on some shared medium, wait until they become
> adjacent (actually, FULL)
> 
> Change B2 rtr-id to 1.2.3.200 and perform re-configure.
> 
> Bird then (like any other good implementation) will send new hello
> without any neighbors in it,
> so B1 changes its state to "Down".
> 
> When going to 'exstart' state the following problem occurs:
> 
> B1 "remembers" old rtr-id (which is smaller than B1's) so it assumes
> B2 to be the master.
> B2 by the same rules assumes B1 is the master, so they start infinite
> DBDES ping-pong every RxmitInterval seconds (10.8)
> 
> Patch to fix this behavior attached.
> 
> 
> 




More information about the Bird-users mailing list