diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2023-05-02 11:55:34 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-02 11:55:34 -0400 | 
| commit | f7a775a78efec502b21e09344a2ff0e1040e2e91 (patch) | |
| tree | 5f0ba2b9c0784600d7e5ab85b2c0cdf4dd2372ff /pimd/pim_neighbor.c | |
| parent | 99a1ab0b2150ae82f0e831dc37d1b91da763318d (diff) | |
| parent | 1c883aef96013753f5467ba5e5028dee0f0a82c5 (diff) | |
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 3d0ecb1bf4..1cd7cce086 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;  | 
