]> git.puffer.fish Git - mirror/frr.git/commit
pimd: Ensure DR election happens when both sides change prio 3907/head
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 5 Mar 2019 15:29:35 +0000 (10:29 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 5 Mar 2019 15:29:35 +0000 (10:29 -0500)
commit3de708125ec2f2d737bd5e6285a8e6ab23fed094
treea81aef61f1e473e0f6dc3d95307e9647ef4e5020
parent1ac29269cdfee4ed07c0a165329233eecfefe465
pimd: Ensure DR election happens when both sides change prio

Suppose we have 2 routers A and B.  Both Router A and B have
the same priority of 1000.  Router A is the elected DR.
Now suppose B lowers his priority to 1.  He still looses the
DR election and we are not sending a hello with the new priority.
Immediately after this A's priority is also lowered to 1, it
looses the election and sends the hello.  B receives this hello
and elects A as the DR( since it has the better ip address)
At this point A believes B is the DR, and B believes A is the
DR until such time that the normal hello from B is sent to A,
which if timed correctly can be a significant amount of time).

This code just causes a hello to be sent if the priority is
changed.  Now both sides will be able to converge quickly

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_cmd.c