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