]> git.puffer.fish Git - matthieu/frr.git/commitdiff
pimd: Only remove bsr NHT if we actually have tracked something
authorDonald Sharp <sharpd@nvidia.com>
Fri, 28 Jan 2022 16:17:53 +0000 (11:17 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Fri, 4 Feb 2022 15:54:26 +0000 (10:54 -0500)
I'm now seeing in my log file:

2022/01/28 11:20:05 PIM: [Q0PZ7-QBBN3] attempting to delete nonexistent NHT BSR entry 0.0.0.0
2022/01/28 11:20:05 PIM: [Q0PZ7-QBBN3] attempting to delete nonexistent NHT BSR entry 0.0.0.0
2022/01/28 11:20:06 PIM: [Q0PZ7-QBBN3] attempting to delete nonexistent NHT BSR entry 0.0.0.0

When I run pimd.  Looking at the code there are 3 places where pim_bsm.c removes the
NHT BSR tracking.  In 2 of them the code ensures that the address is already setup
in 1 place it is not.  Fix.

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

index 238c19d2cc29f2dafcfbb14acdc05e51460627f7..cd50cdd67823b89939b819e4671ca60401e14883 100644 (file)
@@ -171,7 +171,8 @@ static int pim_on_bs_timer(struct thread *t)
                zlog_debug("%s: Bootstrap Timer expired for scope: %d",
                           __func__, scope->sz_id);
 
-       pim_nht_bsr_del(scope->pim, scope->current_bsr);
+       if (scope->current_bsr.s_addr)
+               pim_nht_bsr_del(scope->pim, scope->current_bsr);
 
        /* Reset scope zone data */
        scope->accept_nofwd_bsm = false;