diff options
author | Donald Sharp <donaldsharp72@gmail.com> | 2023-05-02 17:55:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-02 17:55:34 +0200 |
commit | f7a775a78efec502b21e09344a2ff0e1040e2e91 (patch) | |
tree | 5f0ba2b9c0784600d7e5ab85b2c0cdf4dd2372ff /pimd/pim_neighbor.c | |
parent | Merge pull request #12646 from pguibert6WIND/mpls_alloc_per_nh (diff) | |
parent | pimd: PIM not sending register packets after changing from non DR to DR (diff) | |
download | frr-f7a775a78efec502b21e09344a2ff0e1040e2e91.tar.xz frr-f7a775a78efec502b21e09344a2ff0e1040e2e91.zip |
Merge pull request #13020 from SaiGomathiN/2462808-3
pimd: PIM not sending register packets after changing from non DR to DR
Diffstat (limited to 'pimd/pim_neighbor.c')
-rw-r--r-- | pimd/pim_neighbor.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pimd/pim_neighbor.c b/pimd/pim_neighbor.c index 3d0ecb1bf..1cd7cce08 100644 --- a/pimd/pim_neighbor.c +++ b/pimd/pim_neighbor.c @@ -29,6 +29,7 @@ #include "pim_jp_agg.h" #include "pim_bfd.h" #include "pim_register.h" +#include "pim_oil.h" static void dr_election_by_addr(struct interface *ifp) { @@ -123,9 +124,10 @@ int pim_if_dr_election(struct interface *ifp) pim_if_update_could_assert(ifp); pim_if_update_assert_tracking_desired(ifp); - if (PIM_I_am_DR(pim_ifp)) + if (PIM_I_am_DR(pim_ifp)) { pim_ifp->am_i_dr = true; - else { + pim_clear_nocache_state(pim_ifp); + } else { if (pim_ifp->am_i_dr == true) { pim_reg_del_on_couldreg_fail(ifp); pim_ifp->am_i_dr = false; |