]> git.proxmox.com Git - mirror_frr.git/commit - pimd/pim_upstream.c
pimd: Separate the register and upstream join states on the FHR
authoranuradhak <anuradhak@cumulusnetworks.com>
Wed, 8 Mar 2017 17:29:40 +0000 (09:29 -0800)
committeranuradhak <anuradhak@cumulusnetworks.com>
Fri, 10 Mar 2017 18:48:38 +0000 (10:48 -0800)
commite0e127b00953ba68da8f51c927ca251cea4a3773
tree0654890ac05c988a086cffeb3f448c25fcbcab8a
parent3a58a629c2b92122c018a2901bd9a43b51262622
pimd: Separate the register and upstream join states on the FHR

On the FHR upstream-join-state is not particularly relevant as we
don't need to send upstream JPs for the SG. So that field was being
overloaded with the register-state. However some of the events that
triggered changes to the JoinDesired macro were accidentally overwriting
the state with join info (instead of treating it as register info)
confusing the register state machine.

To make the PIM RFC macros' implemention simple I have separated out
the register-state. And upstream->state now solely describes the
upstream-join-state independent of the role of the PIM router.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-14700
Testing Done: verified pim-register state-machine with separate and
combined FHR/RP routers. Also ran pim-smoke.
pimd/pim_cmd.c
pimd/pim_jp_agg.c
pimd/pim_mroute.c
pimd/pim_register.c
pimd/pim_upstream.c
pimd/pim_upstream.h